我想用ANTLR构建一个简单的词法分析器对已保留类的字眼特定语言(如果,否则,等)。我通过几个教程去了,能找到定义除保留关键字的所有选项的方式。如何在ANTLR的语法文件中定义保留关键字?定义关键词在ANTLR语法
在此先感谢 Shamika
我想用ANTLR构建一个简单的词法分析器对已保留类的字眼特定语言(如果,否则,等)。我通过几个教程去了,能找到定义除保留关键字的所有选项的方式。如何在ANTLR的语法文件中定义保留关键字?定义关键词在ANTLR语法
在此先感谢 Shamika
This ANTLR 2.0 tutorial讨论如何处理在ANTLR词法分析器的关键字。只需搜索标题为“关键字”的部分即可。
有在页面顶部的基于视频的教程ANTLR 3.0的链接,如果是根据自己的喜好。
规则可能匹配这些关键字之前定义它们。
例如,你必须符合标识符的规则,也就是一个标识符由一个或多个字母,那么你保留if
的关键字应该在你的词法标识符规则之前地方:
grammar T;
// parser rules here
IF
: 'if'
;
IDENTIFIER
: ('a'..'z')+
;
这样,一个if
总会成为IF
令牌,而不是一个IDENTIFIER
。
以为我再也不会找到的教程,谢谢 – 2012-09-29 23:59:03