BB.*_*BB. 8 parsing antlr token lexer antlr3
这个语法有什么区别:
...
if_statement : 'if' condition 'then' statement 'else' statement 'end_if';
...
Run Code Online (Sandbox Code Playgroud)
还有这个:
...
if_statement : IF condition THEN statement ELSE statement END_IF;
...
IF : 'if';
THEN: 'then';
ELSE: 'else';
END_IF: 'end_if';
....
Run Code Online (Sandbox Code Playgroud)
?
如果有任何差异,因为这会影响性能......谢谢
除了Will的答案之外,最好明确定义词法分析器标记(在词法分析器语法中).如果你在解析器语法中混合使用它们,那么词法分析器将令牌标记为什么顺序并不总是很清楚.在明确定义它们时,它们总是按照它们被放入词法分析器语法(从上到下)的顺序进行标记.