使用 antlr 4 解析文件时,如何使解析树节点覆盖所有输入文本



一个简单的例子,这是词法分析器文件:

DIGIT : [0-9];
...

这是解析器:

integer: DIGIT+;
...

当我123解析这样的文本时,它肯定有效。但是当我解析123 456时,它给了我答案123,但我想要的结果是一个标记输入无效的异常。

那么我应该如何使用它呢?

在输入流的末尾生成了一个隐式EOF令牌。使用它来匹配大多数正则表达式语言中的$一样的结尾。

integer: DIGIT+ EOF;

仅当输入看起来像流末尾的一个或多个数字时,上述规则才会匹配。

相关内容

  • 没有找到相关文章

最新更新