每个表达式都有 ANTLR4 NEWLINE 但最后一个是可选的
ANTLR4 NEWLINE at each expression but optional for the last
我正在尝试构建一个简单的应用程序来识别简单的数学表达式,每个表达式都由换行符分隔。一切正常,但我不知道如何在最后一个表达式之后使 NEWLINE 可选。这是我的语法文件的一部分,只有必要的东西:
statements
: statement+ EOF
;
statement
: variableId ASSIGN expression NEWLINE+
;
NEWLINE : '\r'? '\n';
目前最后一个语句必须跟在 NEWLINE 之后。如果使 NEWLINE 可选 (*),那么我可以在同一行插入 2 个语句,这是我不想要的。
提前致谢。
尝试:
statements
: statement (NEWLINE+ statement)* NEWLINE* EOF
;
Statement
: variable ASSIGN expression
;
这种方法使用 NEWLINE
作为分隔符而不是终止符,这似乎正是您要找的。
我正在尝试构建一个简单的应用程序来识别简单的数学表达式,每个表达式都由换行符分隔。一切正常,但我不知道如何在最后一个表达式之后使 NEWLINE 可选。这是我的语法文件的一部分,只有必要的东西:
statements
: statement+ EOF
;
statement
: variableId ASSIGN expression NEWLINE+
;
NEWLINE : '\r'? '\n';
目前最后一个语句必须跟在 NEWLINE 之后。如果使 NEWLINE 可选 (*),那么我可以在同一行插入 2 个语句,这是我不想要的。
提前致谢。
尝试:
statements
: statement (NEWLINE+ statement)* NEWLINE* EOF
;
Statement
: variable ASSIGN expression
;
这种方法使用 NEWLINE
作为分隔符而不是终止符,这似乎正是您要找的。