ANN               150 node.c         	ANN("statement sequence");
ANN               151 node.c         	ANN("format: [nd_head]; [nd_next]");
ANN               152 node.c         	ANN("example: foo; bar");
ANN               159 node.c         	ANN("if statement");
ANN               160 node.c         	ANN("format: if [nd_cond] then [nd_body] else [nd_else] end");
ANN               161 node.c         	ANN("example: if x == 1 then foo else bar end");
ANN               169 node.c         	ANN("case statement");
ANN               170 node.c         	ANN("format: case [nd_head]; [nd_body]; end");
ANN               171 node.c         	ANN("example: case x; when 1; foo; when 2; bar; else baz; end");
ANN               178 node.c         	ANN("if statement");
ANN               179 node.c         	ANN("format: when [nd_head]; [nd_body]; (when or else) [nd_next]");
ANN               180 node.c         	ANN("example: case x; when 1; foo; when 2; bar; else baz; end");
ANN               188 node.c         	ANN("wrapper for -n option");
ANN               189 node.c         	ANN("format: ruby -ne '[nd_body]' (nd_cond is `gets')");
ANN               190 node.c         	ANN("example: ruby -ne 'p $_'");
ANN               193 node.c         	ANN("while statement");
ANN               194 node.c         	ANN("format: while [nd_cond]; [nd_body]; end");
ANN               195 node.c         	ANN("example: while x == 1; foo; end");
ANN               198 node.c         	ANN("until statement");
ANN               199 node.c         	ANN("format: until [nd_cond]; [nd_body]; end");
ANN               200 node.c         	ANN("example: until x == 1; foo; end");
ANN               212 node.c         	ANN("method call with block");
ANN               213 node.c         	ANN("format: [nd_iter] { [nd_body] }");
ANN               214 node.c         	ANN("example: 3.times { foo }");
ANN               217 node.c         	ANN("for statement");
ANN               218 node.c         	ANN("format: for * in [nd_iter] do [nd_body] end");
ANN               219 node.c         	ANN("example: for i in 1..3 do foo end");
ANN               227 node.c         	ANN("for statement");
ANN               228 node.c         	ANN("format: break [nd_stts]");
ANN               229 node.c         	ANN("example: break 1");
ANN               232 node.c         	ANN("next statement");
ANN               233 node.c         	ANN("format: next [nd_stts]");
ANN               234 node.c         	ANN("example: next 1");
ANN               237 node.c         	ANN("return statement");
ANN               238 node.c         	ANN("format: return [nd_stts]");
ANN               239 node.c         	ANN("example: return 1");
ANN               246 node.c         	ANN("redo statement");
ANN               247 node.c         	ANN("format: redo");
ANN               248 node.c         	ANN("example: redo");
ANN               252 node.c         	ANN("retry statement");
ANN               253 node.c         	ANN("format: retry");
ANN               254 node.c         	ANN("example: retry");
ANN               258 node.c         	ANN("begin statement");
ANN               259 node.c         	ANN("format: begin; [nd_body]; end");
ANN               260 node.c         	ANN("example: begin; 1; end");
ANN               266 node.c         	ANN("rescue clause");
ANN               267 node.c         	ANN("format: begin; [nd_body]; (rescue) [nd_resq]; else [nd_else]; end");
ANN               268 node.c         	ANN("example: begin; foo; rescue; bar; else; baz; end");
ANN               276 node.c         	ANN("rescue clause (cont'd)");
ANN               277 node.c         	ANN("format: rescue [nd_args]; [nd_body]; (rescue) [nd_head]");
ANN               278 node.c         	ANN("example: begin; foo; rescue; bar; else; baz; end");
ANN               286 node.c         	ANN("ensure clause");
ANN               287 node.c         	ANN("format: begin; [nd_head]; ensure; [nd_ensr]; end");
ANN               288 node.c         	ANN("example: begin; foo; ensure; bar; end");
ANN               295 node.c         	ANN("&& operator");
ANN               296 node.c         	ANN("format: [nd_1st] && [nd_2nd]");
ANN               297 node.c         	ANN("example: foo && bar");
ANN               300 node.c         	ANN("|| operator");
ANN               301 node.c         	ANN("format: [nd_1st] || [nd_2nd]");
ANN               302 node.c         	ANN("example: foo && bar");
ANN               310 node.c         	ANN("multiple assignment");
ANN               311 node.c         	ANN("format: [nd_head], [nd_args] = [nd_value]");
ANN               312 node.c         	ANN("example: a, b = foo");
ANN               325 node.c         	ANN("local variable assignment");
ANN               326 node.c         	ANN("format: [nd_vid](lvar) = [nd_value]");
ANN               327 node.c         	ANN("example: x = foo");
ANN               330 node.c         	ANN("dynamic variable assignment (out of current scope)");
ANN               331 node.c         	ANN("format: [nd_vid](dvar) = [nd_value]");
ANN               332 node.c         	ANN("example: x = nil; 1.times { x = foo }");
ANN               335 node.c         	ANN("dynamic variable assignment (in current scope)");
ANN               336 node.c         	ANN("format: [nd_vid](current dvar) = [nd_value]");
ANN               337 node.c         	ANN("example: 1.times { x = foo }");
ANN               340 node.c         	ANN("instance variable assignment");
ANN               341 node.c         	ANN("format: [nd_vid](ivar) = [nd_value]");
ANN               342 node.c         	ANN("example: @x = foo");
ANN               345 node.c         	ANN("class variable assignment");
ANN               346 node.c         	ANN("format: [nd_vid](cvar) = [nd_value]");
ANN               347 node.c         	ANN("example: @@x = foo");
ANN               360 node.c         	ANN("global variable assignment");
ANN               361 node.c         	ANN("format: [nd_entry](gvar) = [nd_value]");
ANN               362 node.c         	ANN("example: $x = foo");
ANN               369 node.c         	ANN("constant declaration");
ANN               370 node.c         	ANN("format: [nd_else]::[nd_vid](constant) = [nd_value]");
ANN               371 node.c         	ANN("example: X = foo");
ANN               385 node.c         	ANN("array assignment with operator");
ANN               386 node.c         	ANN("format: [nd_value] [ [nd_args->nd_body] ] [nd_vid]= [nd_args->nd_head]");
ANN               387 node.c         	ANN("example: ary[1] += foo");
ANN               396 node.c         	ANN("attr assignment with operator");
ANN               397 node.c         	ANN("format: [nd_value].[attr] [nd_next->nd_mid]= [nd_value]");
ANN               398 node.c         	ANN("          where [attr]: [nd_next->nd_vid]");
ANN               399 node.c         	ANN("example: struct.field += foo");
ANN               417 node.c         	ANN("assignment with && operator");
ANN               418 node.c         	ANN("format: [nd_head] &&= [nd_value]");
ANN               419 node.c         	ANN("example: foo &&= bar");
ANN               422 node.c         	ANN("assignment with || operator");
ANN               423 node.c         	ANN("format: [nd_head] ||= [nd_value]");
ANN               424 node.c         	ANN("example: foo ||= bar");
ANN               432 node.c         	ANN("method invocation");
ANN               433 node.c         	ANN("format: [nd_recv].[nd_mid]([nd_args])");
ANN               434 node.c         	ANN("example: obj.foo(1)");
ANN               442 node.c         	ANN("function call");
ANN               443 node.c         	ANN("format: [nd_mid]([nd_args])");
ANN               444 node.c         	ANN("example: foo(1)");
ANN               451 node.c         	ANN("function call with no argument");
ANN               452 node.c         	ANN("format: [nd_mid]");
ANN               453 node.c         	ANN("example: foo");
ANN               458 node.c         	ANN("safe method invocation");
ANN               459 node.c         	ANN("format: [nd_recv]&.[nd_mid]([nd_args])");
ANN               460 node.c         	ANN("example: obj&.foo(1)");
ANN               468 node.c         	ANN("super invocation");
ANN               469 node.c         	ANN("format: super [nd_args]");
ANN               470 node.c         	ANN("example: super 1");
ANN               476 node.c         	ANN("super invocation with no argument");
ANN               477 node.c         	ANN("format: super");
ANN               478 node.c         	ANN("example: super");
ANN               482 node.c         	ANN("array constructor");
ANN               483 node.c         	ANN("format: [ [nd_head], [nd_next].. ] (length: [nd_alen])");
ANN               484 node.c         	ANN("example: [1, 2, 3]");
ANN               487 node.c         	ANN("return arguments");
ANN               488 node.c         	ANN("format: [ [nd_head], [nd_next].. ] (length: [nd_alen])");
ANN               489 node.c         	ANN("example: return 1, 2, 3");
ANN               498 node.c         	ANN("empty array constructor");
ANN               499 node.c         	ANN("format: []");
ANN               500 node.c         	ANN("example: []");
ANN               504 node.c         	ANN("hash constructor");
ANN               505 node.c         	ANN("format: { [nd_head] }");
ANN               506 node.c         	ANN("example: { 1 => 2, 3 => 4 }");
ANN               512 node.c         	ANN("yield invocation");
ANN               513 node.c         	ANN("format: yield [nd_head]");
ANN               514 node.c         	ANN("example: yield 1");
ANN               520 node.c         	ANN("local variable reference");
ANN               521 node.c         	ANN("format: [nd_vid](lvar)");
ANN               522 node.c         	ANN("example: x");
ANN               525 node.c         	ANN("dynamic variable reference");
ANN               526 node.c         	ANN("format: [nd_vid](dvar)");
ANN               527 node.c         	ANN("example: 1.times { x = 1; x }");
ANN               530 node.c         	ANN("instance variable reference");
ANN               531 node.c         	ANN("format: [nd_vid](ivar)");
ANN               532 node.c         	ANN("example: @x");
ANN               535 node.c         	ANN("constant reference");
ANN               536 node.c         	ANN("format: [nd_vid](constant)");
ANN               537 node.c         	ANN("example: X");
ANN               540 node.c         	ANN("class variable reference");
ANN               541 node.c         	ANN("format: [nd_vid](cvar)");
ANN               542 node.c         	ANN("example: @@x");
ANN               548 node.c         	ANN("global variable reference");
ANN               549 node.c         	ANN("format: [nd_entry](gvar)");
ANN               550 node.c         	ANN("example: $x");
ANN               555 node.c         	ANN("nth special variable reference");
ANN               556 node.c         	ANN("format: $[nd_nth]");
ANN               557 node.c         	ANN("example: $1, $2, ..");
ANN               562 node.c         	ANN("back special variable reference");
ANN               563 node.c         	ANN("format: $[nd_nth]");
ANN               564 node.c         	ANN("example: $&, $`, $', $+");
ANN               575 node.c         	ANN("match expression (against $_ implicitly)");
ANN               576 node.c                 ANN("format: [nd_lit] (in condition)");
ANN               577 node.c         	ANN("example: if /foo/; foo; end");
ANN               582 node.c         	ANN("match expression (regexp first)");
ANN               583 node.c                 ANN("format: [nd_recv] =~ [nd_value]");
ANN               584 node.c         	ANN("example: /foo/ =~ 'foo'");
ANN               595 node.c         	ANN("match expression (regexp second)");
ANN               596 node.c                 ANN("format: [nd_recv] =~ [nd_value]");
ANN               597 node.c         	ANN("example: 'foo' =~ /foo/");
ANN               604 node.c         	ANN("literal");
ANN               605 node.c         	ANN("format: [nd_lit]");
ANN               606 node.c         	ANN("example: 1, /foo/");
ANN               609 node.c         	ANN("string literal");
ANN               610 node.c         	ANN("format: [nd_lit]");
ANN               611 node.c         	ANN("example: 'foo'");
ANN               614 node.c         	ANN("xstring literal");
ANN               615 node.c         	ANN("format: [nd_lit]");
ANN               616 node.c         	ANN("example: `foo`");
ANN               622 node.c         	ANN("string literal with interpolation");
ANN               623 node.c         	ANN("format: [nd_lit]");
ANN               624 node.c         	ANN("example: \"foo#{ bar }baz\"");
ANN               627 node.c         	ANN("xstring literal with interpolation");
ANN               628 node.c         	ANN("format: [nd_lit]");
ANN               629 node.c         	ANN("example: `foo#{ bar }baz`");
ANN               632 node.c         	ANN("regexp literal with interpolation");
ANN               633 node.c         	ANN("format: [nd_lit]");
ANN               634 node.c         	ANN("example: /foo#{ bar }baz/");
ANN               637 node.c         	ANN("regexp literal with interpolation and once flag");
ANN               638 node.c         	ANN("format: [nd_lit]");
ANN               639 node.c         	ANN("example: /foo#{ bar }baz/o");
ANN               642 node.c         	ANN("symbol literal with interpolation");
ANN               643 node.c         	ANN("format: [nd_lit]");
ANN               644 node.c         	ANN("example: :\"foo#{ bar }baz\"");
ANN               653 node.c         	ANN("interpolation expression");
ANN               654 node.c         	ANN("format: \"..#{ [nd_lit] }..\"");
ANN               655 node.c         	ANN("example: \"foo#{ bar }baz\"");
ANN               661 node.c         	ANN("splat argument following arguments");
ANN               662 node.c         	ANN("format: ..(*[nd_head], [nd_body..])");
ANN               663 node.c         	ANN("example: foo(*ary, post_arg1, post_arg2)");
ANN               670 node.c         	ANN("splat argument following one argument");
ANN               671 node.c         	ANN("format: ..(*[nd_head], [nd_body])");
ANN               672 node.c         	ANN("example: foo(*ary, post_arg)");
ANN               679 node.c         	ANN("splat argument");
ANN               680 node.c         	ANN("format: *[nd_head]");
ANN               681 node.c         	ANN("example: foo(*ary)");
ANN               687 node.c         	ANN("arguments with block argument");
ANN               688 node.c         	ANN("format: ..([nd_head], &[nd_body])");
ANN               689 node.c         	ANN("example: foo(x, &blk)");
ANN               696 node.c         	ANN("method definition");
ANN               697 node.c         	ANN("format: def [nd_mid] [nd_defn]; end");
ANN               698 node.c         	ANN("example; def foo; bar; end");
ANN               705 node.c         	ANN("singleton method definition");
ANN               706 node.c         	ANN("format: def [nd_recv].[nd_mid] [nd_defn]; end");
ANN               707 node.c         	ANN("example; def obj.foo; bar; end");
ANN               715 node.c         	ANN("method alias statement");
ANN               716 node.c         	ANN("format: alias [u1.node] [u2.node]");
ANN               717 node.c         	ANN("example: alias bar foo");
ANN               724 node.c         	ANN("global variable alias statement");
ANN               725 node.c         	ANN("format: alias [u1.id](gvar) [u2.id](gvar)");
ANN               726 node.c         	ANN("example: alias $y $x");
ANN               732 node.c         	ANN("method alias statement");
ANN               733 node.c         	ANN("format: undef [u2.node]");
ANN               734 node.c         	ANN("example: undef foo");
ANN               740 node.c         	ANN("class definition");
ANN               741 node.c         	ANN("format: class [nd_cpath] < [nd_super]; [nd_body]; end");
ANN               742 node.c         	ANN("example: class C2 < C; ..; end");
ANN               750 node.c         	ANN("module definition");
ANN               751 node.c         	ANN("format: module [nd_cpath]; [nd_body]; end");
ANN               752 node.c         	ANN("example: module M; ..; end");
ANN               759 node.c         	ANN("singleton class definition");
ANN               760 node.c         	ANN("format: class << [nd_recv]; [nd_body]; end");
ANN               761 node.c         	ANN("example: class << obj; ..; end");
ANN               768 node.c         	ANN("scoped constant reference");
ANN               769 node.c         	ANN("format: [nd_head]::[nd_mid]");
ANN               770 node.c         	ANN("example: M::C");
ANN               777 node.c         	ANN("top-level constant reference");
ANN               778 node.c         	ANN("format: ::[nd_mid]");
ANN               779 node.c         	ANN("example: ::Object");
ANN               784 node.c         	ANN("range constructor (incl.)");
ANN               785 node.c         	ANN("format: [nd_beg]..[nd_end]");
ANN               786 node.c         	ANN("example: 1..5");
ANN               789 node.c         	ANN("range constructor (excl.)");
ANN               790 node.c         	ANN("format: [nd_beg]...[nd_end]");
ANN               791 node.c         	ANN("example: 1...5");
ANN               794 node.c         	ANN("flip-flop condition (incl.)");
ANN               795 node.c         	ANN("format: [nd_beg]..[nd_end]");
ANN               796 node.c         	ANN("example: if (x==1)..(x==5); foo; end");
ANN               799 node.c         	ANN("flip-flop condition (excl.)");
ANN               800 node.c         	ANN("format: [nd_beg]...[nd_end]");
ANN               801 node.c         	ANN("example: if (x==1)...(x==5); foo; end");
ANN               809 node.c         	ANN("self");
ANN               810 node.c         	ANN("format: self");
ANN               811 node.c         	ANN("example: self");
ANN               815 node.c         	ANN("nil");
ANN               816 node.c         	ANN("format: nil");
ANN               817 node.c         	ANN("example: nil");
ANN               821 node.c         	ANN("true");
ANN               822 node.c         	ANN("format: true");
ANN               823 node.c         	ANN("example: true");
ANN               827 node.c         	ANN("false");
ANN               828 node.c         	ANN("format: false");
ANN               829 node.c         	ANN("example: false");
ANN               833 node.c         	ANN("virtual reference to $!");
ANN               834 node.c         	ANN("format: rescue => id");
ANN               835 node.c         	ANN("example: rescue => id");
ANN               839 node.c         	ANN("defined? expression");
ANN               840 node.c         	ANN("format: defined?([nd_head])");
ANN               841 node.c         	ANN("example: defined?(foo)");
ANN               846 node.c         	ANN("post-execution");
ANN               847 node.c         	ANN("format: END { [nd_body] }");
ANN               848 node.c         	ANN("example: END { foo }");
ANN               854 node.c         	ANN("attr assignment");
ANN               855 node.c         	ANN("format: [nd_recv].[nd_mid] = [nd_args]");
ANN               856 node.c         	ANN("example: struct.field = foo");
ANN               869 node.c         	ANN("pre-execution");
ANN               870 node.c         	ANN("format: BEGIN { [nd_head] }; [nd_body]");
ANN               871 node.c         	ANN("example: bar; BEGIN { foo }");
ANN               883 node.c         	ANN("lambda expression");
ANN               884 node.c         	ANN("format: -> [nd_body]");
ANN               885 node.c         	ANN("example: -> { foo }");
ANN               891 node.c         	ANN("optional arguments");
ANN               892 node.c         	ANN("format: def method_name([nd_body=some], [nd_next..])");
ANN               893 node.c         	ANN("example: def foo(a, b=1, c); end");
ANN               900 node.c         	ANN("keyword arguments");
ANN               901 node.c         	ANN("format: def method_name([nd_body=some], [nd_next..])");
ANN               902 node.c         	ANN("example: def foo(a:1, b:2); end");
ANN               909 node.c         	ANN("post arguments");
ANN               910 node.c         	ANN("format: *[nd_1st], [nd_2nd..] = ..");
ANN               911 node.c         	ANN("example: a, *rest, z = foo");
ANN               923 node.c         	ANN("method parameters");
ANN               924 node.c         	ANN("format: def method_name(.., [nd_opt=some], *[nd_rest], [nd_pid], .., &[nd_body])");
ANN               925 node.c         	ANN("example: def foo(a, b, opt1=1, opt2=2, *rest, y, z, &blk); end");
ANN               940 node.c         	ANN("new scope");
ANN               941 node.c         	ANN("format: [nd_tbl]: local table, [nd_args]: arguments, [nd_body]: body");