^ 和 ! 是什么意思?在ANTLR语法中代表

发布于 2024-09-14 08:32:17 字数 40 浏览 5 评论 0原文

我很难弄清楚 ^ 和 ! 是什么意思。代表 ANTLR 语法术语。

I was having difficulty figuring out what does ^ and ! stand for in ANTLR grammar terminology.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

聚集的泪 2024-09-21 08:32:22

查看 ANTLR 备忘单

! 不包含在 AST
^ 制作 AST 根节点

并且 ^ 也可以用于重写规则: ... -> ^(...)。例如,以下两个解析器规则是等效的:

expression
  :  A '+'^ A ';'!
  ;

and:

expression
  :  A '+' A ';' -> ^('+' A A)
  ;

两者都创建以下 AST:

  +
 / \
A   A

换句话说: + 被设为根,两个 A 的其子级,并且 ; 从树中省略。

Have a look at the ANTLR Cheat Sheet:

! don't include in AST
^ make AST root node

And ^ can also be used in rewrite rules: ... -> ^( ... ). For example, the following two parser rules are equivalent:

expression
  :  A '+'^ A ';'!
  ;

and:

expression
  :  A '+' A ';' -> ^('+' A A)
  ;

Both create the following AST:

  +
 / \
A   A

In other words: the + is made as root, the two A's its children, and the ; is omitted from the tree.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文