Antlr4支持语法中的交叉链接?

时间:2015-01-27 12:17:16

标签: parsing antlr antlr4

我正在尝试使用Antlr4

为状态转换语言编写语法

该系统具有一次声明的变量(例如,状态),并且可以在别处引用。

我的问题是: Antlr4是否支持XText 中的交叉引用?

如果Antlr4没有提供此功能,我想一个" easy"这样做的方法是使用一个内存Map来解析令牌并将信息存储在这个Map中?

1 个答案:

答案 0 :(得分:0)

简短的回答是否定的,XText中的交叉引用可以实现一定程度的复杂性,这种复杂性很难在基于EMF的系统之外复制。

但是,在最简单的形式中,交叉引用只需要一个静态符号表。根据您的需要,symbol versioning基于状态遍历可能就足够了。版本控制通常在树步行期间执行。静态符号的初始化可以在基于语法的动作中执行,但最好在解析器而不是词法分析器中完成。