La signification de la plupart des noeuds de mri's syntax tree peut être facilement déduite. Cependant, la liste est assez longue (source: bin/parse_tree_abc):Ruby (MRI) Syntaxe Documentation sur les noeuds d'arbre
: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
Depuis la manipulation AST Python est une bibliothèque intégrée, son documentation is far better. Y a-t-il un endroit où tous les nœuds de l'arbre de syntaxe de l'arbre d'analyse sont documentés?
Bien placé. C'est l'arbre de syntaxe de MRI. Mais le terme, quoique incorrect, exprime plus facilement la notion de ce que je veux dire. Même poste de Ilya Grigorik, et les sites de référence, mentionnent cela comme AST. Mais merci pour la correction bienvenue. Edit: fait amusant: googling pour 'arbre de syntaxe concret' 'ruby' 'donne cette page comme premier résultat, et "JAVA - Boolean Query/Expression à un arbre de syntaxe concret" comme deuxième. Oui, erreur commune. –