0

我想编写一个简单的 CSS 解析器,它将从 css 文件中提取标识符。我有一个语法,我把它编译成 .cs 文件,现在我需要编写 Main 函数。现在我有这样的事情:

var lex = new css21Lexer(new ANTLRStringStream("}"));
var tokens = new CommonTokenStream(lex);

var parser = new css21Parser(tokens);
parser.styleSheet();

但是当我运行程序时,什么也没有发生。由于输入不正确,我预计会出现某种异常。我还尝试将代码添加到某些作品中,但该代码未执行。我如何实际使用生成的解析器?

4

1 回答 1

2

ANTLR 的一大优点是您可以调试生成的解析器代码并在解析时跟随它。所以启动你的调试器。

ANTLR 将跳过无法正确解析的标记并将其报告为错误。它的报告方式取决于reportError()功能,它可能对您的目标语言没有任何作用。在那里也设置一个断点以查看发生了什么。

于 2013-02-11T22:17:26.263 回答