antlr4 无法匹配单个单词。

时间:2021-08-12 04:16:42

标签: parsing antlr antlr4

我是一个新手,正在尝试使用 ANTLR4 构建解析器。然而,我卡在了最基本的步骤 —— 解析单个单词上。

我的语法如下:

grammar test;

program : WORD EOF;

WORD : 'test';

我的输入文件看起来像这样:

test

输入文件只有一行,没有尾随空格。如果我在十六进制编辑器中打开它,它显示为 5 个字节:test<EOF>.

根据我对 ANTLR 的理解,这条规则应该匹配一个 WORD 标记然后一个 EOF 标记,然后停止解析。但是,在解析文件时,我得到了“第 1 行:第 4 列缺少'test'”的错误消息。

我以前使用过 lex/yacc,从未遇到过这样的错误。我知道 ANTLR 的工作方式与之不同,所以我很好奇为什么会遇到这个错误。

0 个答案:

没有答案