xo-reader: distinguish interactive sessions
+ allow top-level i64 literals
This commit is contained in:
parent
2025969068
commit
a12a236bc1
16 changed files with 196 additions and 13 deletions
|
|
@ -59,10 +59,16 @@ namespace xo {
|
|||
* }
|
||||
*
|
||||
* Grammar:
|
||||
* toplevel-program = $expression(1); ..; $expression(n)
|
||||
* toplevel-program = $toplevel-expression(1); ..; $toplevel-expression(n)
|
||||
*
|
||||
* if interactive:
|
||||
* toplevel-expression = expression
|
||||
* else
|
||||
* toplevel-expression = type-decl | define-expr
|
||||
*
|
||||
* type-decl = decltype $typename [<$tp1 .. $tpn>]
|
||||
* expression = define-expr
|
||||
* expression = type-decl
|
||||
* | define-expr
|
||||
* | literal-expr
|
||||
* | variable-expr
|
||||
* | apply-expr
|
||||
|
|
@ -185,6 +191,10 @@ namespace xo {
|
|||
**/
|
||||
bool has_incomplete_expr() const;
|
||||
|
||||
/** put parser into state for beginning an interactive session.
|
||||
**/
|
||||
void begin_interactive_session();
|
||||
|
||||
/** put parser into state for beginning of a translation unit
|
||||
* (i.e. input stream)
|
||||
**/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue