[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, upstream, updated. 2.6.5-303-gfcfa26a

Brice Figureau brice-puppet at daysofwonder.com
Thu Mar 17 10:46:12 UTC 2011


The following commit has been merged in the upstream branch:
commit c373b6272ddd4daabf15d1b459ef3e86072e3f26
Author: Brice Figureau <brice-puppet at daysofwonder.com>
Date:   Sat Feb 12 16:58:20 2011 +0100

    Fix #6269 - Hashes only work with two levels of access
    
    The following manifest was failing:
      $hash = { 'a' => { 'b' => { 'c' => 'it works' } } }
      $out = $hash['a']['b']['c']
    
    because of a typo in the grammar.
    
    Signed-off-by: Brice Figureau <brice-puppet at daysofwonder.com>

diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra
index 7a316d4..b7e5272 100644
--- a/lib/puppet/parser/grammar.ra
+++ b/lib/puppet/parser/grammar.ra
@@ -844,7 +844,7 @@ hasharrayaccess: VARIABLE LBRACK rvalue RBRACK {
 }
 
 hasharrayaccesses:    hasharrayaccess
-  | hasharrayaccess LBRACK rvalue RBRACK {
+  | hasharrayaccesses LBRACK rvalue RBRACK {
     result = ast AST::HashOrArrayAccess, :variable => val[0], :key => val[2]
 }
 
diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb
index 5be9e5a..3c0910d 100644
--- a/lib/puppet/parser/parser.rb
+++ b/lib/puppet/parser/parser.rb
@@ -13,9 +13,9 @@ require 'puppet/parser/lexer'
 require 'puppet/parser/ast'
 
 module Puppet
-    class ParseError < Puppet::Error; end
-    class ImportError < Racc::ParseError; end
-    class AlreadyImportedError < ImportError; end
+  class ParseError < Puppet::Error; end
+  class ImportError < Racc::ParseError; end
+  class AlreadyImportedError < ImportError; end
 end
 
 
@@ -25,7 +25,7 @@ module Puppet
 
     class Parser < Racc::Parser
 
-module_eval <<'..end grammar.ra modeval..id7145220b1b', 'grammar.ra', 876
+module_eval <<'..end grammar.ra modeval..id6e24f09658', 'grammar.ra', 865
 
 # It got too annoying having code in a file that needs to be compiled.
 require 'puppet/parser/parser_support'
@@ -37,7 +37,7 @@ require 'puppet/parser/parser_support'
 
 # $Id$
 
-..end grammar.ra modeval..id7145220b1b
+..end grammar.ra modeval..id6e24f09658
 
 ##### racc 1.4.5 generates ###
 
@@ -281,77 +281,53 @@ racc_reduce_n = 233
 racc_shift_n = 384
 
 racc_action_table = [
-   256,   257,   228,    82,    54,    72,    75,   181,   251,    48,
+   256,   257,   228,    82,    54,    72,    75,   308,   251,    48,
     72,    75,   194,   205,   210,   163,   156,   348,    46,    47,
-   344,   184,   201,   203,   206,   209,   162,   352,    54,   182,
-   351,   169,    54,  -168,    72,    75,   241,   242,   102,   305,
-   106,   158,    58,   193,   230,    60,   204,   208,   193,   306,
+   309,   184,   201,   203,   206,   209,   162,   352,    54,   182,
+   351,   169,    54,  -168,    72,    75,   241,   242,   102,   117,
+   106,   158,    58,   193,   230,    60,   204,   208,   193,  -170,
    213,   196,   197,   198,   200,   202,    97,   207,   211,    72,
-    75,    72,    75,   163,   199,    59,    58,    71,   245,    60,
-    58,    83,    86,    60,   162,    92,   244,    72,    75,   169,
+    75,    72,    75,   163,   199,    59,    58,    71,   355,    60,
+    58,    83,    86,    60,   162,    92,   356,    72,    75,   169,
     78,   100,   352,   269,    89,   351,    63,    94,    64,    59,
-   228,   326,    71,    59,   162,    59,    83,    86,    83,   268,
-    92,    65,    92,   184,    76,    78,   307,   137,   163,    89,
+   181,   326,    71,    59,   162,    59,    83,    86,    83,   268,
+    92,    65,    92,   344,    76,    78,   305,   137,   163,    89,
    162,    89,    72,    75,    83,   268,   241,   242,    92,   162,
-    59,   163,    59,   137,   169,    62,   254,    89,   207,   211,
-    72,    75,   162,   308,   102,   199,   106,   169,    59,   255,
-   213,   196,   197,   198,  -166,   162,   309,   207,   211,    83,
-   268,   310,    97,    92,   199,    72,    75,   355,   137,   102,
-  -170,   106,    89,    71,   218,   356,   173,    83,    86,   220,
-   313,    92,  -171,    59,    72,    75,    78,   100,    37,   218,
-    89,   249,    38,    94,   220,   246,   247,   173,    71,    11,
-   210,    59,    83,    86,   246,   367,    92,   271,   201,    37,
-  -167,    78,    37,    38,   270,    89,    38,    71,   246,   247,
-    11,    83,    86,    11,    14,    92,    59,    72,    75,    76,
-    78,   102,   278,   106,    89,   277,   213,   196,   197,   198,
-   200,   202,   275,   207,   211,    59,   246,   274,   152,    97,
-   199,    37,   318,    72,    75,   127,   319,   102,  -169,   106,
-    71,    63,    11,    14,    83,    86,  -167,    37,    92,   207,
-   211,   127,  -169,    78,   100,    97,   199,    89,    11,    14,
-    94,  -166,   117,    72,    75,  -185,    71,    82,    59,   336,
-    83,    86,   197,   198,    92,   231,   338,   207,   211,    78,
-   100,   181,    48,    89,   199,    74,    94,   240,  -168,    72,
-    75,   241,   242,   102,    59,   106,    71,   184,   176,    37,
-    83,    86,    59,    38,    92,   345,   322,   175,    76,    78,
-    11,    97,  -172,    89,  -171,    72,    75,  -170,    59,   102,
-   214,   106,    71,    64,    59,   215,    83,    86,   173,   217,
-    92,   -23,   -23,   -23,   -23,    78,   100,    97,   155,    89,
-    72,    75,    94,   122,   102,   152,   106,    82,    71,   223,
-    59,   122,    83,    86,    72,    75,    92,  -168,   102,   225,
-   106,    78,   100,  -166,   276,    89,   226,   117,    94,    44,
-    45,    41,    42,    71,  -169,  -167,    59,    83,    86,    72,
-    75,    92,   226,   102,   229,   106,    78,    71,    52,  -168,
-    89,    83,    86,    72,    75,    92,  -166,   102,  -169,   106,
-    78,    59,   197,   198,    89,  -167,  -171,   207,   211,   365,
-   231,   152,    71,   234,   199,    59,    83,    86,    50,   210,
-    92,   -21,   -21,   -21,   -21,    78,    71,   201,   372,    89,
-    83,    86,    49,   374,    92,    72,    75,   228,  -220,    78,
-    59,   226,   354,    89,   377,    72,    75,    40,    39,   102,
-   237,   106,   341,   nil,    59,   213,   196,   197,   198,   200,
-   202,   nil,   207,   211,   nil,   nil,   nil,    97,   162,   199,
-   nil,   nil,    83,   268,   nil,   nil,    92,   nil,    71,   nil,
-   nil,   137,    83,    86,   nil,    89,    92,    44,    45,    41,
-    42,    78,   100,    72,    75,    89,    59,   102,    94,   106,
-   213,   196,   197,   198,   200,   202,    59,   207,   211,   nil,
-   213,   196,   197,   198,   199,    97,   nil,   207,   211,    72,
-    75,   nil,   nil,   102,   199,   106,    71,   nil,   nil,   nil,
-    83,    86,   nil,   nil,    92,   nil,   nil,   nil,   nil,    78,
-   100,    97,   nil,    89,   nil,   nil,    94,   nil,   nil,    72,
-    75,   nil,    71,   102,    59,   106,    83,    86,   nil,   nil,
-    92,   nil,   nil,   nil,   nil,    78,   100,   nil,   nil,    89,
-   nil,    97,    94,   nil,   nil,    72,    75,   nil,   nil,   102,
-    59,   106,    71,   nil,   nil,   nil,    83,    86,   nil,   nil,
-    92,   nil,   nil,   nil,   nil,    78,   100,    97,   nil,    89,
-    72,    75,    94,   nil,   102,   nil,   106,   nil,    71,   nil,
-    59,   nil,    83,    86,    72,    75,    92,   nil,   102,   nil,
-   nil,    78,   100,   nil,   nil,    89,   nil,   nil,    94,   nil,
-   nil,   nil,   nil,    71,   nil,   nil,    59,    83,    86,    72,
-    75,    92,   nil,   102,   nil,   106,    78,    71,   nil,   nil,
-    89,    83,   143,   nil,   nil,    92,   nil,   nil,   nil,   nil,
-   137,    59,   nil,   nil,    89,    72,    75,   nil,   nil,   102,
-   nil,   106,    71,   nil,   nil,    59,    83,    86,   nil,   nil,
-    92,   nil,   nil,   nil,   nil,    78,   nil,    97,   nil,    89,
-   nil,    72,    75,   nil,   nil,   102,   nil,   106,    71,   nil,
+    59,   163,    59,   137,   169,    62,   228,    89,   207,   211,
+    72,    75,   162,   254,   102,   199,   106,   169,    59,   184,
+   213,   196,   197,   198,   306,   162,   255,   207,   211,    83,
+   268,   307,    97,    92,   199,    72,    75,   245,   137,   102,
+  -166,   106,    89,    71,   218,   244,   310,    83,    86,   220,
+  -171,    92,   173,    59,    72,    75,    78,   100,    37,   218,
+    89,   275,   127,    94,   220,   246,   274,   313,    71,    11,
+    14,    59,    83,    86,   246,   367,    92,   271,    37,    72,
+    75,    78,   127,  -167,   173,    89,   354,    71,    63,    11,
+    14,    83,    86,   152,   318,    92,    59,    72,    75,    76,
+    78,   102,    37,   106,    89,   270,    38,    37,   319,   246,
+   247,    38,   162,    11,    14,    59,    83,   268,    11,    97,
+    92,    59,    37,    72,    75,   137,    38,    82,   278,    89,
+    71,   277,   240,    11,    83,    86,   241,   242,    92,  -169,
+    59,  -169,  -166,    78,   100,    74,   176,    89,    72,    75,
+    94,  -185,   102,   181,   106,    37,    71,   336,    59,    38,
+    83,    86,   322,   231,    92,   338,    11,    48,    76,    78,
+    97,   197,   198,    89,    72,    75,   207,   211,   102,   176,
+   106,    71,   341,   199,    59,    83,    86,   184,   249,    92,
+   207,   211,   246,   247,    78,   100,    97,   199,    89,    72,
+    75,    94,  -168,   102,  -167,   106,   345,    71,   175,    59,
+  -172,    83,    86,    72,    75,    92,    59,   102,  -171,   106,
+    78,   100,  -170,   214,    89,    64,   215,    94,   -21,   -21,
+   -21,   -21,    71,   173,   217,    59,    83,    86,    72,    75,
+    92,   155,   102,   122,   106,    78,    71,   152,    82,    89,
+    83,    86,   223,   122,    92,    44,    45,    41,    42,    78,
+    59,   197,   198,    89,    72,    75,   207,   211,   102,  -168,
+   106,    71,   276,   199,    59,    83,    86,   176,   225,    92,
+    44,    45,    41,    42,    78,  -166,    97,   117,    89,    72,
+    75,   226,  -169,   102,   226,   106,  -167,    71,    52,    59,
+  -168,    83,    86,  -166,  -169,    92,   -23,   -23,   -23,   -23,
+    78,   100,  -167,  -171,    89,    72,    75,    94,   365,   102,
+   152,   106,    71,   229,   228,    59,    83,    86,    50,   372,
+    92,    49,   374,   226,  -220,    78,   231,    97,   377,    89,
+    40,    72,    75,    39,   237,   102,   234,   106,    71,   nil,
     59,   nil,    83,    86,   nil,   nil,    92,   nil,   nil,   nil,
    nil,    78,   100,    97,   nil,    89,   nil,   nil,    94,   nil,
    nil,    72,    75,   nil,    71,   102,    59,   106,    83,    86,
@@ -360,60 +336,88 @@ racc_action_table = [
    nil,   102,    59,   106,    71,   nil,   nil,   nil,    83,    86,
    nil,   nil,    92,   nil,   nil,   nil,   nil,    78,   100,    97,
    nil,    89,    72,    75,    94,   nil,   102,   nil,   106,   nil,
+    71,   nil,    59,   nil,    83,    86,    72,    75,    92,   nil,
+   102,   nil,   nil,    78,   100,   nil,   nil,    89,   nil,   nil,
+    94,   nil,   nil,   nil,   nil,    71,   nil,   nil,    59,    83,
+    86,    72,    75,    92,   nil,   102,   nil,   106,    78,    71,
+   nil,   nil,    89,    83,   143,   nil,   nil,    92,   nil,   nil,
+   nil,   nil,   137,    59,   nil,   nil,    89,    72,    75,   nil,
+   nil,   102,   nil,   106,    71,   nil,   nil,    59,    83,    86,
+   nil,   nil,    92,   nil,   nil,   nil,   nil,    78,   nil,    97,
+   nil,    89,   nil,    72,    75,   nil,   nil,   102,   nil,   106,
     71,   nil,    59,   nil,    83,    86,   nil,   nil,    92,   nil,
-   nil,   nil,   nil,    78,   100,   nil,   nil,    89,    72,    75,
-    94,   nil,   102,   nil,   106,    71,   nil,   nil,    59,    83,
-    86,   nil,   nil,    92,   nil,   nil,   nil,   nil,    78,   nil,
-    97,   nil,    89,   nil,    72,    75,   nil,   nil,   102,   nil,
-   106,    71,   nil,    59,   nil,    83,    86,   nil,   nil,    92,
-   nil,   nil,    72,    75,    78,   100,    97,   nil,    89,    72,
-    75,    94,   nil,   102,   nil,   106,   nil,    71,   nil,    59,
-   nil,    83,    86,   nil,   nil,    92,   nil,   nil,   nil,   nil,
-    78,   100,   nil,   nil,    89,   162,   nil,    94,   nil,    83,
-   268,   nil,    71,    92,   nil,    59,    83,    86,   137,   nil,
-    92,   nil,    89,   nil,   nil,    78,    72,    75,   nil,    89,
-   102,   nil,   106,    59,   nil,   nil,   nil,   nil,   nil,   nil,
-    59,   nil,   nil,   nil,   nil,    72,    75,   nil,    97,   nil,
-   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    71,
-   nil,   nil,   nil,    83,    86,   nil,   nil,    92,   177,   nil,
-    72,    75,    78,   100,   nil,   nil,    89,   nil,    71,    94,
-   nil,   nil,    83,    86,   nil,   nil,    92,    59,    72,    75,
-    76,    78,   102,   339,   106,    89,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,    71,   nil,   nil,    59,    83,    86,   nil,
-    97,    92,   nil,    72,    75,    76,    78,   102,   nil,   106,
-    89,    71,   nil,    72,    75,    83,    86,   nil,   nil,    92,
-   nil,    59,   nil,   nil,    78,   100,   nil,   nil,    89,    72,
-    75,    94,   nil,   nil,   nil,   nil,    71,   nil,   nil,    59,
-    83,    86,   nil,   nil,    92,   nil,   162,   nil,   nil,    78,
-    83,   268,   nil,    89,    92,   nil,    72,    75,   nil,   137,
-   102,   nil,   162,    89,    59,   nil,    83,   268,   nil,   nil,
-    92,   nil,    72,    75,    59,   137,   102,   nil,   106,    89,
-   nil,   nil,    72,    75,   nil,   nil,   102,   nil,   106,    71,
-    59,   nil,   nil,    83,   268,   nil,   nil,    92,   nil,   nil,
-   nil,   nil,   137,   nil,    97,    71,    89,   nil,   nil,    83,
-    86,   nil,   nil,    92,   nil,    71,   nil,    59,    78,    83,
-    86,   nil,    89,    92,   nil,   nil,   nil,   nil,    78,   100,
-    72,    75,    89,    59,   102,    94,   106,   213,   196,   197,
-   198,   200,   202,    59,   207,   211,   nil,   nil,   nil,    72,
-    75,   199,    97,   102,   189,   106,    72,    75,   nil,   nil,
-   102,   nil,   106,    71,   nil,   nil,   nil,    83,    86,   nil,
-   nil,    92,   nil,   nil,   nil,   nil,    78,   100,    72,    75,
-    89,   nil,    71,    94,   nil,   nil,    83,    86,   nil,    71,
-    92,    59,   nil,    83,    86,    78,   nil,    92,   nil,    89,
-   nil,   nil,    78,    72,    75,   nil,    89,   102,   nil,   106,
-    59,   162,   nil,   nil,   nil,    83,   268,    59,   nil,    92,
-   nil,    72,    75,   nil,   137,   102,   nil,   106,    89,   nil,
-   nil,   nil,   nil,   nil,   nil,   nil,    71,   nil,   nil,    59,
-    83,    86,   nil,    97,    92,   nil,   nil,   nil,   nil,    78,
-   nil,    72,    75,    89,    71,   102,   nil,   106,    83,    86,
-   nil,   nil,    92,   nil,    59,   nil,   nil,    78,   100,   nil,
-   nil,    89,   nil,    97,    94,   nil,   nil,    72,    75,   nil,
-   nil,   102,    59,   106,    71,   nil,   nil,   nil,    83,    86,
+   nil,   nil,   nil,    78,   100,    97,   nil,    89,   nil,   nil,
+    94,   nil,   nil,    72,    75,   nil,    71,   102,    59,   106,
+    83,    86,   nil,   nil,    92,   nil,   nil,   nil,   nil,    78,
+   100,   nil,   nil,    89,   nil,    97,    94,   nil,   nil,    72,
+    75,   nil,   nil,   102,    59,   106,    71,   nil,   nil,   nil,
+    83,    86,   nil,   nil,    92,   nil,   nil,   nil,   nil,    78,
+   100,    97,   nil,    89,    72,    75,    94,   nil,   102,   nil,
+   106,   nil,    71,   nil,    59,   nil,    83,    86,   nil,   nil,
+    92,   nil,   nil,   nil,   nil,    78,   100,   nil,   nil,    89,
+    72,    75,    94,   nil,   102,   nil,   106,    71,   nil,   nil,
+    59,    83,    86,   nil,   nil,    92,   nil,   nil,   nil,   nil,
+    78,   nil,    97,   nil,    89,   nil,    72,    75,   nil,   nil,
+   102,   nil,   106,    71,   nil,    59,   nil,    83,    86,   nil,
+   nil,    92,   nil,   nil,    72,    75,    78,   100,    97,   nil,
+    89,    72,    75,    94,   nil,   102,   nil,   106,   nil,    71,
+   nil,    59,   nil,    83,    86,   nil,   nil,    92,   nil,   nil,
+   nil,   nil,    78,   100,   nil,   nil,    89,   162,   nil,    94,
+   nil,    83,   268,   nil,    71,    92,   nil,    59,    83,    86,
+   137,   nil,    92,   nil,    89,   nil,   nil,    78,    72,    75,
+   nil,    89,   102,   nil,   106,    59,   nil,   213,   196,   197,
+   198,   nil,    59,   nil,   207,   211,   nil,    72,    75,   nil,
+    97,   199,   nil,    72,    75,   nil,   nil,   nil,   nil,   nil,
+   nil,    71,   nil,   nil,   nil,    83,    86,   nil,   nil,    92,
+   339,   nil,   nil,   nil,    78,   100,   177,   nil,    89,   nil,
+    71,    94,   nil,   nil,    83,    86,    71,   nil,    92,    59,
+    83,    86,    76,    78,    92,   nil,   nil,    89,    76,    78,
+    72,    75,   nil,    89,   102,   nil,   106,   nil,    59,   nil,
+   nil,   nil,   nil,   nil,    59,   nil,   nil,   nil,   nil,    72,
+    75,   nil,    97,   102,   nil,   106,    72,    75,   nil,   nil,
+   nil,   nil,   nil,    71,   nil,   nil,   nil,    83,    86,   nil,
+   nil,    92,   nil,   nil,    72,    75,    78,   100,   nil,   nil,
+    89,   nil,    71,    94,   nil,   nil,    83,    86,   nil,   162,
+    92,    59,   nil,    83,   268,    78,   nil,    92,   nil,    89,
+   nil,   nil,   137,   nil,   nil,   nil,    89,   162,   nil,   nil,
+    59,    83,   268,   nil,   nil,    92,   nil,    59,   nil,   nil,
+   137,    72,    75,   nil,    89,   102,   nil,   106,   nil,   nil,
+   nil,   nil,   nil,   nil,   nil,    59,   nil,   nil,   nil,   nil,
+    72,    75,   nil,    97,   102,   nil,   106,    72,    75,   nil,
+   nil,   102,   nil,   106,    71,   nil,   nil,   nil,    83,    86,
    nil,   nil,    92,   nil,   nil,   nil,   nil,    78,   100,    97,
-   nil,    89,   nil,   nil,    94,   nil,   nil,   nil,   nil,   nil,
-    71,   nil,    59,   nil,    83,    86,   212,   nil,    92,   nil,
-   nil,   nil,   nil,    78,   100,   205,   210,    89,   nil,   nil,
-    94,   nil,   nil,   nil,   201,   203,   206,   209,    59,   nil,
+   nil,    89,   nil,    71,    94,   nil,   nil,    83,    86,   nil,
+    71,    92,    59,   nil,    83,    86,    78,   nil,    92,   nil,
+    89,    72,    75,    78,   100,   102,   nil,    89,    72,    75,
+    94,    59,   102,   nil,   106,    72,    75,   nil,    59,   102,
+   189,   106,    72,    75,   nil,   nil,   102,   nil,   106,   nil,
+   nil,   nil,   nil,   nil,    71,   nil,   nil,   nil,    83,   268,
+   nil,    71,    92,   nil,   nil,    83,    86,   137,    71,    92,
+   nil,    89,    83,    86,    78,    71,    92,   nil,    89,    83,
+    86,    78,    59,    92,   nil,    89,   nil,   nil,    78,    59,
+   nil,   nil,    89,    72,    75,   nil,    59,   102,   nil,   106,
+   nil,   nil,   nil,    59,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,    72,    75,   nil,    97,   nil,   nil,   nil,    72,
+    75,   nil,   nil,   102,   nil,   106,    71,   nil,   nil,   nil,
+    83,    86,   nil,   nil,    92,   nil,   nil,   nil,   nil,    78,
+   100,    97,   nil,    89,   nil,   162,    94,   nil,   nil,    83,
+   268,   nil,    71,    92,    59,   nil,    83,    86,   137,   nil,
+    92,   nil,    89,   nil,   nil,    78,   100,   nil,   nil,    89,
+    72,    75,    94,    59,   102,   nil,   106,   nil,   nil,   nil,
+    59,    26,   nil,    33,     1,   nil,     7,    12,   nil,    17,
+   nil,    23,    97,    29,   nil,     3,    72,    75,    11,    14,
+   102,   nil,   106,    71,   nil,   nil,   nil,    83,    86,   nil,
+   nil,    92,   nil,   nil,   nil,   nil,    78,   100,    97,   nil,
+    89,   nil,   nil,    94,   nil,   nil,   nil,   nil,   nil,    71,
+   nil,    59,   nil,    83,    86,   212,   nil,    92,   nil,   nil,
+   nil,   nil,    78,   100,   205,   210,    89,   nil,   nil,    94,
+   nil,   nil,   nil,   201,   203,   206,   209,    59,   nil,   205,
+   210,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   201,   203,
+   206,   209,   nil,   nil,   nil,   nil,   nil,   204,   208,   nil,
+   nil,   213,   196,   197,   198,   200,   202,   nil,   207,   211,
+   nil,   nil,   204,   208,   nil,   199,   213,   196,   197,   198,
+   200,   202,   nil,   207,   211,   205,   210,   nil,   nil,   nil,
+   199,   nil,   nil,   273,   201,   203,   206,   209,   nil,   nil,
    205,   210,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   201,
    203,   206,   209,   nil,   nil,   nil,   nil,   nil,   204,   208,
    nil,   nil,   213,   196,   197,   198,   200,   202,   nil,   207,
@@ -423,277 +427,277 @@ racc_action_table = [
    nil,   205,   210,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    201,   203,   206,   209,   nil,   nil,   nil,   nil,   nil,   204,
    208,   nil,   nil,   213,   196,   197,   198,   200,   202,   nil,
-   207,   211,   nil,   nil,   204,   208,   nil,   199,   213,   196,
+   207,   211,   nil,   nil,   nil,   208,   nil,   199,   213,   196,
    197,   198,   200,   202,   nil,   207,   211,   205,   210,   nil,
    nil,   nil,   199,   nil,   nil,   nil,   201,   203,   206,   209,
-   nil,   nil,   205,   210,   nil,   nil,   nil,   nil,   nil,   nil,
-   273,   201,   203,   206,   209,   nil,   nil,   nil,   nil,   nil,
-   nil,   208,   nil,   nil,   213,   196,   197,   198,   200,   202,
-   nil,   207,   211,   nil,   nil,   204,   208,   nil,   199,   213,
-   196,   197,   198,   200,   202,   nil,   207,   211,   205,   210,
-   nil,   nil,   nil,   199,   nil,   nil,   nil,   201,   203,   206,
-   209,   nil,   nil,    26,   210,    33,     1,   nil,     7,    12,
-   nil,    17,   201,    23,   nil,    29,   nil,     3,   nil,   nil,
-    11,    14,   nil,   210,   nil,   213,   196,   197,   198,   200,
-   202,   201,   207,   211,   nil,   nil,   nil,   nil,   nil,   199,
-   213,   196,   197,   198,   200,   202,   nil,   207,   211,   nil,
-   nil,   324,   nil,   nil,   199,   nil,   nil,   nil,   nil,   213,
-   196,   197,   198,   200,   202,   nil,   207,   211,   nil,   nil,
-   379,   nil,    26,   199,    33,     1,   nil,     7,    12,   nil,
-    17,   nil,    23,   nil,    29,   nil,     3,   nil,   nil,    11,
-    14,    26,   382,    33,     1,   nil,     7,    12,   nil,    17,
-   nil,    23,   nil,    29,   nil,     3,   nil,   nil,    11,    14,
-   nil,   296,   nil,    26,   nil,    33,     1,   nil,     7,    12,
-   nil,    17,   nil,    23,   nil,    29,   nil,     3,   nil,   nil,
-    11,    14,    26,   364,    33,     1,   nil,     7,    12,   nil,
-    17,   nil,    23,   nil,    29,   nil,     3,   nil,   nil,    11,
-    14,   nil,   381,   nil,    26,   nil,    33,     1,   nil,     7,
-    12,   nil,    17,   nil,    23,   nil,    29,   nil,     3,   nil,
-   nil,    11,    14,    26,   383,    33,     1,   nil,     7,    12,
-   nil,    17,   nil,    23,   nil,    29,   nil,     3,   nil,   nil,
-    11,    14,   nil,   357,   nil,    26,   nil,    33,     1,   nil,
+   nil,   nil,    26,   210,    33,     1,   nil,     7,    12,   nil,
+    17,   201,    23,   nil,    29,   nil,     3,   nil,   nil,    11,
+    14,   nil,   210,   nil,   213,   196,   197,   198,   200,   202,
+   201,   207,   211,   nil,   nil,   nil,   nil,   210,   199,   213,
+   196,   197,   198,   200,   202,   201,   207,   211,   nil,   nil,
+   nil,   nil,   nil,   199,   nil,   nil,   210,   nil,   213,   196,
+   197,   198,   200,   202,   201,   207,   211,   nil,   nil,   nil,
+   nil,   nil,   199,   213,   196,   197,   198,   200,   202,   nil,
+   207,   211,   nil,   nil,   304,   nil,   nil,   199,   nil,   nil,
+   nil,   nil,   213,   196,   197,   198,   200,   202,   nil,   207,
+   211,   nil,   nil,   383,   nil,    26,   199,    33,     1,   nil,
      7,    12,   nil,    17,   nil,    23,   nil,    29,   nil,     3,
-   nil,   nil,    11,    14,    26,   363,    33,     1,   nil,     7,
+   nil,   nil,    11,    14,    26,   375,    33,     1,   nil,     7,
     12,   nil,    17,   nil,    23,   nil,    29,   nil,     3,   nil,
-   nil,    11,    14,   nil,   375,   nil,    26,   nil,    33,     1,
+   nil,    11,    14,   nil,   349,   nil,    26,   nil,    33,     1,
    nil,     7,    12,   nil,    17,   nil,    23,   nil,    29,   nil,
-     3,   nil,   nil,    11,    14,    26,   304,    33,     1,   nil,
+     3,   nil,   nil,    11,    14,    26,   296,    33,     1,   nil,
      7,    12,   nil,    17,   nil,    23,   nil,    29,   nil,     3,
-   nil,   nil,    11,    14,   nil,   349,   nil,    26,   nil,    33,
+   nil,   nil,    11,    14,   nil,   357,   nil,    26,   nil,    33,
      1,   nil,     7,    12,   nil,    17,   nil,    23,   nil,    29,
-   nil,     3,   nil,   nil,    11,    14,    26,   nil,    33,     1,
+   nil,     3,   nil,   nil,    11,    14,    26,   382,    33,     1,
    nil,     7,    12,   nil,    17,   nil,    23,   nil,    29,   nil,
-     3,   nil,   nil,    11,    14,    26,   nil,    33,     1,   nil,
-     7,    12,   nil,    17,   nil,    23,   nil,    29,   nil,     3,
-   nil,   nil,    11,    14 ]
+     3,   nil,   nil,    11,    14,   nil,   364,   nil,    26,   nil,
+    33,     1,   nil,     7,    12,   nil,    17,   nil,    23,   nil,
+    29,   nil,     3,   nil,   nil,    11,    14,    26,   363,    33,
+     1,   nil,     7,    12,   nil,    17,   nil,    23,   nil,    29,
+   nil,     3,   nil,   nil,    11,    14,   nil,   379,   nil,    26,
+   nil,    33,     1,   nil,     7,    12,   nil,    17,   nil,    23,
+   nil,    29,   nil,     3,   nil,   nil,    11,    14,    26,   381,
+    33,     1,   nil,     7,    12,   nil,    17,   nil,    23,   nil,
+    29,   nil,     3,   nil,   nil,    11,    14,   nil,   324,   nil,
+    26,   nil,    33,     1,   nil,     7,    12,   nil,    17,   nil,
+    23,   nil,    29,   nil,     3,   nil,   nil,    11,    14,    26,
+   nil,    33,     1,   nil,     7,    12,   nil,    17,   nil,    23,
+   nil,    29,   nil,     3,   nil,   nil,    11,    14,   213,   196,
+   197,   198,   200,   202,   nil,   207,   211,   nil,   nil,   nil,
+   nil,   nil,   199,   213,   196,   197,   198,   200,   202,   nil,
+   207,   211,   nil,   nil,   nil,   nil,   nil,   199 ]
 
 racc_action_check = [
-   180,   180,   152,    86,   156,   106,   106,   272,   174,     7,
-   277,   277,   106,   180,   180,    65,    55,   277,     7,     7,
-   272,    86,   180,   180,   180,   180,    65,   296,    17,    80,
-   296,    65,   158,    95,   202,   202,   174,   174,   202,   218,
-   202,    55,   156,   106,   152,   156,   180,   180,   277,   219,
-   180,   180,   180,   180,   180,   180,   202,   180,   180,   181,
-   181,   368,   368,   239,   180,   156,    17,   202,   165,    17,
-   158,   202,   202,   158,   239,   202,   165,   182,   182,   239,
-   202,   202,   349,   182,   202,   349,    22,   202,    22,    17,
-   143,   243,   181,   158,   368,   202,   181,   181,   368,   368,
-   181,    22,   368,   143,   181,   181,   220,   368,   163,   181,
-   182,   368,   355,   355,   182,   182,   243,   243,   182,   163,
-   181,    62,   368,   182,   163,    22,   178,   182,   281,   281,
-   351,   351,    62,   221,   351,   281,   351,    62,   182,   178,
-   285,   285,   285,   285,   101,   355,   221,   285,   285,   355,
-   355,   224,   351,   355,   285,   341,   341,   300,   355,   341,
-    91,   341,   355,   351,   308,   300,   226,   351,   351,   308,
-   227,   351,    90,   355,   184,   184,   351,   351,    12,   122,
-   351,   171,    12,   351,   122,   171,   171,   229,   341,    12,
-   286,   351,   341,   341,   343,   343,   341,   184,   286,     1,
-    87,   341,    30,     1,   183,   341,    30,   184,   183,   183,
-     1,   184,   184,    30,    30,   184,   341,   196,   196,   184,
-   184,   196,   195,   196,   184,   195,   286,   286,   286,   286,
-   286,   286,   188,   286,   286,   184,   188,   188,   231,   196,
-   286,   120,   232,   197,   197,   120,   233,   197,   103,   197,
-   196,    85,   120,   120,   196,   196,   105,    43,   196,   280,
-   280,    43,    84,   196,   196,   197,   280,   196,    43,    43,
-   196,    81,   215,    23,    23,    78,   197,    23,   196,   250,
-   197,   197,   279,   279,   197,   252,   253,   279,   279,   197,
-   197,    77,    71,   197,   279,    23,   197,   160,    68,    26,
-    26,   160,   160,    26,   197,    26,    23,   268,    67,   234,
-    23,    23,   211,   234,    23,   274,   234,    66,    23,    23,
-   234,    26,   107,    23,   108,   198,   198,   109,   207,   198,
-   114,   198,    26,   115,    23,   119,    26,    26,    64,   121,
-    26,    35,    35,    35,    35,    26,    26,   198,    52,    26,
-    29,    29,    26,    51,    29,    50,    29,   127,   198,   132,
-    26,    36,   198,   198,   307,   307,   198,   133,   307,   136,
-   307,   198,   198,   138,   192,   198,   139,    33,   198,    34,
-    34,    34,    34,    29,   140,   142,   198,    29,    29,   305,
-   305,    29,   315,   305,   144,   305,    29,   307,    16,   327,
-    29,   307,   307,   199,   199,   307,   328,   199,   330,   199,
-   307,    29,   297,   297,   307,   331,   332,   297,   297,   337,
-   153,   175,   305,   154,   297,   307,   305,   305,     9,   288,
-   305,    28,    28,    28,    28,   305,   199,   288,   352,   305,
-   199,   199,     8,   356,   199,   298,   298,   173,   367,   199,
-   305,   172,   298,   199,   369,   200,   200,     3,     2,   200,
-   157,   200,   263,   nil,   199,   288,   288,   288,   288,   288,
-   288,   nil,   288,   288,   nil,   nil,   nil,   200,   298,   288,
-   nil,   nil,   298,   298,   nil,   nil,   298,   nil,   200,   nil,
-   nil,   298,   200,   200,   nil,   298,   200,     4,     4,     4,
-     4,   200,   200,    39,    39,   200,   298,    39,   200,    39,
-   293,   293,   293,   293,   293,   293,   200,   293,   293,   nil,
-   283,   283,   283,   283,   293,    39,   nil,   283,   283,   201,
-   201,   nil,   nil,   201,   283,   201,    39,   nil,   nil,   nil,
-    39,    39,   nil,   nil,    39,   nil,   nil,   nil,   nil,    39,
-    39,   201,   nil,    39,   nil,   nil,    39,   nil,   nil,    46,
-    46,   nil,   201,    46,    39,    46,   201,   201,   nil,   nil,
-   201,   nil,   nil,   nil,   nil,   201,   201,   nil,   nil,   201,
-   nil,    46,   201,   nil,   nil,    47,    47,   nil,   nil,    47,
-   201,    47,    46,   nil,   nil,   nil,    46,    46,   nil,   nil,
-    46,   nil,   nil,   nil,   nil,    46,    46,    47,   nil,    46,
-    48,    48,    46,   nil,    48,   nil,    48,   nil,    47,   nil,
-    46,   nil,    47,    47,    49,    49,    47,   nil,    49,   nil,
-   nil,    47,    47,   nil,   nil,    47,   nil,   nil,    47,   nil,
-   nil,   nil,   nil,    48,   nil,   nil,    47,    48,    48,   176,
-   176,    48,   nil,   176,   nil,   176,    48,    49,   nil,   nil,
-    48,    49,    49,   nil,   nil,    49,   nil,   nil,   nil,   nil,
-    49,    48,   nil,   nil,    49,   203,   203,   nil,   nil,   203,
-   nil,   203,   176,   nil,   nil,    49,   176,   176,   nil,   nil,
-   176,   nil,   nil,   nil,   nil,   176,   nil,   203,   nil,   176,
-   nil,   204,   204,   nil,   nil,   204,   nil,   204,   203,   nil,
-   176,   nil,   203,   203,   nil,   nil,   203,   nil,   nil,   nil,
-   nil,   203,   203,   204,   nil,   203,   nil,   nil,   203,   nil,
-   nil,   205,   205,   nil,   204,   205,   203,   205,   204,   204,
-   nil,   nil,   204,   nil,   nil,   nil,   nil,   204,   204,   nil,
-   nil,   204,   nil,   205,   204,   nil,   nil,   100,   100,   nil,
-   nil,   100,   204,   100,   205,   nil,   nil,   nil,   205,   205,
-   nil,   nil,   205,   nil,   nil,   nil,   nil,   205,   205,   100,
-   nil,   205,    63,    63,   205,   nil,    63,   nil,    63,   nil,
-   100,   nil,   205,   nil,   100,   100,   nil,   nil,   100,   nil,
-   nil,   nil,   nil,   100,   100,   nil,   nil,   100,   208,   208,
-   100,   nil,   208,   nil,   208,    63,   nil,   nil,   100,    63,
-    63,   nil,   nil,    63,   nil,   nil,   nil,   nil,    63,   nil,
-   208,   nil,    63,   nil,   209,   209,   nil,   nil,   209,   nil,
-   209,   208,   nil,    63,   nil,   208,   208,   nil,   nil,   208,
-   nil,   nil,   269,   269,   208,   208,   209,   nil,   208,   276,
-   276,   208,   nil,   276,   nil,   276,   nil,   209,   nil,   208,
-   nil,   209,   209,   nil,   nil,   209,   nil,   nil,   nil,   nil,
-   209,   209,   nil,   nil,   209,   269,   nil,   209,   nil,   269,
-   269,   nil,   276,   269,   nil,   209,   276,   276,   269,   nil,
-   276,   nil,   269,   nil,   nil,   276,   256,   256,   nil,   276,
-   256,   nil,   256,   269,   nil,   nil,   nil,   nil,   nil,   nil,
-   276,   nil,   nil,   nil,   nil,    74,    74,   nil,   256,   nil,
-   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   256,
-   nil,   nil,   nil,   256,   256,   nil,   nil,   256,    74,   nil,
-   254,   254,   256,   256,   nil,   nil,   256,   nil,    74,   256,
-   nil,   nil,    74,    74,   nil,   nil,    74,   256,    75,    75,
-    74,    74,    75,   254,    75,    74,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,   254,   nil,   nil,    74,   254,   254,   nil,
-    75,   254,   nil,   248,   248,   254,   254,   248,   nil,   248,
-   254,    75,   nil,   245,   245,    75,    75,   nil,   nil,    75,
-   nil,   254,   nil,   nil,    75,    75,   nil,   nil,    75,   244,
-   244,    75,   nil,   nil,   nil,   nil,   248,   nil,   nil,    75,
-   248,   248,   nil,   nil,   248,   nil,   245,   nil,   nil,   248,
-   245,   245,   nil,   248,   245,   nil,   225,   225,   nil,   245,
-   225,   nil,   244,   245,   248,   nil,   244,   244,   nil,   nil,
-   244,   nil,    82,    82,   245,   244,    82,   nil,    82,   244,
-   nil,   nil,   210,   210,   nil,   nil,   210,   nil,   210,   225,
-   244,   nil,   nil,   225,   225,   nil,   nil,   225,   nil,   nil,
-   nil,   nil,   225,   nil,   210,    82,   225,   nil,   nil,    82,
-    82,   nil,   nil,    82,   nil,   210,   nil,   225,    82,   210,
-   210,   nil,    82,   210,   nil,   nil,   nil,   nil,   210,   210,
-   213,   213,   210,    82,   213,   210,   213,   284,   284,   284,
-   284,   284,   284,   210,   284,   284,   nil,   nil,   nil,   102,
-   102,   284,   213,   102,   102,   102,   230,   230,   nil,   nil,
-   230,   nil,   230,   213,   nil,   nil,   nil,   213,   213,   nil,
-   nil,   213,   nil,   nil,   nil,   nil,   213,   213,   214,   214,
-   213,   nil,   102,   213,   nil,   nil,   102,   102,   nil,   230,
-   102,   213,   nil,   230,   230,   102,   nil,   230,   nil,   102,
-   nil,   nil,   230,   228,   228,   nil,   230,   228,   nil,   228,
-   102,   214,   nil,   nil,   nil,   214,   214,   230,   nil,   214,
-   nil,    94,    94,   nil,   214,    94,   nil,    94,   214,   nil,
-   nil,   nil,   nil,   nil,   nil,   nil,   228,   nil,   nil,   214,
-   228,   228,   nil,    94,   228,   nil,   nil,   nil,   nil,   228,
-   nil,    97,    97,   228,    94,    97,   nil,    97,    94,    94,
-   nil,   nil,    94,   nil,   228,   nil,   nil,    94,    94,   nil,
-   nil,    94,   nil,    97,    94,   nil,   nil,   206,   206,   nil,
-   nil,   206,    94,   206,    97,   nil,   nil,   nil,    97,    97,
-   nil,   nil,    97,   nil,   nil,   nil,   nil,    97,    97,   206,
-   nil,    97,   nil,   nil,    97,   nil,   nil,   nil,   nil,   nil,
-   206,   nil,    97,   nil,   206,   206,   111,   nil,   206,   nil,
-   nil,   nil,   nil,   206,   206,   111,   111,   206,   nil,   nil,
-   206,   nil,   nil,   nil,   111,   111,   111,   111,   206,   nil,
+   180,   180,   152,    86,   158,   106,   106,   221,   174,     7,
+   277,   277,   106,   180,   180,   163,    55,   277,     7,     7,
+   221,    86,   180,   180,   180,   180,   163,   296,   156,    80,
+   296,   163,    17,    95,   201,   201,   174,   174,   201,   215,
+   201,    55,   158,   106,   152,   158,   180,   180,   277,    91,
+   180,   180,   180,   180,   180,   180,   201,   180,   180,   181,
+   181,   368,   368,    65,   180,   158,   156,   201,   300,   156,
+    17,   201,   201,    17,    65,   201,   300,   182,   182,    65,
+   201,   201,   349,   182,   201,   349,    22,   201,    22,   156,
+   272,   243,   181,    17,   368,   201,   181,   181,   368,   368,
+   181,    22,   368,   272,   181,   181,   218,   368,    62,   181,
+   182,   368,   355,   355,   182,   182,   243,   243,   182,    62,
+   181,   239,   368,   182,    62,    22,   143,   182,   280,   280,
+   351,   351,   239,   178,   351,   280,   351,   239,   182,   143,
+   285,   285,   285,   285,   219,   355,   178,   285,   285,   355,
+   355,   220,   351,   355,   285,   341,   341,   165,   355,   341,
+   101,   341,   355,   351,   122,   165,   224,   351,   351,   122,
+    90,   351,   226,   355,   184,   184,   351,   351,    43,   308,
+   351,   188,    43,   351,   308,   188,   188,   227,   341,    43,
+    43,   351,   341,   341,   343,   343,   341,   184,   120,   298,
+   298,   341,   120,    87,   229,   341,   298,   184,    85,   120,
+   120,   184,   184,   231,   232,   184,   341,   196,   196,   184,
+   184,   196,    30,   196,   184,   183,    30,     1,   233,   183,
+   183,     1,   298,    30,    30,   184,   298,   298,     1,   196,
+   298,   211,    12,    23,    23,   298,    12,    23,   195,   298,
+   196,   195,   160,    12,   196,   196,   160,   160,   196,    84,
+   298,   103,    81,   196,   196,    23,    96,   196,    26,    26,
+   196,    78,    26,    77,    26,   234,    23,   250,   196,   234,
+    23,    23,   234,   252,    23,   253,   234,    71,    23,    23,
+    26,   297,   297,    23,   197,   197,   297,   297,   197,    70,
+   197,    26,   263,   297,    23,    26,    26,   268,   171,    26,
+   281,   281,   171,   171,    26,    26,   197,   281,    26,    29,
+    29,    26,    68,    29,   105,    29,   274,   197,    66,    26,
+   107,   197,   197,   307,   307,   197,   207,   307,   108,   307,
+   197,   197,   109,   114,   197,   115,   119,   197,    28,    28,
+    28,    28,    29,    64,   121,   197,    29,    29,   305,   305,
+    29,    52,   305,    51,   305,    29,   307,    50,   127,    29,
+   307,   307,   132,    36,   307,    34,    34,    34,    34,   307,
+    29,   279,   279,   307,   198,   198,   279,   279,   198,   133,
+   198,   305,   192,   279,   307,   305,   305,   135,   136,   305,
+     4,     4,     4,     4,   305,   138,   198,    33,   305,   199,
+   199,   139,   140,   199,   315,   199,   142,   198,    16,   305,
+   327,   198,   198,   328,   330,   198,    35,    35,    35,    35,
+   198,   198,   331,   332,   198,    97,    97,   198,   337,    97,
+   175,    97,   199,   144,   173,   198,   199,   199,     9,   352,
+   199,     8,   356,   172,   367,   199,   153,    97,   369,   199,
+     3,   200,   200,     2,   157,   200,   154,   200,    97,   nil,
+   199,   nil,    97,    97,   nil,   nil,    97,   nil,   nil,   nil,
+   nil,    97,    97,   200,   nil,    97,   nil,   nil,    97,   nil,
+   nil,    46,    46,   nil,   200,    46,    97,    46,   200,   200,
+   nil,   nil,   200,   nil,   nil,   nil,   nil,   200,   200,   nil,
+   nil,   200,   nil,    46,   200,   nil,   nil,    47,    47,   nil,
+   nil,    47,   200,    47,    46,   nil,   nil,   nil,    46,    46,
+   nil,   nil,    46,   nil,   nil,   nil,   nil,    46,    46,    47,
+   nil,    46,    48,    48,    46,   nil,    48,   nil,    48,   nil,
+    47,   nil,    46,   nil,    47,    47,    49,    49,    47,   nil,
+    49,   nil,   nil,    47,    47,   nil,   nil,    47,   nil,   nil,
+    47,   nil,   nil,   nil,   nil,    48,   nil,   nil,    47,    48,
+    48,   176,   176,    48,   nil,   176,   nil,   176,    48,    49,
+   nil,   nil,    48,    49,    49,   nil,   nil,    49,   nil,   nil,
+   nil,   nil,    49,    48,   nil,   nil,    49,   202,   202,   nil,
+   nil,   202,   nil,   202,   176,   nil,   nil,    49,   176,   176,
+   nil,   nil,   176,   nil,   nil,   nil,   nil,   176,   nil,   202,
+   nil,   176,   nil,   203,   203,   nil,   nil,   203,   nil,   203,
+   202,   nil,   176,   nil,   202,   202,   nil,   nil,   202,   nil,
+   nil,   nil,   nil,   202,   202,   203,   nil,   202,   nil,   nil,
+   202,   nil,   nil,   204,   204,   nil,   203,   204,   202,   204,
+   203,   203,   nil,   nil,   203,   nil,   nil,   nil,   nil,   203,
+   203,   nil,   nil,   203,   nil,   204,   203,   nil,   nil,   205,
+   205,   nil,   nil,   205,   203,   205,   204,   nil,   nil,   nil,
+   204,   204,   nil,   nil,   204,   nil,   nil,   nil,   nil,   204,
+   204,   205,   nil,   204,    63,    63,   204,   nil,    63,   nil,
+    63,   nil,   205,   nil,   204,   nil,   205,   205,   nil,   nil,
+   205,   nil,   nil,   nil,   nil,   205,   205,   nil,   nil,   205,
+   206,   206,   205,   nil,   206,   nil,   206,    63,   nil,   nil,
+   205,    63,    63,   nil,   nil,    63,   nil,   nil,   nil,   nil,
+    63,   nil,   206,   nil,    63,   nil,   208,   208,   nil,   nil,
+   208,   nil,   208,   206,   nil,    63,   nil,   206,   206,   nil,
+   nil,   206,   nil,   nil,   269,   269,   206,   206,   208,   nil,
+   206,   276,   276,   206,   nil,   276,   nil,   276,   nil,   208,
+   nil,   206,   nil,   208,   208,   nil,   nil,   208,   nil,   nil,
+   nil,   nil,   208,   208,   nil,   nil,   208,   269,   nil,   208,
+   nil,   269,   269,   nil,   276,   269,   nil,   208,   276,   276,
+   269,   nil,   276,   nil,   269,   nil,   nil,   276,   256,   256,
+   nil,   276,   256,   nil,   256,   269,   nil,   283,   283,   283,
+   283,   nil,   276,   nil,   283,   283,   nil,   254,   254,   nil,
+   256,   283,   nil,    74,    74,   nil,   nil,   nil,   nil,   nil,
+   nil,   256,   nil,   nil,   nil,   256,   256,   nil,   nil,   256,
+   254,   nil,   nil,   nil,   256,   256,    74,   nil,   256,   nil,
+   254,   256,   nil,   nil,   254,   254,    74,   nil,   254,   256,
+    74,    74,   254,   254,    74,   nil,   nil,   254,    74,    74,
+    75,    75,   nil,    74,    75,   nil,    75,   nil,   254,   nil,
+   nil,   nil,   nil,   nil,    74,   nil,   nil,   nil,   nil,   248,
+   248,   nil,    75,   248,   nil,   248,   245,   245,   nil,   nil,
+   nil,   nil,   nil,    75,   nil,   nil,   nil,    75,    75,   nil,
+   nil,    75,   nil,   nil,   244,   244,    75,    75,   nil,   nil,
+    75,   nil,   248,    75,   nil,   nil,   248,   248,   nil,   245,
+   248,    75,   nil,   245,   245,   248,   nil,   245,   nil,   248,
+   nil,   nil,   245,   nil,   nil,   nil,   245,   244,   nil,   nil,
+   248,   244,   244,   nil,   nil,   244,   nil,   245,   nil,   nil,
+   244,   209,   209,   nil,   244,   209,   nil,   209,   nil,   nil,
+   nil,   nil,   nil,   nil,   nil,   244,   nil,   nil,   nil,   nil,
+    82,    82,   nil,   209,    82,   nil,    82,   210,   210,   nil,
+   nil,   210,   nil,   210,   209,   nil,   nil,   nil,   209,   209,
+   nil,   nil,   209,   nil,   nil,   nil,   nil,   209,   209,   210,
+   nil,   209,   nil,    82,   209,   nil,   nil,    82,    82,   nil,
+   210,    82,   209,   nil,   210,   210,    82,   nil,   210,   nil,
+    82,   225,   225,   210,   210,   225,   nil,   210,   230,   230,
+   210,    82,   230,   nil,   230,   102,   102,   nil,   210,   102,
+   102,   102,   228,   228,   nil,   nil,   228,   nil,   228,   nil,
+   nil,   nil,   nil,   nil,   225,   nil,   nil,   nil,   225,   225,
+   nil,   230,   225,   nil,   nil,   230,   230,   225,   102,   230,
+   nil,   225,   102,   102,   230,   228,   102,   nil,   230,   228,
+   228,   102,   225,   228,   nil,   102,   nil,   nil,   228,   230,
+   nil,   nil,   228,   100,   100,   nil,   102,   100,   nil,   100,
+   nil,   nil,   nil,   228,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,   214,   214,   nil,   100,   nil,   nil,   nil,    94,
+    94,   nil,   nil,    94,   nil,    94,   100,   nil,   nil,   nil,
+   100,   100,   nil,   nil,   100,   nil,   nil,   nil,   nil,   100,
+   100,    94,   nil,   100,   nil,   214,   100,   nil,   nil,   214,
+   214,   nil,    94,   214,   100,   nil,    94,    94,   214,   nil,
+    94,   nil,   214,   nil,   nil,    94,    94,   nil,   nil,    94,
+   213,   213,    94,   214,   213,   nil,   213,   nil,   nil,   nil,
+    94,    19,   nil,    19,    19,   nil,    19,    19,   nil,    19,
+   nil,    19,   213,    19,   nil,    19,    39,    39,    19,    19,
+    39,   nil,    39,   213,   nil,   nil,   nil,   213,   213,   nil,
+   nil,   213,   nil,   nil,   nil,   nil,   213,   213,    39,   nil,
+   213,   nil,   nil,   213,   nil,   nil,   nil,   nil,   nil,    39,
+   nil,   213,   nil,    39,    39,   111,   nil,    39,   nil,   nil,
+   nil,   nil,    39,    39,   111,   111,    39,   nil,   nil,    39,
+   nil,   nil,   nil,   111,   111,   111,   111,    39,   nil,   131,
+   131,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   131,   131,
+   131,   131,   nil,   nil,   nil,   nil,   nil,   111,   111,   nil,
+   nil,   111,   111,   111,   111,   111,   111,   nil,   111,   111,
+   nil,   nil,   131,   131,   nil,   111,   131,   131,   131,   131,
+   131,   131,   nil,   131,   131,   186,   186,   nil,   nil,   nil,
+   131,   nil,   nil,   186,   186,   186,   186,   186,   nil,   nil,
    124,   124,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   124,
-   124,   124,   124,   nil,   nil,   nil,   nil,   nil,   111,   111,
-   nil,   nil,   111,   111,   111,   111,   111,   111,   nil,   111,
-   111,   nil,   nil,   124,   124,   nil,   111,   124,   124,   124,
+   124,   124,   124,   nil,   nil,   nil,   nil,   nil,   186,   186,
+   nil,   nil,   186,   186,   186,   186,   186,   186,   nil,   186,
+   186,   nil,   nil,   124,   124,   nil,   186,   124,   124,   124,
    124,   124,   124,   nil,   124,   124,   130,   130,   nil,   nil,
    nil,   124,   nil,   nil,   nil,   130,   130,   130,   130,   nil,
-   nil,   131,   131,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
-   131,   131,   131,   131,   nil,   nil,   nil,   nil,   nil,   130,
+   nil,   287,   287,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
+   287,   287,   287,   287,   nil,   nil,   nil,   nil,   nil,   130,
    130,   nil,   nil,   130,   130,   130,   130,   130,   130,   nil,
-   130,   130,   nil,   nil,   131,   131,   nil,   130,   131,   131,
-   131,   131,   131,   131,   nil,   131,   131,   287,   287,   nil,
-   nil,   nil,   131,   nil,   nil,   nil,   287,   287,   287,   287,
-   nil,   nil,   186,   186,   nil,   nil,   nil,   nil,   nil,   nil,
-   186,   186,   186,   186,   186,   nil,   nil,   nil,   nil,   nil,
-   nil,   287,   nil,   nil,   287,   287,   287,   287,   287,   287,
-   nil,   287,   287,   nil,   nil,   186,   186,   nil,   287,   186,
-   186,   186,   186,   186,   186,   nil,   186,   186,   291,   291,
-   nil,   nil,   nil,   186,   nil,   nil,   nil,   291,   291,   291,
-   291,   nil,   nil,    19,   292,    19,    19,   nil,    19,    19,
-   nil,    19,   292,    19,   nil,    19,   nil,    19,   nil,   nil,
-    19,    19,   nil,   289,   nil,   291,   291,   291,   291,   291,
-   291,   289,   291,   291,   nil,   nil,   nil,   nil,   nil,   291,
-   292,   292,   292,   292,   292,   292,   nil,   292,   292,   nil,
-   nil,   237,   nil,   nil,   292,   nil,   nil,   nil,   nil,   289,
-   289,   289,   289,   289,   289,   nil,   289,   289,   nil,   nil,
-   372,   nil,   237,   289,   237,   237,   nil,   237,   237,   nil,
-   237,   nil,   237,   nil,   237,   nil,   237,   nil,   nil,   237,
-   237,   372,   378,   372,   372,   nil,   372,   372,   nil,   372,
-   nil,   372,   nil,   372,   nil,   372,   nil,   nil,   372,   372,
-   nil,   212,   nil,   378,   nil,   378,   378,   nil,   378,   378,
-   nil,   378,   nil,   378,   nil,   378,   nil,   378,   nil,   nil,
-   378,   378,   212,   323,   212,   212,   nil,   212,   212,   nil,
-   212,   nil,   212,   nil,   212,   nil,   212,   nil,   nil,   212,
-   212,   nil,   374,   nil,   323,   nil,   323,   323,   nil,   323,
-   323,   nil,   323,   nil,   323,   nil,   323,   nil,   323,   nil,
-   nil,   323,   323,   374,   380,   374,   374,   nil,   374,   374,
-   nil,   374,   nil,   374,   nil,   374,   nil,   374,   nil,   nil,
-   374,   374,   nil,   303,   nil,   380,   nil,   380,   380,   nil,
-   380,   380,   nil,   380,   nil,   380,   nil,   380,   nil,   380,
-   nil,   nil,   380,   380,   303,   319,   303,   303,   nil,   303,
-   303,   nil,   303,   nil,   303,   nil,   303,   nil,   303,   nil,
-   nil,   303,   303,   nil,   362,   nil,   319,   nil,   319,   319,
-   nil,   319,   319,   nil,   319,   nil,   319,   nil,   319,   nil,
-   319,   nil,   nil,   319,   319,   362,   217,   362,   362,   nil,
-   362,   362,   nil,   362,   nil,   362,   nil,   362,   nil,   362,
-   nil,   nil,   362,   362,   nil,   295,   nil,   217,   nil,   217,
-   217,   nil,   217,   217,   nil,   217,   nil,   217,   nil,   217,
-   nil,   217,   nil,   nil,   217,   217,   295,   nil,   295,   295,
-   nil,   295,   295,   nil,   295,   nil,   295,   nil,   295,   nil,
-   295,   nil,   nil,   295,   295,     0,   nil,     0,     0,   nil,
-     0,     0,   nil,     0,   nil,     0,   nil,     0,   nil,     0,
-   nil,   nil,     0,     0 ]
+   130,   130,   nil,   nil,   nil,   287,   nil,   130,   287,   287,
+   287,   287,   287,   287,   nil,   287,   287,   291,   291,   nil,
+   nil,   nil,   287,   nil,   nil,   nil,   291,   291,   291,   291,
+   nil,   nil,     0,   286,     0,     0,   nil,     0,     0,   nil,
+     0,   286,     0,   nil,     0,   nil,     0,   nil,   nil,     0,
+     0,   nil,   292,   nil,   291,   291,   291,   291,   291,   291,
+   292,   291,   291,   nil,   nil,   nil,   nil,   289,   291,   286,
+   286,   286,   286,   286,   286,   289,   286,   286,   nil,   nil,
+   nil,   nil,   nil,   286,   nil,   nil,   288,   nil,   292,   292,
+   292,   292,   292,   292,   288,   292,   292,   nil,   nil,   nil,
+   nil,   nil,   292,   289,   289,   289,   289,   289,   289,   nil,
+   289,   289,   nil,   nil,   217,   nil,   nil,   289,   nil,   nil,
+   nil,   nil,   288,   288,   288,   288,   288,   288,   nil,   288,
+   288,   nil,   nil,   380,   nil,   217,   288,   217,   217,   nil,
+   217,   217,   nil,   217,   nil,   217,   nil,   217,   nil,   217,
+   nil,   nil,   217,   217,   380,   362,   380,   380,   nil,   380,
+   380,   nil,   380,   nil,   380,   nil,   380,   nil,   380,   nil,
+   nil,   380,   380,   nil,   295,   nil,   362,   nil,   362,   362,
+   nil,   362,   362,   nil,   362,   nil,   362,   nil,   362,   nil,
+   362,   nil,   nil,   362,   362,   295,   212,   295,   295,   nil,
+   295,   295,   nil,   295,   nil,   295,   nil,   295,   nil,   295,
+   nil,   nil,   295,   295,   nil,   303,   nil,   212,   nil,   212,
+   212,   nil,   212,   212,   nil,   212,   nil,   212,   nil,   212,
+   nil,   212,   nil,   nil,   212,   212,   303,   378,   303,   303,
+   nil,   303,   303,   nil,   303,   nil,   303,   nil,   303,   nil,
+   303,   nil,   nil,   303,   303,   nil,   323,   nil,   378,   nil,
+   378,   378,   nil,   378,   378,   nil,   378,   nil,   378,   nil,
+   378,   nil,   378,   nil,   nil,   378,   378,   323,   319,   323,
+   323,   nil,   323,   323,   nil,   323,   nil,   323,   nil,   323,
+   nil,   323,   nil,   nil,   323,   323,   nil,   372,   nil,   319,
+   nil,   319,   319,   nil,   319,   319,   nil,   319,   nil,   319,
+   nil,   319,   nil,   319,   nil,   nil,   319,   319,   372,   374,
+   372,   372,   nil,   372,   372,   nil,   372,   nil,   372,   nil,
+   372,   nil,   372,   nil,   nil,   372,   372,   nil,   237,   nil,
+   374,   nil,   374,   374,   nil,   374,   374,   nil,   374,   nil,
+   374,   nil,   374,   nil,   374,   nil,   nil,   374,   374,   237,
+   nil,   237,   237,   nil,   237,   237,   nil,   237,   nil,   237,
+   nil,   237,   nil,   237,   nil,   nil,   237,   237,   293,   293,
+   293,   293,   293,   293,   nil,   293,   293,   nil,   nil,   nil,
+   nil,   nil,   293,   284,   284,   284,   284,   284,   284,   nil,
+   284,   284,   nil,   nil,   nil,   nil,   nil,   284 ]
 
 racc_action_pointer = [
-  1795,   163,   443,   413,   433,   nil,   nil,     3,   434,   420,
-   nil,   nil,   142,   nil,   nil,   nil,   398,    26,   nil,  1483,
-   nil,   nil,    80,   271,   nil,   nil,   297,   nil,   367,   348,
-   166,   nil,   nil,   375,   315,   277,   337,   nil,   nil,   501,
-   nil,   nil,   nil,   221,   nil,   nil,   557,   583,   608,   622,
-   315,   329,   348,   nil,   nil,     4,   nil,   nil,   nil,   nil,
-   nil,   nil,    97,   780,   298,    -9,   309,   302,   275,   nil,
-   nil,   286,   nil,   nil,   923,   966,   nil,   279,   269,   nil,
-     6,   248,  1060,   nil,   239,   245,    -3,   177,   nil,   nil,
-   149,   137,   nil,   nil,  1209,    10,   nil,  1239,   nil,   nil,
-   755,   121,  1137,   225,   nil,   233,     3,   299,   301,   304,
-   nil,  1298,   nil,   nil,   322,   325,   nil,   nil,   nil,   323,
-   205,   331,   144,   nil,  1313,   nil,   nil,   351,   nil,   nil,
-  1359,  1374,   352,   344,   nil,   nil,   328,   nil,   350,   364,
-   361,   nil,   362,    79,   374,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,    -9,   408,   386,   nil,     2,   452,    30,   nil,
-   251,   nil,   nil,    84,   nil,    50,   nil,   nil,   nil,   nil,
-   nil,   174,   439,   436,   -14,   381,   647,   nil,   114,   nil,
-    -4,    57,    75,   197,   172,   nil,  1435,   nil,   225,   nil,
-   nil,   nil,   363,   nil,   nil,   213,   215,   241,   323,   401,
-   453,   527,    32,   673,   699,   729,  1265,   265,   806,   832,
-  1070,   249,  1612,  1118,  1166,   270,   nil,  1757,    24,    24,
-    91,   121,   nil,   nil,   142,  1044,   126,   161,  1191,   147,
-  1144,   198,   233,   238,   273,   nil,   nil,  1552,   nil,    39,
-   nil,   nil,   nil,    66,  1017,  1001,   nil,   nil,   991,   nil,
-   270,   nil,   273,   279,   948,   nil,   904,   nil,   nil,   nil,
-   nil,   nil,   nil,   451,   nil,   nil,   nil,   nil,   283,   850,
-   nil,   nil,    -5,   nil,   308,   nil,   857,     8,   nil,   226,
-   198,    67,   nil,   466,  1073,    86,   172,  1420,   411,  1515,
-   nil,  1481,  1496,   456,   nil,  1776,    -4,   356,   443,   nil,
-   145,   nil,   nil,  1694,   nil,   387,   nil,   362,   129,   nil,
-   nil,   nil,   nil,   nil,   nil,   380,   nil,   nil,   nil,  1716,
-   nil,   nil,   nil,  1634,   nil,   nil,   nil,   376,   383,   nil,
-   385,   392,   393,   nil,   nil,   nil,   nil,   410,   nil,   nil,
+  1462,   191,   448,   416,   336,   nil,   nil,     3,   443,   440,
+   nil,   nil,   206,   nil,   nil,   nil,   418,    30,   nil,  1201,
+   nil,   nil,    80,   241,   nil,   nil,   266,   nil,   284,   317,
+   186,   nil,   nil,   405,   311,   362,   349,   nil,   nil,  1244,
+   nil,   nil,   nil,   142,   nil,   nil,   489,   515,   540,   554,
+   327,   339,   361,   nil,   nil,     4,   nil,   nil,   nil,   nil,
+   nil,   nil,    84,   712,   313,    39,   320,   nil,   299,   nil,
+   293,   281,   nil,   nil,   861,   908,   nil,   261,   265,   nil,
+     6,   239,  1018,   nil,   236,   202,    -3,   180,   nil,   nil,
+   147,    26,   nil,   nil,  1167,    10,   260,   433,   nil,   nil,
+  1141,   137,  1083,   238,   nil,   301,     3,   307,   315,   319,
+   nil,  1277,   nil,   nil,   335,   337,   nil,   nil,   nil,   334,
+   162,   346,   129,   nil,  1353,   nil,   nil,   362,   nil,   nil,
+  1399,  1292,   365,   366,   nil,   391,   357,   nil,   382,   399,
+   389,   nil,   393,   115,   423,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,    -9,   444,   429,   nil,    26,   456,     2,   nil,
+   206,   nil,   nil,    -9,   nil,   139,   nil,   nil,   nil,   nil,
+   nil,   301,   441,   433,   -14,   400,   579,   nil,   121,   nil,
+    -4,    57,    75,   218,   172,   nil,  1338,   nil,   174,   nil,
+   nil,   nil,   381,   nil,   nil,   239,   215,   292,   382,   407,
+   459,    32,   605,   631,   661,   687,   738,   273,   764,   999,
+  1025,   178,  1647,  1218,  1160,    37,   nil,  1565,    91,   119,
+   136,    -5,   nil,   nil,   157,  1069,   132,   178,  1090,   164,
+  1076,   173,   205,   220,   239,   nil,   nil,  1789,   nil,    97,
+   nil,   nil,   nil,    66,   952,   934,   nil,   nil,   927,   nil,
+   268,   nil,   271,   278,   855,   nil,   836,   nil,   nil,   nil,
+   nil,   nil,   nil,   291,   nil,   nil,   nil,   nil,   283,   782,
+   nil,   nil,    78,   nil,   319,   nil,   789,     8,   nil,   325,
+    67,   249,   nil,   793,  1799,    86,  1475,  1414,  1528,  1509,
+   nil,  1460,  1494,  1784,   nil,  1625,    -4,   235,   197,   nil,
+    56,   nil,   nil,  1666,   nil,   356,   nil,   331,   144,   nil,
+   nil,   nil,   nil,   nil,   nil,   402,   nil,   nil,   nil,  1729,
+   nil,   nil,   nil,  1707,   nil,   nil,   nil,   397,   400,   nil,
+   401,   409,   410,   nil,   nil,   nil,   nil,   429,   nil,   nil,
    nil,   153,   nil,   183,   nil,   nil,   nil,   nil,   nil,    51,
-   nil,   128,   430,   nil,   nil,   110,   435,   nil,   nil,   nil,
-   nil,   nil,  1735,   nil,   nil,   nil,   nil,   439,    59,   445,
-   nil,   nil,  1571,   nil,  1653,   nil,   nil,   nil,  1593,   nil,
-  1675,   nil,   nil,   nil ]
+   nil,   128,   441,   nil,   nil,   110,   444,   nil,   nil,   nil,
+   nil,   nil,  1606,   nil,   nil,   nil,   nil,   445,    59,   449,
+   nil,   nil,  1748,   nil,  1770,   nil,   nil,   nil,  1688,   nil,
+  1584,   nil,   nil,   nil ]
 
 racc_action_default = [
   -196,  -233,  -233,   -50,  -233,    -8,    -9,  -233,  -233,   -22,
@@ -1177,20 +1181,20 @@ Racc_debug_parser = false
 
 module_eval <<'.,.,', 'grammar.ra', 46
   def _reduce_1( val, _values, result )
-    if val[0]
-        # Make sure we always return an array.
-        if val[0].is_a?(AST::ASTArray)
-            if val[0].children.empty?
-                result = nil
-            else
-                result = val[0]
-            end
-        else
-            result = aryfy(val[0])
-        end
-    else
+  if val[0]
+    # Make sure we always return an array.
+    if val[0].is_a?(AST::ASTArray)
+      if val[0].children.empty?
         result = nil
+      else
+        result = val[0]
+      end
+    else
+      result = aryfy(val[0])
     end
+  else
+    result = nil
+  end
    result
   end
 .,.,
@@ -1202,16 +1206,16 @@ module_eval <<'.,.,', 'grammar.ra', 46
 module_eval <<'.,.,', 'grammar.ra', 62
   def _reduce_4( val, _values, result )
     if val[0] and val[1]
-        if val[0].instance_of?(AST::ASTArray)
-            val[0].push(val[1])
-            result = val[0]
-        else
-            result = ast AST::ASTArray, :children => [val[0],val[1]]
-        end
-    elsif obj = (val[0] || val[1])
-        result = obj
-    else result = nil
+    if val[0].instance_of?(AST::ASTArray)
+      val[0].push(val[1])
+      result = val[0]
+    else
+      result = ast AST::ASTArray, :children => [val[0],val[1]]
     end
+  elsif obj = (val[0] || val[1])
+    result = obj
+  else result = nil
+  end
    result
   end
 .,.,
@@ -1246,7 +1250,7 @@ module_eval <<'.,.,', 'grammar.ra', 62
 
 module_eval <<'.,.,', 'grammar.ra', 82
   def _reduce_19( val, _values, result )
-    result = AST::Relationship.new(val[0], val[2], val[1][:value], ast_context)
+  result = AST::Relationship.new(val[0], val[2], val[1][:value], ast_context)
    result
   end
 .,.,
@@ -1274,35 +1278,35 @@ module_eval <<'.,.,', 'grammar.ra', 85
 
 module_eval <<'.,.,', 'grammar.ra', 98
   def _reduce_28( val, _values, result )
-    args = aryfy(val[2])
-    result = ast AST::Function,
-        :name => val[0][:value],
-        :line => val[0][:line],
-        :arguments => args,
-        :ftype => :statement
+  args = aryfy(val[2])
+  result = ast AST::Function,
+    :name => val[0][:value],
+    :line => val[0][:line],
+    :arguments => args,
+    :ftype => :statement
    result
   end
 .,.,
 
 module_eval <<'.,.,', 'grammar.ra', 106
   def _reduce_29( val, _values, result )
-    args = aryfy(val[2])
-    result = ast AST::Function,
-        :name => val[0][:value],
-        :line => val[0][:line],
-        :arguments => args,
-        :ftype => :statement
+  args = aryfy(val[2])
+  result = ast AST::Function,
+    :name => val[0][:value],
+    :line => val[0][:line],
+    :arguments => args,
+    :ftype => :statement
    result
   end
 .,.,
 
 module_eval <<'.,.,', 'grammar.ra', 112
   def _reduce_30( val, _values, result )
-    result = ast AST::Function,
-        :name => val[0][:value],
-        :line => val[0][:line],
-        :arguments => AST::ASTArray.new({}),
-        :ftype => :statement
+  result = ast AST::Function,
+    :name => val[0][:value],
+    :line => val[0][:line],
+    :arguments => AST::ASTArray.new({}),
+    :ftype => :statement
    result
   end
 .,.,
@@ -1311,10 +1315,10 @@ module_eval <<'.,.,', 'grammar.ra', 120
   def _reduce_31( val, _values, result )
     args = aryfy(val[1])
     result = ast AST::Function,
-        :name => val[0][:value],
-        :line => val[0][:line],
-        :arguments => args,
-        :ftype => :statement
+    :name => val[0][:value],
+    :line => val[0][:line],
+    :arguments => args,
+    :ftype => :statement
    result
   end
 .,.,
@@ -1335,12 +1339,12 @@ module_eval <<'.,.,', 'grammar.ra', 128
 module_eval <<'.,.,', 'grammar.ra', 137
   def _reduce_35( val, _values, result )
     unless val[0].is_a?(AST::ASTArray)
-        val[0] = aryfy(val[0])
-    end
+    val[0] = aryfy(val[0])
+  end
 
-    val[0].push(val[2])
+  val[0].push(val[2])
 
-    result = val[0]
+  result = val[0]
    result
   end
 .,.,
@@ -1363,171 +1367,166 @@ module_eval <<'.,.,', 'grammar.ra', 137
 
 module_eval <<'.,.,', 'grammar.ra', 151
   def _reduce_44( val, _values, result )
-                    result = ast AST::Name, :value => val[0][:value]
+    result = ast AST::Name, :value => val[0][:value]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 173
+module_eval <<'.,.,', 'grammar.ra', 172
   def _reduce_45( val, _values, result )
-    @lexer.commentpop
-    array = val[2]
-    if array.instance_of?(AST::ResourceInstance)
-        array = [array]
-    end
-    result = ast AST::ASTArray
+  @lexer.commentpop
+  array = val[2]
+  array = [array] if array.instance_of?(AST::ResourceInstance)
+  result = ast AST::ASTArray
 
-    # this iterates across each specified resourceinstance
-    array.each { |instance|
-        unless instance.instance_of?(AST::ResourceInstance)
-            raise Puppet::Dev, "Got something that isn't an instance"
-        end
-        # now, i need to somehow differentiate between those things with
-        # arrays in their names, and normal things
-        result.push ast(AST::Resource,
-            :type => val[0],
-            :title => instance[0],
-            :parameters => instance[1])
-    }
+  # this iterates across each specified resourceinstance
+  array.each { |instance|
+    raise Puppet::Dev, "Got something that isn't an instance" unless instance.instance_of?(AST::ResourceInstance)
+    # now, i need to somehow differentiate between those things with
+    # arrays in their names, and normal things
+
+      result.push ast(
+        AST::Resource,
+      :type => val[0],
+      :title => instance[0],
+
+      :parameters => instance[1])
+  }
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 176
+module_eval <<'.,.,', 'grammar.ra', 175
   def _reduce_46( val, _values, result )
-    # This is a deprecated syntax.
-    error "All resource specifications require names"
+  # This is a deprecated syntax.
+  error "All resource specifications require names"
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 180
+module_eval <<'.,.,', 'grammar.ra', 179
   def _reduce_47( val, _values, result )
-    # a defaults setting for a type
-    @lexer.commentpop
-    result = ast(AST::ResourceDefaults, :type => val[0], :parameters => val[2])
+  # a defaults setting for a type
+  @lexer.commentpop
+  result = ast(AST::ResourceDefaults, :type => val[0], :parameters => val[2])
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 186
+module_eval <<'.,.,', 'grammar.ra', 185
   def _reduce_48( val, _values, result )
-    @lexer.commentpop
-    result = ast AST::ResourceOverride, :object => val[0], :parameters => val[2]
+  @lexer.commentpop
+  result = ast AST::ResourceOverride, :object => val[0], :parameters => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 213
+module_eval <<'.,.,', 'grammar.ra', 210
   def _reduce_49( val, _values, result )
-    type = val[0]
+  type = val[0]
 
-    if (type == :exported and ! Puppet[:storeconfigs]) and ! Puppet[:parseonly]
-        Puppet.warning addcontext("You cannot collect without storeconfigs being set")
-    end
+  if (type == :exported and ! Puppet[:storeconfigs]) and ! Puppet[:parseonly]
+    Puppet.warning addcontext("You cannot collect without storeconfigs being set")
+  end
 
-    if val[1].is_a? AST::ResourceDefaults
-        error "Defaults are not virtualizable"
-    end
+  error "Defaults are not virtualizable" if val[1].is_a? AST::ResourceDefaults
 
-    method = type.to_s + "="
+  method = type.to_s + "="
 
-    # Just mark our resources as exported and pass them through.
-    if val[1].instance_of?(AST::ASTArray)
-        val[1].each do |obj|
-            obj.send(method, true)
-        end
-    else
-        val[1].send(method, true)
+  # Just mark our resources as exported and pass them through.
+  if val[1].instance_of?(AST::ASTArray)
+    val[1].each do |obj|
+      obj.send(method, true)
     end
+  else
+    val[1].send(method, true)
+  end
 
-    result = val[1]
+  result = val[1]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 214
+module_eval <<'.,.,', 'grammar.ra', 211
   def _reduce_50( val, _values, result )
  result = :virtual
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 215
+module_eval <<'.,.,', 'grammar.ra', 212
   def _reduce_51( val, _values, result )
  result = :exported
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 240
+module_eval <<'.,.,', 'grammar.ra', 235
   def _reduce_52( val, _values, result )
-    @lexer.commentpop
-    if val[0] =~ /^[a-z]/
-        Puppet.warning addcontext("Collection names must now be capitalized")
-    end
-    type = val[0].downcase
-    args = {:type => type}
+  @lexer.commentpop
+  Puppet.warning addcontext("Collection names must now be capitalized") if val[0] =~ /^[a-z]/
+  type = val[0].downcase
+  args = {:type => type}
 
-    if val[1].is_a?(AST::CollExpr)
-        args[:query] = val[1]
-        args[:query].type = type
-        args[:form] = args[:query].form
-    else
-        args[:form] = val[1]
-    end
-    if args[:form] == :exported and ! Puppet[:storeconfigs] and ! Puppet[:parseonly]
-        Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored")
-    end
-    args[:override] = val[3]
-    result = ast AST::Collection, args
+  if val[1].is_a?(AST::CollExpr)
+    args[:query] = val[1]
+    args[:query].type = type
+    args[:form] = args[:query].form
+  else
+    args[:form] = val[1]
+  end
+  if args[:form] == :exported and ! Puppet[:storeconfigs] and ! Puppet[:parseonly]
+    Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored")
+  end
+  args[:override] = val[3]
+  result = ast AST::Collection, args
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 259
+module_eval <<'.,.,', 'grammar.ra', 254
   def _reduce_53( val, _values, result )
     if val[0] =~ /^[a-z]/
-        Puppet.warning addcontext("Collection names must now be capitalized")
-    end
-    type = val[0].downcase
-    args = {:type => type }
+    Puppet.warning addcontext("Collection names must now be capitalized")
+  end
+  type = val[0].downcase
+  args = {:type => type }
 
-    if val[1].is_a?(AST::CollExpr)
-        args[:query] = val[1]
-        args[:query].type = type
-        args[:form] = args[:query].form
-    else
-        args[:form] = val[1]
-    end
-    if args[:form] == :exported and ! Puppet[:storeconfigs] and ! Puppet[:parseonly]
-        Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored")
-    end
-    result = ast AST::Collection, args
+  if val[1].is_a?(AST::CollExpr)
+    args[:query] = val[1]
+    args[:query].type = type
+    args[:form] = args[:query].form
+  else
+    args[:form] = val[1]
+  end
+  if args[:form] == :exported and ! Puppet[:storeconfigs] and ! Puppet[:parseonly]
+    Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored")
+  end
+  result = ast AST::Collection, args
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 269
+module_eval <<'.,.,', 'grammar.ra', 264
   def _reduce_54( val, _values, result )
-    if val[1]
-        result = val[1]
-        result.form = :virtual
-    else
-        result = :virtual
-    end
+  if val[1]
+    result = val[1]
+    result.form = :virtual
+  else
+    result = :virtual
+  end
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 277
+module_eval <<'.,.,', 'grammar.ra', 272
   def _reduce_55( val, _values, result )
     if val[1]
-        result = val[1]
-        result.form = :exported
-    else
-        result = :exported
-    end
+    result = val[1]
+    result.form = :exported
+  else
+    result = :exported
+  end
    result
   end
 .,.,
@@ -1536,7 +1535,7 @@ module_eval <<'.,.,', 'grammar.ra', 277
 
  # reduce 57 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 285
+module_eval <<'.,.,', 'grammar.ra', 280
   def _reduce_58( val, _values, result )
     result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
    result
@@ -1545,7 +1544,7 @@ module_eval <<'.,.,', 'grammar.ra', 285
 
  # reduce 59 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 291
+module_eval <<'.,.,', 'grammar.ra', 286
   def _reduce_60( val, _values, result )
     result = val[1]
     result.parens = true
@@ -1553,30 +1552,30 @@ module_eval <<'.,.,', 'grammar.ra', 291
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 292
+module_eval <<'.,.,', 'grammar.ra', 287
   def _reduce_61( val, _values, result )
  result=val[0][:value]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 293
+module_eval <<'.,.,', 'grammar.ra', 288
   def _reduce_62( val, _values, result )
  result=val[0][:value]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 300
+module_eval <<'.,.,', 'grammar.ra', 295
   def _reduce_63( val, _values, result )
-    result = ast AST::CollExpr, :test1 => val[0], :oper => val[1][:value], :test2 => val[2]
-    #result = ast AST::CollExpr
-    #result.push *val
+  result = ast AST::CollExpr, :test1 => val[0], :oper => val[1][:value], :test2 => val[2]
+  #result = ast AST::CollExpr
+  #result.push *val
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 305
+module_eval <<'.,.,', 'grammar.ra', 300
   def _reduce_64( val, _values, result )
     result = ast AST::CollExpr, :test1 => val[0], :oper => val[1][:value], :test2 => val[2]
     #result = ast AST::CollExpr
@@ -1589,23 +1588,23 @@ module_eval <<'.,.,', 'grammar.ra', 305
 
  # reduce 66 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 312
+module_eval <<'.,.,', 'grammar.ra', 307
   def _reduce_67( val, _values, result )
-    result = ast AST::ResourceInstance, :children => [val[0],val[2]]
+  result = ast AST::ResourceInstance, :children => [val[0],val[2]]
    result
   end
 .,.,
 
  # reduce 68 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 322
+module_eval <<'.,.,', 'grammar.ra', 317
   def _reduce_69( val, _values, result )
     if val[0].instance_of?(AST::ResourceInstance)
-        result = ast AST::ASTArray, :children => [val[0],val[2]]
-    else
-        val[0].push val[2]
-        result = val[0]
-    end
+    result = ast AST::ASTArray, :children => [val[0],val[2]]
+  else
+    val[0].push val[2]
+    result = val[0]
+  end
    result
   end
 .,.,
@@ -1614,23 +1613,23 @@ module_eval <<'.,.,', 'grammar.ra', 322
 
  # reduce 71 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 329
+module_eval <<'.,.,', 'grammar.ra', 324
   def _reduce_72( val, _values, result )
-    result = ast AST::Undef, :value => :undef
+  result = ast AST::Undef, :value => :undef
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 333
+module_eval <<'.,.,', 'grammar.ra', 328
   def _reduce_73( val, _values, result )
-    result = ast AST::Name, :value => val[0][:value], :line => val[0][:line]
+  result = ast AST::Name, :value => val[0][:value], :line => val[0][:line]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 337
+module_eval <<'.,.,', 'grammar.ra', 332
   def _reduce_74( val, _values, result )
-    result = ast AST::Type, :value => val[0][:value], :line => val[0][:line]
+  result = ast AST::Type, :value => val[0][:value], :line => val[0][:line]
    result
   end
 .,.,
@@ -1649,70 +1648,68 @@ module_eval <<'.,.,', 'grammar.ra', 337
 
  # reduce 81 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 354
+module_eval <<'.,.,', 'grammar.ra', 347
   def _reduce_82( val, _values, result )
-    if val[0][:value] =~ /::/
-        raise Puppet::ParseError, "Cannot assign to variables in other namespaces"
-    end
-    # this is distinct from referencing a variable
-    variable = ast AST::Name, :value => val[0][:value], :line => val[0][:line]
-    result = ast AST::VarDef, :name => variable, :value => val[2], :line => val[0][:line]
+  raise Puppet::ParseError, "Cannot assign to variables in other namespaces" if val[0][:value] =~ /::/
+  # this is distinct from referencing a variable
+  variable = ast AST::Name, :value => val[0][:value], :line => val[0][:line]
+  result = ast AST::VarDef, :name => variable, :value => val[2], :line => val[0][:line]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 357
+module_eval <<'.,.,', 'grammar.ra', 350
   def _reduce_83( val, _values, result )
     result = ast AST::VarDef, :name => val[0], :value => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 362
+module_eval <<'.,.,', 'grammar.ra', 355
   def _reduce_84( val, _values, result )
-    variable = ast AST::Name, :value => val[0][:value], :line => val[0][:line]
-    result = ast AST::VarDef, :name => variable, :value => val[2], :append => true, :line => val[0][:line]
+  variable = ast AST::Name, :value => val[0][:value], :line => val[0][:line]
+  result = ast AST::VarDef, :name => variable, :value => val[2], :append => true, :line => val[0][:line]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 367
+module_eval <<'.,.,', 'grammar.ra', 360
   def _reduce_85( val, _values, result )
-    result = ast AST::ASTArray
+  result = ast AST::ASTArray
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 367
+module_eval <<'.,.,', 'grammar.ra', 360
   def _reduce_86( val, _values, result )
  result = val[0]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 376
+module_eval <<'.,.,', 'grammar.ra', 369
   def _reduce_87( val, _values, result )
     if val[0].instance_of?(AST::ASTArray)
-        val[0].push(val[2])
-        result = val[0]
-    else
-        result = ast AST::ASTArray, :children => [val[0],val[2]]
-    end
+    val[0].push(val[2])
+    result = val[0]
+  else
+    result = ast AST::ASTArray, :children => [val[0],val[2]]
+  end
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 380
+module_eval <<'.,.,', 'grammar.ra', 373
   def _reduce_88( val, _values, result )
-    result = ast AST::ResourceParam, :param => val[0][:value], :line => val[0][:line], :value => val[2]
+  result = ast AST::ResourceParam, :param => val[0][:value], :line => val[0][:line], :value => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 385
+module_eval <<'.,.,', 'grammar.ra', 378
   def _reduce_89( val, _values, result )
-    result = ast AST::ResourceParam, :param => val[0][:value], :line => val[0][:line], :value => val[2],
-                                     :add => true
+  result = ast AST::ResourceParam, :param => val[0][:value], :line => val[0][:line], :value => val[2],
+    :add => true
    result
   end
 .,.,
@@ -1721,41 +1718,41 @@ module_eval <<'.,.,', 'grammar.ra', 385
 
  # reduce 91 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 393
+module_eval <<'.,.,', 'grammar.ra', 386
   def _reduce_92( val, _values, result )
-    result = ast AST::ASTArray
+  result = ast AST::ASTArray
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 393
+module_eval <<'.,.,', 'grammar.ra', 386
   def _reduce_93( val, _values, result )
  result = val[0]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 402
+module_eval <<'.,.,', 'grammar.ra', 395
   def _reduce_94( val, _values, result )
     if val[0].instance_of?(AST::ASTArray)
-        val[0].push(val[2])
-        result = val[0]
-    else
-        result = ast AST::ASTArray, :children => [val[0],val[2]]
-    end
+    val[0].push(val[2])
+    result = val[0]
+  else
+    result = ast AST::ASTArray, :children => [val[0],val[2]]
+  end
    result
   end
 .,.,
 
  # reduce 95 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 411
+module_eval <<'.,.,', 'grammar.ra', 404
   def _reduce_96( val, _values, result )
     if val[0].instance_of?(AST::ASTArray)
-        result = val[0].push(val[2])
-    else
-        result = ast AST::ASTArray, :children => [val[0],val[2]]
-    end
+    result = val[0].push(val[2])
+  else
+    result = ast AST::ASTArray, :children => [val[0],val[2]]
+  end
    result
   end
 .,.,
@@ -1796,136 +1793,131 @@ module_eval <<'.,.,', 'grammar.ra', 411
 
  # reduce 114 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 440
+module_eval <<'.,.,', 'grammar.ra', 433
   def _reduce_115( val, _values, result )
-    args = aryfy(val[2])
-    result = ast AST::Function,
-        :name => val[0][:value], :line => val[0][:line],
-        :arguments => args,
-        :ftype => :rvalue
+  args = aryfy(val[2])
+  result = ast AST::Function,
+    :name => val[0][:value], :line => val[0][:line],
+    :arguments => args,
+    :ftype => :rvalue
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 445
+module_eval <<'.,.,', 'grammar.ra', 438
   def _reduce_116( val, _values, result )
-    result = ast AST::Function,
-        :name => val[0][:value], :line => val[0][:line],
-        :arguments => AST::ASTArray.new({}),
-        :ftype => :rvalue
+  result = ast AST::Function,
+    :name => val[0][:value], :line => val[0][:line],
+    :arguments => AST::ASTArray.new({}),
+    :ftype => :rvalue
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 446
+module_eval <<'.,.,', 'grammar.ra', 439
   def _reduce_117( val, _values, result )
  result = ast AST::String, :value => val[0][:value],                  :line => val[0][:line]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 447
+module_eval <<'.,.,', 'grammar.ra', 440
   def _reduce_118( val, _values, result )
  result = ast AST::Concat, :value => [ast(AST::String,val[0])]+val[1], :line => val[0][:line]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 449
+module_eval <<'.,.,', 'grammar.ra', 442
   def _reduce_119( val, _values, result )
  result = [val[0]] + val[1]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 451
+module_eval <<'.,.,', 'grammar.ra', 444
   def _reduce_120( val, _values, result )
  result = [ast(AST::String,val[0])]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 452
+module_eval <<'.,.,', 'grammar.ra', 445
   def _reduce_121( val, _values, result )
  result = [ast(AST::String,val[0])] + val[1]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 457
+module_eval <<'.,.,', 'grammar.ra', 450
   def _reduce_122( val, _values, result )
-    result = ast AST::Boolean, :value => val[0][:value], :line => val[0][:line]
+  result = ast AST::Boolean, :value => val[0][:value], :line => val[0][:line]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 462
+module_eval <<'.,.,', 'grammar.ra', 455
   def _reduce_123( val, _values, result )
-    Puppet.warning addcontext("Deprecation notice:  Resource references should now be capitalized")
-    result = ast AST::ResourceReference, :type => val[0][:value], :line => val[0][:line], :title => val[2]
+  Puppet.warning addcontext("Deprecation notice:  Resource references should now be capitalized")
+  result = ast AST::ResourceReference, :type => val[0][:value], :line => val[0][:line], :title => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 464
+module_eval <<'.,.,', 'grammar.ra', 457
   def _reduce_124( val, _values, result )
-    result = ast AST::ResourceReference, :type => val[0], :title => val[2]
+  result = ast AST::ResourceReference, :type => val[0], :title => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 468
+module_eval <<'.,.,', 'grammar.ra', 461
   def _reduce_125( val, _values, result )
-    result = val[1]
+  result = val[1]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 482
+module_eval <<'.,.,', 'grammar.ra', 473
   def _reduce_126( val, _values, result )
-    @lexer.commentpop
-    args = {
-        :test => val[0],
-        :statements => val[2]
-    }
+  @lexer.commentpop
+  args = {
+    :test => val[0],
+    :statements => val[2]
+  }
 
-    if val[4]
-        args[:else] = val[4]
-    end
+  args[:else] = val[4] if val[4]
 
-    result = ast AST::IfStatement, args
+  result = ast AST::IfStatement, args
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 495
+module_eval <<'.,.,', 'grammar.ra', 484
   def _reduce_127( val, _values, result )
     @lexer.commentpop
     args = {
-        :test => val[0],
-        :statements => ast(AST::Nop)
-    }
+      :test => val[0],
+      :statements => ast(AST::Nop)
+  }
 
-    if val[3]
-        args[:else] = val[3]
-    end
+  args[:else] = val[3] if val[3]
 
-    result = ast AST::IfStatement, args
+  result = ast AST::IfStatement, args
    result
   end
 .,.,
 
  # reduce 128 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 501
+module_eval <<'.,.,', 'grammar.ra', 489
   def _reduce_129( val, _values, result )
-                #@lexer.commentpop
     result = ast AST::Else, :statements => val[1]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 505
+module_eval <<'.,.,', 'grammar.ra', 493
   def _reduce_130( val, _values, result )
     @lexer.commentpop
     result = ast AST::Else, :statements => val[2]
@@ -1933,7 +1925,7 @@ module_eval <<'.,.,', 'grammar.ra', 505
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 509
+module_eval <<'.,.,', 'grammar.ra', 497
   def _reduce_131( val, _values, result )
     @lexer.commentpop
     result = ast AST::Else, :statements => ast(AST::Nop)
@@ -1943,215 +1935,216 @@ module_eval <<'.,.,', 'grammar.ra', 509
 
  # reduce 132 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 526
+module_eval <<'.,.,', 'grammar.ra', 514
   def _reduce_133( val, _values, result )
     result = ast AST::InOperator, :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 529
+module_eval <<'.,.,', 'grammar.ra', 517
   def _reduce_134( val, _values, result )
     result = ast AST::MatchOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 532
+module_eval <<'.,.,', 'grammar.ra', 520
   def _reduce_135( val, _values, result )
     result = ast AST::MatchOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 535
+module_eval <<'.,.,', 'grammar.ra', 523
   def _reduce_136( val, _values, result )
     result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 538
+module_eval <<'.,.,', 'grammar.ra', 526
   def _reduce_137( val, _values, result )
     result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 541
+module_eval <<'.,.,', 'grammar.ra', 529
   def _reduce_138( val, _values, result )
     result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 544
+module_eval <<'.,.,', 'grammar.ra', 532
   def _reduce_139( val, _values, result )
     result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 547
+module_eval <<'.,.,', 'grammar.ra', 535
   def _reduce_140( val, _values, result )
     result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 550
+module_eval <<'.,.,', 'grammar.ra', 538
   def _reduce_141( val, _values, result )
     result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 553
+module_eval <<'.,.,', 'grammar.ra', 541
   def _reduce_142( val, _values, result )
     result = ast AST::Minus, :value => val[1]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 556
+module_eval <<'.,.,', 'grammar.ra', 544
   def _reduce_143( val, _values, result )
     result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 559
+module_eval <<'.,.,', 'grammar.ra', 547
   def _reduce_144( val, _values, result )
     result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 562
+module_eval <<'.,.,', 'grammar.ra', 550
   def _reduce_145( val, _values, result )
     result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 565
+module_eval <<'.,.,', 'grammar.ra', 553
   def _reduce_146( val, _values, result )
     result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 568
+module_eval <<'.,.,', 'grammar.ra', 556
   def _reduce_147( val, _values, result )
     result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 571
+module_eval <<'.,.,', 'grammar.ra', 559
   def _reduce_148( val, _values, result )
     result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 574
+module_eval <<'.,.,', 'grammar.ra', 562
   def _reduce_149( val, _values, result )
     result = ast AST::Not, :value => val[1]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 577
+module_eval <<'.,.,', 'grammar.ra', 565
   def _reduce_150( val, _values, result )
     result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 580
+module_eval <<'.,.,', 'grammar.ra', 568
   def _reduce_151( val, _values, result )
     result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 583
+module_eval <<'.,.,', 'grammar.ra', 571
   def _reduce_152( val, _values, result )
     result = val[1]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 592
+module_eval <<'.,.,', 'grammar.ra', 578
   def _reduce_153( val, _values, result )
-    @lexer.commentpop
-    options = val[3]
-    unless options.instance_of?(AST::ASTArray)
-        options = ast AST::ASTArray, :children => [val[3]]
-    end
-    result = ast AST::CaseStatement, :test => val[1], :options => options
+  @lexer.commentpop
+  options = val[3]
+  options = ast AST::ASTArray, :children => [val[3]] unless options.instance_of?(AST::ASTArray)
+  result = ast AST::CaseStatement, :test => val[1], :options => options
    result
   end
 .,.,
 
  # reduce 154 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 602
+module_eval <<'.,.,', 'grammar.ra', 588
   def _reduce_155( val, _values, result )
     if val[0].instance_of?(AST::ASTArray)
-        val[0].push val[1]
-        result = val[0]
-    else
-        result = ast AST::ASTArray, :children => [val[0], val[1]]
-    end
+    val[0].push val[1]
+    result = val[0]
+  else
+    result = ast AST::ASTArray, :children => [val[0], val[1]]
+  end
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 607
+module_eval <<'.,.,', 'grammar.ra', 593
   def _reduce_156( val, _values, result )
-    @lexer.commentpop
-    result = ast AST::CaseOpt, :value => val[0], :statements => val[3]
+  @lexer.commentpop
+  result = ast AST::CaseOpt, :value => val[0], :statements => val[3]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 613
+module_eval <<'.,.,', 'grammar.ra', 602
   def _reduce_157( val, _values, result )
-    @lexer.commentpop
-    result = ast(AST::CaseOpt,
-        :value => val[0],
-        :statements => ast(AST::ASTArray)
-    )
+  @lexer.commentpop
+
+    result = ast(
+    AST::CaseOpt,
+    :value => val[0],
+
+    :statements => ast(AST::ASTArray)
+  )
    result
   end
 .,.,
 
  # reduce 158 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 623
+module_eval <<'.,.,', 'grammar.ra', 612
   def _reduce_159( val, _values, result )
     if val[0].instance_of?(AST::ASTArray)
-        val[0].push(val[2])
-        result = val[0]
-    else
-        result = ast AST::ASTArray, :children => [val[0],val[2]]
-    end
+    val[0].push(val[2])
+    result = val[0]
+  else
+    result = ast AST::ASTArray, :children => [val[0],val[2]]
+  end
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 627
+module_eval <<'.,.,', 'grammar.ra', 616
   def _reduce_160( val, _values, result )
-    result = ast AST::Selector, :param => val[0], :values => val[2]
+  result = ast AST::Selector, :param => val[0], :values => val[2]
    result
   end
 .,.,
 
  # reduce 161 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 633
+module_eval <<'.,.,', 'grammar.ra', 622
   def _reduce_162( val, _values, result )
     @lexer.commentpop
     result = val[1]
@@ -2161,21 +2154,21 @@ module_eval <<'.,.,', 'grammar.ra', 633
 
  # reduce 163 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 643
+module_eval <<'.,.,', 'grammar.ra', 632
   def _reduce_164( val, _values, result )
     if val[0].instance_of?(AST::ASTArray)
-        val[0].push(val[2])
-        result = val[0]
-    else
-        result = ast AST::ASTArray, :children => [val[0],val[2]]
-    end
+    val[0].push(val[2])
+    result = val[0]
+  else
+    result = ast AST::ASTArray, :children => [val[0],val[2]]
+  end
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 647
+module_eval <<'.,.,', 'grammar.ra', 636
   def _reduce_165( val, _values, result )
-    result = ast AST::ResourceParam, :param => val[0], :value => val[2]
+  result = ast AST::ResourceParam, :param => val[0], :value => val[2]
    result
   end
 .,.,
@@ -2194,7 +2187,7 @@ module_eval <<'.,.,', 'grammar.ra', 647
 
  # reduce 172 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 658
+module_eval <<'.,.,', 'grammar.ra', 647
   def _reduce_173( val, _values, result )
     result = ast AST::Default, :value => val[0][:value], :line => val[0][:line]
    result
@@ -2203,7 +2196,7 @@ module_eval <<'.,.,', 'grammar.ra', 658
 
  # reduce 174 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 661
+module_eval <<'.,.,', 'grammar.ra', 650
   def _reduce_175( val, _values, result )
  result = [val[0][:value]]
    result
@@ -2212,108 +2205,108 @@ module_eval <<'.,.,', 'grammar.ra', 661
 
  # reduce 176 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 663
+module_eval <<'.,.,', 'grammar.ra', 652
   def _reduce_177( val, _values, result )
  result = val[0] += val[2]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 672
+module_eval <<'.,.,', 'grammar.ra', 661
   def _reduce_178( val, _values, result )
-    val[1].each do |file|
-        import(file)
-    end
+  val[1].each do |file|
+    import(file)
+  end
 
-    result = AST::ASTArray.new(:children => [])
+  result = AST::ASTArray.new(:children => [])
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 683
+module_eval <<'.,.,', 'grammar.ra', 672
   def _reduce_179( val, _values, result )
-    @lexer.commentpop
-    newdefine classname(val[1]), :arguments => val[2], :code => val[4], :line => val[0][:line]
-    @lexer.indefine = false
-    result = nil
+  @lexer.commentpop
+  newdefine classname(val[1]), :arguments => val[2], :code => val[4], :line => val[0][:line]
+  @lexer.indefine = false
+  result = nil
 
 #}           | DEFINE NAME argumentlist parent LBRACE RBRACE {
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 688
+module_eval <<'.,.,', 'grammar.ra', 677
   def _reduce_180( val, _values, result )
-    @lexer.commentpop
-    newdefine classname(val[1]), :arguments => val[2], :line => val[0][:line]
-    @lexer.indefine = false
-    result = nil
+  @lexer.commentpop
+  newdefine classname(val[1]), :arguments => val[2], :line => val[0][:line]
+  @lexer.indefine = false
+  result = nil
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 697
+module_eval <<'.,.,', 'grammar.ra', 686
   def _reduce_181( val, _values, result )
-    @lexer.commentpop
-    # Our class gets defined in the parent namespace, not our own.
-    @lexer.namepop
-    newclass classname(val[1]), :arguments => val[2], :parent => val[3], :code => val[5], :line => val[0][:line]
-    result = nil
+  @lexer.commentpop
+  # Our class gets defined in the parent namespace, not our own.
+  @lexer.namepop
+  newclass classname(val[1]), :arguments => val[2], :parent => val[3], :code => val[5], :line => val[0][:line]
+  result = nil
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 703
+module_eval <<'.,.,', 'grammar.ra', 692
   def _reduce_182( val, _values, result )
-    @lexer.commentpop
-    # Our class gets defined in the parent namespace, not our own.
-    @lexer.namepop
-    newclass classname(val[1]), :arguments => val[2], :parent => val[3], :line => val[0][:line]
-    result = nil
+  @lexer.commentpop
+  # Our class gets defined in the parent namespace, not our own.
+  @lexer.namepop
+  newclass classname(val[1]), :arguments => val[2], :parent => val[3], :line => val[0][:line]
+  result = nil
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 709
+module_eval <<'.,.,', 'grammar.ra', 698
   def _reduce_183( val, _values, result )
-    @lexer.commentpop
-    newnode val[1], :parent => val[2], :code => val[4], :line => val[0][:line]
-    result = nil
+  @lexer.commentpop
+  newnode val[1], :parent => val[2], :code => val[4], :line => val[0][:line]
+  result = nil
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 713
+module_eval <<'.,.,', 'grammar.ra', 702
   def _reduce_184( val, _values, result )
-    @lexer.commentpop
-    newnode val[1], :parent => val[2], :line => val[0][:line]
-    result = nil
+  @lexer.commentpop
+  newnode val[1], :parent => val[2], :line => val[0][:line]
+  result = nil
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 714
+module_eval <<'.,.,', 'grammar.ra', 703
   def _reduce_185( val, _values, result )
  result = val[0][:value]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 716
+module_eval <<'.,.,', 'grammar.ra', 705
   def _reduce_186( val, _values, result )
  result = val[0][:value]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 717
+module_eval <<'.,.,', 'grammar.ra', 706
   def _reduce_187( val, _values, result )
  result = val[0][:value]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 718
+module_eval <<'.,.,', 'grammar.ra', 707
   def _reduce_188( val, _values, result )
  result = "class"
    result
@@ -2322,7 +2315,7 @@ module_eval <<'.,.,', 'grammar.ra', 718
 
  # reduce 189 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 728
+module_eval <<'.,.,', 'grammar.ra', 717
   def _reduce_190( val, _values, result )
     result = val[0]
     result = [result] unless result.is_a?(Array)
@@ -2331,28 +2324,28 @@ module_eval <<'.,.,', 'grammar.ra', 728
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 732
+module_eval <<'.,.,', 'grammar.ra', 721
   def _reduce_191( val, _values, result )
-    result = ast AST::HostName, :value => val[0]
+  result = ast AST::HostName, :value => val[0]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 733
+module_eval <<'.,.,', 'grammar.ra', 722
   def _reduce_192( val, _values, result )
  result = val[0][:value]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 734
+module_eval <<'.,.,', 'grammar.ra', 723
   def _reduce_193( val, _values, result )
  result = val[0][:value]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 735
+module_eval <<'.,.,', 'grammar.ra', 724
   def _reduce_194( val, _values, result )
  result = val[0][:value]
    result
@@ -2361,30 +2354,30 @@ module_eval <<'.,.,', 'grammar.ra', 735
 
  # reduce 195 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 741
+module_eval <<'.,.,', 'grammar.ra', 730
   def _reduce_196( val, _values, result )
-    result = nil
+  result = nil
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 745
+module_eval <<'.,.,', 'grammar.ra', 734
   def _reduce_197( val, _values, result )
-    result = ast AST::ASTArray, :children => []
+  result = ast AST::ASTArray, :children => []
    result
   end
 .,.,
 
  # reduce 198 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 750
+module_eval <<'.,.,', 'grammar.ra', 739
   def _reduce_199( val, _values, result )
     result = nil
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 754
+module_eval <<'.,.,', 'grammar.ra', 743
   def _reduce_200( val, _values, result )
     result = val[1]
     result = [result] unless result[0].is_a?(Array)
@@ -2394,7 +2387,7 @@ module_eval <<'.,.,', 'grammar.ra', 754
 
  # reduce 201 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 761
+module_eval <<'.,.,', 'grammar.ra', 750
   def _reduce_202( val, _values, result )
     result = val[0]
     result = [result] unless result[0].is_a?(Array)
@@ -2403,15 +2396,15 @@ module_eval <<'.,.,', 'grammar.ra', 761
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 766
+module_eval <<'.,.,', 'grammar.ra', 755
   def _reduce_203( val, _values, result )
-    Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
-    result = [val[0][:value], val[2]]
+  Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
+  result = [val[0][:value], val[2]]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 770
+module_eval <<'.,.,', 'grammar.ra', 759
   def _reduce_204( val, _values, result )
     Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
     result = [val[0][:value]]
@@ -2419,23 +2412,23 @@ module_eval <<'.,.,', 'grammar.ra', 770
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 772
+module_eval <<'.,.,', 'grammar.ra', 761
   def _reduce_205( val, _values, result )
-    result = [val[0][:value], val[2]]
+  result = [val[0][:value], val[2]]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 774
+module_eval <<'.,.,', 'grammar.ra', 763
   def _reduce_206( val, _values, result )
-    result = [val[0][:value]]
+  result = [val[0][:value]]
    result
   end
 .,.,
 
  # reduce 207 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 779
+module_eval <<'.,.,', 'grammar.ra', 768
   def _reduce_208( val, _values, result )
     result = val[1]
    result
@@ -2444,7 +2437,7 @@ module_eval <<'.,.,', 'grammar.ra', 779
 
  # reduce 209 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 784
+module_eval <<'.,.,', 'grammar.ra', 773
   def _reduce_210( val, _values, result )
     result = val[1]
    result
@@ -2455,38 +2448,38 @@ module_eval <<'.,.,', 'grammar.ra', 784
 
  # reduce 212 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 790
+module_eval <<'.,.,', 'grammar.ra', 779
   def _reduce_213( val, _values, result )
-    result = ast AST::Variable, :value => val[0][:value], :line => val[0][:line]
+  result = ast AST::Variable, :value => val[0][:value], :line => val[0][:line]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 798
+module_eval <<'.,.,', 'grammar.ra', 787
   def _reduce_214( val, _values, result )
-    if val[1].instance_of?(AST::ASTArray)
-        result = val[1]
-    else
-        result = ast AST::ASTArray, :children => [val[1]]
-    end
+  if val[1].instance_of?(AST::ASTArray)
+    result = val[1]
+  else
+    result = ast AST::ASTArray, :children => [val[1]]
+  end
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 805
+module_eval <<'.,.,', 'grammar.ra', 794
   def _reduce_215( val, _values, result )
     if val[1].instance_of?(AST::ASTArray)
-        result = val[1]
-    else
-        result = ast AST::ASTArray, :children => [val[1]]
-    end
+    result = val[1]
+  else
+    result = ast AST::ASTArray, :children => [val[1]]
+  end
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 807
+module_eval <<'.,.,', 'grammar.ra', 796
   def _reduce_216( val, _values, result )
-    result = ast AST::ASTArray
+  result = ast AST::ASTArray
    result
   end
 .,.,
@@ -2497,94 +2490,94 @@ module_eval <<'.,.,', 'grammar.ra', 807
 
  # reduce 219 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 812
+module_eval <<'.,.,', 'grammar.ra', 801
   def _reduce_220( val, _values, result )
  result = nil
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 817
+module_eval <<'.,.,', 'grammar.ra', 806
   def _reduce_221( val, _values, result )
-    result = ast AST::Regex, :value => val[0][:value]
+  result = ast AST::Regex, :value => val[0][:value]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 825
+module_eval <<'.,.,', 'grammar.ra', 814
   def _reduce_222( val, _values, result )
-    if val[1].instance_of?(AST::ASTHash)
-        result = val[1]
-    else
-        result = ast AST::ASTHash, { :value => val[1] }
-    end
+  if val[1].instance_of?(AST::ASTHash)
+    result = val[1]
+  else
+    result = ast AST::ASTHash, { :value => val[1] }
+  end
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 832
+module_eval <<'.,.,', 'grammar.ra', 821
   def _reduce_223( val, _values, result )
     if val[1].instance_of?(AST::ASTHash)
-        result = val[1]
-    else
-        result = ast AST::ASTHash, { :value => val[1] }
-    end
+    result = val[1]
+  else
+    result = ast AST::ASTHash, { :value => val[1] }
+  end
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 834
+module_eval <<'.,.,', 'grammar.ra', 823
   def _reduce_224( val, _values, result )
-    result = ast AST::ASTHash
+  result = ast AST::ASTHash
    result
   end
 .,.,
 
  # reduce 225 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 844
+module_eval <<'.,.,', 'grammar.ra', 833
   def _reduce_226( val, _values, result )
     if val[0].instance_of?(AST::ASTHash)
-        result = val[0].merge(val[2])
-    else
-        result = ast AST::ASTHash, :value => val[0]
-        result.merge(val[2])
-    end
+    result = val[0].merge(val[2])
+  else
+    result = ast AST::ASTHash, :value => val[0]
+    result.merge(val[2])
+  end
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 848
+module_eval <<'.,.,', 'grammar.ra', 837
   def _reduce_227( val, _values, result )
-    result = ast AST::ASTHash, { :value => { val[0] => val[2] } }
+  result = ast AST::ASTHash, { :value => { val[0] => val[2] } }
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 849
+module_eval <<'.,.,', 'grammar.ra', 838
   def _reduce_228( val, _values, result )
  result = val[0][:value]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 850
+module_eval <<'.,.,', 'grammar.ra', 839
   def _reduce_229( val, _values, result )
  result = val[0]
    result
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 855
+module_eval <<'.,.,', 'grammar.ra', 844
   def _reduce_230( val, _values, result )
-    result = ast AST::HashOrArrayAccess, :variable => val[0][:value], :key => val[2]
+  result = ast AST::HashOrArrayAccess, :variable => val[0][:value], :key => val[2]
    result
   end
 .,.,
 
  # reduce 231 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 860
+module_eval <<'.,.,', 'grammar.ra', 849
   def _reduce_232( val, _values, result )
     result = ast AST::HashOrArrayAccess, :variable => val[0], :key => val[2]
    result
diff --git a/spec/integration/parser/parser_spec.rb b/spec/integration/parser/parser_spec.rb
index 7b85bca..20d87c2 100755
--- a/spec/integration/parser/parser_spec.rb
+++ b/spec/integration/parser/parser_spec.rb
@@ -109,5 +109,12 @@ describe Puppet::Parser::Parser do
     it "should correctly set the arrow type of a relationship" do
       "Notify[foo] <~ Notify[bar]".should parse_with { |rel| rel.arrow == "<~" }
     end
+
+    it "should be able to parse deep hash access" do
+      %q{
+        $hash = { 'a' => { 'b' => { 'c' => 'it works' } } }
+        $out = $hash['a']['b']['c']
+      }.should parse_with { |v| v.value.is_a?(Puppet::Parser::AST::ASTHash) }
+    end
   end
 end

-- 
Puppet packaging for Debian



More information about the Pkg-puppet-devel mailing list