parsing - ANTLR语法: parser- and lexer literals

标签 parsing antlr token lexer antlr3

这种语法之间有什么区别:

...
if_statement : 'if' condition 'then' statement 'else' statement 'end_if';
... 

和这个:
...
if_statement : IF condition THEN statement ELSE statement END_IF;
...

IF : 'if';
THEN: 'then';
ELSE: 'else';
END_IF: 'end_if';
....



如果存在任何差异,因为这会影响性能...
谢谢

最佳答案

除了Will的答案外,最好明确地(在词法分析器语法中)定义词法分析器标记。如果您要在解析器语法中混合使用它们,则始终不清楚词法分析器以何种顺序对标记进行标记。当明确定义它们时,它们总是按照在词法分析器语法中放置的顺序(从上到下)进行标记。

关于parsing - ANTLR语法: parser- and lexer literals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2498213/

相关文章:

Python CSV 解析,转义引号字符

java - antlr 标识符名称与预定义函数名称相同导致 MismatchedTokenException

Javascript:解析一个txt文件,将数据传递给一个数组

Android Html 到 TextView

python - 使用正则表达式解析日志时不断收到 `NoneType` 错误

regex - 用于 C 风格注释的 ANTLR 词法分析器

c++ - Antlr cpp运行时是否有不良的指针转换?

http - 无状态Web应用程序,城市传奇?

angular - 在 Angular 4 中处理来自 Api 的过期 token

security - 在整个 session 中使用相同的 CSRF token 是否可以接受?