xo-reader: integer arithmetic + parser + pretty-printing adds
This commit is contained in:
parent
75b74918b7
commit
8d5a9c825f
25 changed files with 408 additions and 26 deletions
|
|
@ -152,8 +152,7 @@ namespace xo {
|
|||
{
|
||||
using xo::ast::Constant;
|
||||
|
||||
constexpr bool c_debug_flag = true;
|
||||
scope log(XO_DEBUG(c_debug_flag));
|
||||
scope log(XO_DEBUG(p_psm->debug_flag()));
|
||||
|
||||
constexpr const char * c_self_name = "exprseq_xs::on_i64_token";
|
||||
|
||||
|
|
@ -173,6 +172,32 @@ namespace xo {
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
exprseq_xs::on_f64_token(const token_type & tk,
|
||||
parserstatemachine * p_psm)
|
||||
{
|
||||
using xo::ast::Constant;
|
||||
|
||||
scope log(XO_DEBUG(p_psm->debug_flag()));
|
||||
|
||||
constexpr const char * c_self_name = "exprseq_xs::on_i64_token";
|
||||
|
||||
if (xseqtype_ == exprseqtype::toplevel_interactive)
|
||||
{
|
||||
progress_xs::start(Constant<double>::make(tk.f64_value()), p_psm);
|
||||
} else {
|
||||
/* policy: don't allow literals as toplevel expressions
|
||||
* unless interactive session.
|
||||
*/
|
||||
const char * exp = get_expect_str();
|
||||
|
||||
this->illegal_input_on_token(c_self_name,
|
||||
tk,
|
||||
exp,
|
||||
p_psm);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
exprseq_xs::on_typedescr(TypeDescr /*td*/,
|
||||
parserstatemachine * /*p_psm*/)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue