这种语法之间有什么区别:
...
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/