ANTLR4 ATN中原子跃迁、Set跃迁和Epsilon跃迁有什么区别?在网上找不到任何定义。
发布于 2020-08-02 15:44:25
你不会找到任何定义,因为这是一个内部细节,对大多数人来说都不感兴趣。
ATN步行算法处理时,多采用不同的过渡类型来表示匹配条件。其中有10人:
[a-zA-Z]。只在雷克萨斯上使用。下面是一些转换的示例:

这是规则的ATN:LETTER: [a-zA-Z] '$';。它从ATN状态1开始,并有一个单epsilon过渡到第一个基本状态。其中一个有一个输出集,转换到另一个基本状态。从那里开始,原子转换到另一个中间状态,然后从那里到规则结束。
对于这个和更多的可视化、语法调试和ANTLR4语言支持,请安装我的ANTLR4的vscode扩展 (前提是您使用visualizations作为语法编辑器)。
https://stackoverflow.com/questions/63216028
复制相似问题