如何区分关键字和普通标示符号

大部分语言都提供了标示符号的词法规则,而关键字是特殊的标示符号,一个典型的标示符号的词法规则如下 ID : LETTER (LETTER | DIGIT)*; 但是按照上面的词法规则,没办法区分标示符号和关键字,Antlr允许我们创建一个关键字哈希表来解决这个问题。通常来说,当我们在文法中输入用双引号标示的关键字的时候,antlr生成代码时会自动创建相应的关键字哈希表。另外,我们也可以编辑一个输入符号的文本文件来定义符号表,比如 SQL2RW_add="add"=40 SQL2RW_all="all"=58 SQL2RW_alter="alter"=59 SQL2RW_and="and"=61 SQL2RW_as="as"=64