【发布时间】:2020-08-02 12:31:24
【问题描述】:
ANTLR4 ATN 中的 Atom Transition、Set Transition 和 Epsilon Transition 有什么区别?在网上找不到任何定义。
【问题讨论】:
标签: antlr4
ANTLR4 ATN 中的 Atom Transition、Set Transition 和 Epsilon Transition 有什么区别?在网上找不到任何定义。
【问题讨论】:
标签: antlr4
您不会找到任何定义,因为这是大多数人不感兴趣的内部细节。
不同的转换类型主要用于指示 ATN 行走算法处理它们时要匹配的条件。其中有 10 个:
[a-zA-Z]。仅在词法分析器中使用。以下是一些转换的示例:
这是规则的 ATN:LETTER: [a-zA-Z] '$';。它从 ATN 状态 1 开始,并有一个单一的 epsilon 转换到第一个基本状态。那个有一个传出 Set 转换到另一个基本状态。从那里,一个 Atom 转换到另一个中间状态,然后从那里到规则结束。
为此以及更多可视化、语法调试和 ANTLR4 语言支持安装我的vscode extension for ANTLR4(前提是您使用 Visual Studio Code 作为语法编辑器)。
【讨论】: