- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 ANTLR4 语法中有 2 个简单的词法分析器规则:
fragment Attrs : '.' ARCH;
fragment ARCH : 'IA32' | 'X64' | 'IPF' | 'EBC' | 'common';
用ANTLR4.7生成的ATN是这样的(Visual Studio Code):
最佳答案
图像中的 ATN 图表示单个规则,由解析器生成器生成的 ATN 状态组成。这些对于想要编写以某种方式使用 ATN 的代码的开发人员来说最有趣(例如用于代码完成)。通常您的语法工作不需要这些信息。当您更改语法中的某些内容(用于微调语法)时,查看 ATN 图如何变化也可能会派上用场。
您在图像中看到的是 ATN 状态的圆圈,带有它们的唯一 ID(没有 2 个状态共享相同的状态编号)以及指示状态类型(规则开始/结束状态、基本状态等)的标签。您可以通过将鼠标悬停在某个状态上直到获得工具提示来获取更多信息。圆角矩形描述了此规则调用的规则。
大多数状态通过转换连接,转换描述了解析器在执行此状态机时必须走的方向。可以在不消耗输入的情况下执行转换(然后称为 epsilon 转换,由那个小 epsilon 符号标记)或需要某些输入才能匹配(在 ATN 中表示为 label
,也附在图形图像)。
关于antlr - 如何理解为ANTLR语法生成的ATN图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45473333/
令我惊讶的是,ANTLR 网站或任何文档中都没有对此进行解释,但是 ATN(不是 ANT)代表什么?知道缩写词代表什么将有助于我理解 ATN 的作用, ATNSimulator等库的组件。谁能帮我解决
我试图了解如何使用 ParseTreePattern为了从我的输入中获取特定元素。所以首先我尝试了以下方法: ParseTreePattern p = parser.compileParseTree
Atn 函数 返回数值的反正切值。 Atn(number) number 参数可以是任意有效的数值表达式。 说明 Atn 函数计算直角三角形两个边的比值 (number) 并返回对应角的弧
我有一个非常烦人的问题。 var Scriptfile = new File($.fileName); var basePath = Scriptfile.path; var topFolder =
antlr4.5,目标Java,jdk1.6。 我编译了一个.g4组合文件,并得到了这个错误: Exception in thread "main" java.lang.UnsupportedOper
当尝试使用生成的语法和词法分析器时,我得到: org.antlr.v4.runtime.atn.ATN; Could not deserialize ATN with version 2 (expec
我目前正在将程序从 QBasic 翻译为 VB.Net,我有这行代码: RSA = 270 + 180 / PI * (ATN(ABS(X(Z, 2) / X(Z, 1)))) 我翻译成 RSA =
When trying to import pytorch_lightning尝试导入pytorch_lightning时 import pytorch_lightning as pl I
我是一名优秀的程序员,十分优秀!