Sha256: 07fb413616dc2247a1d26e96d32739a2f56daa8cf25ba432421a75de41351c17

Contents?: true

Size: 884 Bytes

Versions: 6

Compression:

Stored size: 884 Bytes

Contents

Ruby Next AST format additions
=======================

### Method reference operator

Format:

~~~
(meth-ref (self) :foo)
"self.:foo"
     ^^ dot
       ^^^ selector
 ^^^^^^^^^ expression
~~~

### "Endless" method

Format:

~~~
(def_e :foo (args) (int 42))
"def foo() = 42"
 ~~~ keyword
     ~~~ name
           ^ assignment
 ~~~~~~~~~~~~~~ expression
~~~


### "Endless" singleton method

Format:

~~~
(defs_e (self) :foo (args) (int 42))
"def self.foo() = 42"
 ~~~ keyword
          ~~~ name
                ^ assignment
 ~~~~~~~~~~~~~~~~~~~ expression
~~~


### Right-hand assignment

Format:

~~~
(rasgn (int 1) (lvasgn :a))
"1 => a"
 ~~~~~~ expression
   ~~ operator
~~~

#### Multiple right-hand assignment

Format:

~~~
(mrasgn (send (int 13) :divmod (int 5)) (mlhs (lvasgn :a) (lvasgn :b)))
"13.divmod(5) => a,b"
 ~~~~~~~~~~~~~~~~~~~ expression
              ^^ operator
~~~

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ruby-next-parser-2.8.0.9 lib/parser/ruby-next/AST_FORMAT.md
ruby-next-parser-2.8.0.8 lib/parser/ruby-next/AST_FORMAT.md
ruby-next-parser-2.8.0.7 lib/parser/ruby-next/AST_FORMAT.md
ruby-next-parser-2.8.0.6 lib/parser/ruby-next/AST_FORMAT.md
ruby-next-parser-2.8.0.5 lib/parser/ruby-next/AST_FORMAT.md
ruby-next-parser-2.8.0.4 lib/parser/ruby-next/AST_FORMAT.md