首页 > 解决方案 > ANTLR 4 未能识别 '..' 标记以支持两个 '.'

问题描述

输入此输入(片段)时:

X,Y : ARRAY [0..3] OF CARDINAL;

通过应用这个 ANTLR 4 语法(它是这个m2pim4.g4 文件的一部分,代表 Modula-2 语法):

subrangeType
   : '[' constExpression '..' constExpression ']'
   ;

我收到这个 antlr 解析器错误:

不匹配的输入“。” 期待'..'

显然,词法分析器无法识别..as 标记,而是产生标记

[
0.
.
3
]

我可以改进语法,还是必须以某种方式自定义词法分析器?

我在 .NET 5.0 类库中使用 NuGet 包 Antlr4 (4.6.6) 作为 ANTLR 4 解析器生成器的 C# 目标。

标签: c#antlr4

解决方案


推荐阅读