首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby (MRI)语法树节点文档

Ruby (MRI)语法树节点文档
EN

Stack Overflow用户
提问于 2010-09-30 05:25:37
回答 1查看 448关注 0票数 1

可以很容易地推断出mri's syntax tree中大多数节点的含义。然而,这个列表相当长(来源:bin/parse_tree_abc):

代码语言:javascript
复制
:attrasgn, :attrset, :dasgn_curr, :iasgn, :lasgn, :masgn,
:and, :case, :else, :if, :iter, :or, :rescue, :until, :when, :while,
:call, :fcall, :super, :vcall, :yield,
:args, :argscat, :array, :begin, :block, :block_arg, :block_pass, :bool,
:cfunc, :colon2, :const, :cvar, :defined, :defn, :dregx, :dstr, :dvar,
:dxstr, :ensure, :false, :fbody, :gvar, :hash, :ivar, :lit, :long, :lvar,
:match2, :match3, :nil, :not, :nth_ref, :return, :scope, :self, :str,
:splat, :to_ary, :true, :unknown, :value, :void, :zarray, :zarray,
:zclass, :zsuper

因为Python的AST操作是一个内置库,所以它的documentation is far better。有没有一个地方可以记录解析树语法树中的所有节点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-30 06:00:55

没有Ruby AST这样的东西,因此也没有相关的文档。每个实现都有自己的AST,可能有也可能没有记录。

此外,您讨论的不是抽象语法树,而是解析树(也称为具体语法树),根据定义,它与用于构造它的特定解析器紧密相关。不同的解析器可能会为相同的代码和相同的语法构造非常不同的解析树。

您在那里显示的内容看起来像来自MRI或YARV的解析树,这两种解析树都是出了名的糟糕的文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3825988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档