Java 在ANTLR语法中定义关键字

Java 在ANTLR语法中定义关键字,java,compiler-construction,antlr,Java,Compiler Construction,Antlr,我想为一种特定的语言构建一个简单的词法分析器,该语言使用ANTLR保留单词(if、else等)。我阅读了一些教程,找到了定义除保留关键字外的所有选项的方法。如何在ANTLR的语法文件中定义保留关键字 提前谢谢 Shamika在可能匹配这些关键字的规则之前定义它们 例如,您有一个与标识符匹配的规则,其中标识符由一个或多个字母组成,则保留的if关键字应放在lexer中标识符规则之前: grammar T; // parser rules here IF : 'if' ; IDENTI

我想为一种特定的语言构建一个简单的词法分析器,该语言使用ANTLR保留单词(if、else等)。我阅读了一些教程,找到了定义除保留关键字外的所有选项的方法。如何在ANTLR的语法文件中定义保留关键字

提前谢谢
Shamika在可能匹配这些关键字的规则之前定义它们

例如,您有一个与标识符匹配的规则,其中标识符由一个或多个字母组成,则保留的
if
关键字应放在lexer中标识符规则之前:

grammar T;

// parser rules here

IF
  :  'if'
  ;

IDENTIFIER
  :  ('a'..'z')+
  ;
这样,
if
将始终成为
if
标记,而不是
标识符