我是ANTLR的初学者,我有它的创作者的2本书,我正在阅读很多博客/论坛帖子,但似乎我现在还没有理解。
我能找到的只是语法代码,以及树语法代码,但我无法理解控制流是如何完成的。
因为我认为我不能把你的问题清楚地告诉你,让我这样说:
你能告诉我传递给解析器的所有必要代码吗
for (i=0; i!=3; i=i+1) {
if (i==2) print i;
else print "not 2";
}
将输出:
not 2
not 2
2
最好是Java。
编辑:我在code.google.com上发现了一个使用ANTLR的小项目,基于此我理解我的问题有多愚蠢! :)
答案 0 :(得分:2)
作为扫描器/解析器,Antlr只实现我们称之为编译器的前端。 Antlr的任务是采用自由格式文本并将其转换为一个易于程序(特别是编译器后端)使用的数据结构。
写这个编译器后端(或解释器,或其他)仍然是你的工作,我害怕!