[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, master, updated. debian/0.24.6-1-356-g5718585

James Turnbull james at lovedthanlost.net
Fri Jan 23 14:21:28 UTC 2009


The following commit has been merged in the master branch:
commit 6d05cbc1e1a22d4316e18fb22d5cff9c7a42d3cf
Author: Brice Figureau <brice-puppet at daysofwonder.com>
Date:   Thu Oct 16 22:02:37 2008 +0200

    Fix #936 - Allow trailing comma in array definition
    
    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 0a85c2c..23c2934 100644
--- a/lib/puppet/parser/grammar.ra
+++ b/lib/puppet/parser/grammar.ra
@@ -703,6 +703,13 @@ array:        LBRACK rvalues RBRACK {
     else
         result = ast AST::ASTArray, :children => [val[1]]
     end
+}
+            | LBRACK rvalues COMMA RBRACK {
+    if val[1].instance_of?(AST::ASTArray)
+        result = val[1]
+    else
+        result = ast AST::ASTArray, :children => [val[1]]
+    end
 }           | LBRACK RBRACK {
     result = ast AST::ASTArray
 }
diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb
index 356867b..713f93e 100644
--- a/lib/puppet/parser/parser.rb
+++ b/lib/puppet/parser/parser.rb
@@ -29,7 +29,7 @@ module Puppet
 
     class Parser < Racc::Parser
 
-module_eval <<'..end grammar.ra modeval..idf3068bc200', 'grammar.ra', 734
+module_eval <<'..end grammar.ra modeval..id5cb4445525', 'grammar.ra', 741
 
 # It got too annoying having code in a file that needs to be compiled.
 require 'puppet/parser/parser_support'
@@ -41,7 +41,7 @@ require 'puppet/parser/parser_support'
 
 # $Id$
 
-..end grammar.ra modeval..idf3068bc200
+..end grammar.ra modeval..id5cb4445525
 
 ##### racc 1.4.5 generates ###
 
@@ -233,54 +233,55 @@ racc_reduce_table = [
  1, 130, :_reduce_none,
  1, 81, :_reduce_185,
  3, 105, :_reduce_186,
- 2, 105, :_reduce_187,
+ 4, 105, :_reduce_187,
+ 2, 105, :_reduce_188,
  1, 112, :_reduce_none,
  1, 112, :_reduce_none,
  0, 91, :_reduce_none,
- 1, 91, :_reduce_191 ]
+ 1, 91, :_reduce_192 ]
 
-racc_reduce_n = 192
+racc_reduce_n = 193
 
-racc_shift_n = 315
+racc_shift_n = 317
 
 racc_action_table = [
-    75,    57,    61,   259,   179,    38,    40,    35,    44,   196,
-    54,   285,    45,   238,     3,     6,   187,   296,   239,  -145,
-    74,    75,    57,    61,   284,    47,    38,    40,   194,   195,
+    75,    57,    61,   260,   179,    38,    40,    35,    44,   196,
+    54,   287,    45,   239,     3,     6,   187,   298,   240,  -145,
+    74,    75,    57,    61,   286,    47,    38,    40,   194,   195,
    132,    49,    38,    40,   112,    60,    64,   194,   195,    70,
     41,    74,   149,    43,    55,    77,   178,   118,    66,    48,
    141,    87,    49,    75,    57,    61,    60,    64,    49,   109,
-    70,    41,   252,   123,    43,    55,    77,    41,   105,    66,
+    70,    41,   253,   123,    43,    55,    77,    41,   105,    66,
     43,  -146,    87,    74,    75,    57,    61,   202,   151,   152,
-   153,   139,   140,   142,    49,   280,   128,   133,    60,    64,
-   201,   238,    70,   279,    74,   149,   239,    55,    77,   270,
+   153,   139,   140,   142,    49,   282,   128,   133,    60,    64,
+   201,   239,    70,   281,    74,   149,   240,    55,    77,   271,
    118,    66,   179,   141,    87,    49,    75,    57,    61,    60,
     64,    49,   193,    70,    35,   132,   123,   174,    55,    77,
-   192,     3,    66,    35,   257,    87,    74,    75,    57,    61,
+   192,     3,    66,    35,   258,    87,    74,    75,    57,    61,
      3,   151,   152,   153,   139,   140,   142,    49,   116,    35,
    155,    60,    64,   153,   139,    70,     3,    74,   149,  -147,
     55,    77,  -143,   118,    66,   156,   141,    87,    49,    75,
     57,    61,    60,    64,    49,   157,    70,   153,   139,   123,
    134,    55,    77,    57,    61,    66,    33,    34,    87,    74,
     75,    57,    61,   132,   151,   152,   153,   139,   140,   142,
-    49,  -145,   203,   273,    60,    64,   187,   188,    70,  -142,
-    74,   149,  -144,    55,    77,    45,   118,    66,    44,   141,
-    87,    49,    75,    57,    61,    60,    64,    49,  -142,    70,
-    57,    61,   123,  -159,    55,    77,   128,   177,    66,   181,
-  -143,    87,    74,    75,    57,    61,   116,   151,   152,   153,
-   139,   140,   142,    49,   276,   198,   247,    60,    64,   194,
-   195,    70,  -145,    74,   186,   183,    55,    77,   187,   188,
-    66,   216,  -142,    87,    49,   187,   188,   281,    60,    64,
-   150,   282,    70,   151,   152,   153,   139,    55,    77,   145,
-   149,    66,   283,   190,    87,   105,   288,   101,   141,   143,
-   146,   148,   190,   116,    75,    57,    61,   151,   152,   153,
-   139,   140,   142,   151,   152,   153,   139,   140,   142,    98,
-    97,  -142,   144,   147,    74,  -144,   151,   152,   153,   139,
-   140,   142,  -143,  -147,  -144,    49,    75,    57,    61,    60,
-    64,   245,   243,    70,   151,   152,   153,   139,    55,    77,
-   276,   299,    66,   300,  -144,    87,    74,    75,    57,    61,
-   179,  -145,  -148,    73,   190,  -143,   308,    49,  -191,    37,
-  -147,    60,    64,  -146,   290,    70,   nil,    74,   nil,   nil,
+    49,  -145,   203,   274,    60,    64,   187,   188,    70,   275,
+    74,   149,  -142,    55,    77,  -144,   118,    66,    45,   141,
+    87,    49,    75,    57,    61,    60,    64,    49,    44,    70,
+    57,    61,   123,  -142,    55,    77,  -159,   128,    66,   177,
+   181,    87,    74,    75,    57,    61,  -143,   151,   152,   153,
+   139,   140,   142,    49,   116,   198,   278,    60,    64,   194,
+   195,    70,   248,    74,   186,  -145,    55,    77,   187,   188,
+    66,   216,   183,    87,    49,   187,   217,  -142,    60,    64,
+   150,   283,    70,   151,   152,   153,   139,    55,    77,   145,
+   149,    66,   284,   285,    87,   190,   105,   290,   141,   143,
+   146,   148,   101,   190,    75,    57,    61,   151,   152,   153,
+   139,   140,   142,   151,   152,   153,   139,   140,   142,   116,
+    98,    97,   144,   147,    74,  -142,   151,   152,   153,   139,
+   140,   142,  -144,  -143,  -147,    49,    75,    57,    61,    60,
+    64,  -144,   246,    70,   151,   152,   153,   139,    55,    77,
+   244,   278,    66,   301,   302,    87,    74,    75,    57,    61,
+  -144,   179,  -145,  -148,    73,   190,  -143,    49,   310,  -192,
+    37,    60,    64,  -147,  -146,    70,   292,    74,   nil,   nil,
     55,    77,   nil,   nil,    66,   nil,   nil,    87,    49,    75,
     57,    61,    60,    64,   nil,   nil,    70,   nil,   nil,   nil,
    nil,    55,    77,   nil,   nil,    66,   nil,   nil,    87,    74,
@@ -305,75 +306,73 @@ racc_action_table = [
    nil,   nil,    55,    77,   nil,   nil,    66,   nil,   nil,    87,
     51,    75,    57,    61,   nil,   nil,   nil,    75,    57,    61,
    nil,    49,   nil,   nil,   nil,    60,    64,   nil,   nil,    70,
-   nil,   nil,   nil,    52,    55,   nil,   nil,   nil,    66,    75,
-    57,    61,    49,   nil,   nil,   nil,    60,   168,    49,   nil,
+   nil,   nil,   nil,    52,    55,    75,    57,    61,    66,   nil,
+   nil,   nil,    49,   nil,   nil,   nil,    60,   168,    49,   nil,
     70,   nil,    60,   209,   nil,   161,    70,   nil,   nil,    66,
-   nil,   161,   nil,   nil,   nil,    66,    75,    57,    61,   137,
-    49,   nil,   nil,   nil,    60,    64,   nil,   nil,    70,   nil,
-    75,    57,    61,    55,   nil,   nil,   nil,    66,   nil,   nil,
-    75,    57,    61,   nil,   nil,   nil,   nil,    49,   nil,   nil,
-   nil,    60,    64,   nil,   nil,    70,    75,    57,    61,   nil,
-    55,    49,   nil,   nil,    66,    60,    64,   nil,   nil,    70,
-   nil,    49,   nil,   nil,    55,    60,    64,   nil,    66,    70,
-    75,    57,    61,   nil,    55,   nil,   nil,    49,    66,   nil,
-   nil,    60,    64,   nil,   nil,    70,    75,    57,    61,   nil,
-    55,   nil,   nil,   nil,    66,   nil,    75,    57,    61,   nil,
-   nil,    49,    75,    57,    61,    60,    64,   nil,   nil,    70,
-   nil,   nil,   nil,   nil,    55,   nil,   nil,    49,    66,    57,
-    61,    60,    64,   nil,   nil,    70,   nil,    49,   nil,   nil,
-    55,    60,    64,    49,    66,    70,   nil,    60,    64,   nil,
-    55,    70,    57,    61,    66,   nil,    55,   nil,   nil,    49,
-    66,   nil,   nil,    60,   209,   nil,   nil,    70,    57,    61,
-    57,    61,   161,   nil,   nil,   nil,    66,   nil,   nil,   nil,
-   nil,   nil,    49,   nil,    57,    61,    60,   209,   269,   nil,
-    70,   nil,   nil,   nil,   nil,   161,   nil,   nil,    49,    66,
-    49,   nil,    60,    64,    60,   209,    70,   nil,    70,   nil,
-    52,    55,   nil,   161,    49,    66,   nil,    66,    60,   209,
-    57,    61,    70,   nil,   nil,   nil,   nil,   161,   nil,   nil,
-   nil,    66,   nil,   nil,    57,    61,   nil,   nil,   nil,   nil,
-   130,   nil,   nil,   nil,    57,    61,   nil,   nil,   278,   nil,
-    49,   nil,   nil,   nil,    60,    64,   nil,   nil,    70,    57,
-    61,   nil,    52,    55,    49,    57,    61,    66,    60,    64,
-   nil,   nil,    70,   nil,    49,   nil,    52,    55,    60,   209,
-   nil,    66,    70,    57,    61,   nil,   210,   161,   nil,    49,
-   nil,    66,   nil,    60,   209,    49,   nil,    70,   nil,    60,
-   209,   nil,   161,    70,    57,    61,    66,   nil,   161,   nil,
-   nil,   nil,    66,    49,   nil,   nil,   nil,    60,   209,   nil,
-   nil,    70,   nil,   nil,   205,   nil,   161,   nil,   nil,   nil,
-    66,   nil,   nil,   nil,    49,   nil,   nil,   nil,    60,    64,
-   nil,   nil,    70,   145,   149,   nil,    52,    55,   nil,   nil,
-   nil,    66,   141,   143,   146,   148,   145,   149,   nil,   nil,
-   nil,   nil,   145,   149,   215,   141,   143,   146,   148,   nil,
-   nil,   141,   143,   146,   148,   nil,   144,   147,   nil,   nil,
-   151,   152,   153,   139,   140,   142,   nil,   nil,   nil,   144,
-   147,   nil,   nil,   151,   152,   153,   139,   140,   142,   151,
-   152,   153,   139,   140,   142,   145,   149,   nil,   nil,   nil,
-   nil,   nil,   nil,   nil,   141,   143,   146,   148,   145,   149,
-   nil,   nil,   nil,   nil,   nil,   nil,   nil,   141,   143,   146,
+   nil,   161,   nil,   nil,   nil,    66,    49,   nil,   nil,   nil,
+    60,    64,   nil,   nil,    70,    75,    57,    61,   137,    55,
+   nil,   nil,   nil,    66,   nil,    75,    57,    61,   nil,   nil,
+   nil,    75,    57,    61,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,    75,    57,    61,   nil,   nil,    49,    75,    57,    61,
+    60,    64,   nil,   nil,    70,   nil,    49,   nil,   nil,    55,
+    60,    64,    49,    66,    70,   nil,    60,    64,   nil,    55,
+    70,   nil,    49,    66,   nil,    55,    60,    64,    49,    66,
+    70,   nil,    60,    64,   nil,    55,    70,   nil,   nil,    66,
+   nil,    55,    75,    57,    61,    66,   nil,   nil,    75,    57,
+    61,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    75,    57,
+    61,   nil,   nil,   nil,   nil,    57,    61,   nil,   nil,   nil,
+   nil,   nil,   nil,    49,   nil,    57,    61,    60,    64,    49,
+   nil,    70,   nil,    60,    64,   nil,    55,    70,   nil,    49,
+    66,   nil,    55,    60,    64,    49,    66,    70,   nil,    60,
+   209,   nil,    55,    70,   nil,    49,    66,   nil,   161,    60,
+   209,   nil,    66,    70,    57,    61,    57,    61,   161,   nil,
+   nil,   nil,    66,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
+    57,    61,    57,    61,   270,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,   nil,    49,   nil,    49,   nil,    60,    64,
+    60,   209,    70,   nil,    70,   nil,    52,    55,   nil,   161,
+    49,    66,    49,    66,    60,   209,    60,    64,    70,   nil,
+    70,    57,    61,   161,    52,    55,   nil,    66,   nil,    66,
+   nil,    57,    61,   nil,   nil,   280,   nil,    57,    61,   nil,
+   nil,   130,   nil,   nil,   nil,   nil,   nil,    57,    61,   nil,
+   nil,    49,   nil,   nil,   nil,    60,    64,    57,    61,    70,
+   210,    49,   nil,    52,    55,    60,   209,    49,    66,    70,
+   nil,    60,   209,   nil,   161,    70,   nil,    49,    66,   nil,
+   161,    60,   209,   nil,    66,    70,   nil,    49,    57,    61,
+   161,    60,   209,   nil,    66,    70,   nil,   nil,   nil,   nil,
+   161,   nil,   nil,   nil,    66,   145,   149,   nil,   205,   nil,
+   nil,   nil,   nil,   nil,   141,   143,   146,   148,    49,   nil,
+   nil,   nil,    60,    64,   nil,   nil,    70,   nil,   nil,   nil,
+    52,    55,   nil,   nil,   nil,    66,   nil,   nil,   144,   147,
+   145,   149,   151,   152,   153,   139,   140,   142,   215,   141,
+   143,   146,   148,   145,   149,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,   141,   143,   146,   148,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,   144,   147,   145,   149,   151,   152,   153,
+   139,   140,   142,   nil,   141,   143,   146,   148,   145,   149,
+   151,   152,   153,   139,   140,   142,   nil,   141,   143,   146,
    148,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   147,
-   287,   nil,   151,   152,   153,   139,   140,   142,   nil,   nil,
+   289,   nil,   151,   152,   153,   139,   140,   142,   nil,   nil,
    nil,   144,   147,   nil,   nil,   151,   152,   153,   139,   140,
-   142,    16,   292,    23,    26,   nil,     1,     4,   nil,     9,
+   142,    16,   294,    23,    26,   nil,     1,     4,   nil,     9,
    nil,    13,   nil,    20,   nil,    27,   nil,   nil,     3,     6,
-   nil,   293,   nil,    16,   nil,    23,    26,   nil,     1,     4,
+   nil,   295,   nil,    16,   nil,    23,    26,   nil,     1,     4,
    nil,     9,   nil,    13,   nil,    20,   nil,    27,   nil,   nil,
-     3,     6,    16,   274,    23,    26,   nil,     1,     4,   nil,
+     3,     6,    16,   276,    23,    26,   nil,     1,     4,   nil,
      9,   nil,    13,   nil,    20,   nil,    27,   nil,   nil,     3,
-     6,   nil,   305,   nil,    16,   nil,    23,    26,   nil,     1,
+     6,   nil,   307,   nil,    16,   nil,    23,    26,   nil,     1,
      4,   nil,     9,   nil,    13,   nil,    20,   nil,    27,   nil,
-   nil,     3,     6,    16,   229,    23,    26,   nil,     1,     4,
+   nil,     3,     6,    16,   230,    23,    26,   nil,     1,     4,
    nil,     9,   nil,    13,   nil,    20,   nil,    27,   nil,   nil,
-     3,     6,   nil,   310,   nil,    16,   nil,    23,    26,   nil,
+     3,     6,   nil,   312,   nil,    16,   nil,    23,    26,   nil,
      1,     4,   nil,     9,   nil,    13,   nil,    20,   nil,    27,
-   nil,   nil,     3,     6,    16,   312,    23,    26,   nil,     1,
+   nil,   nil,     3,     6,    16,   314,    23,    26,   nil,     1,
      4,   nil,     9,   nil,    13,   nil,    20,   nil,    27,   nil,
-   nil,     3,     6,   nil,   255,   nil,    16,   nil,    23,    26,
+   nil,     3,     6,   nil,   256,   nil,    16,   nil,    23,    26,
    nil,     1,     4,   nil,     9,   nil,    13,   nil,    20,   nil,
-    27,   nil,   nil,     3,     6,    16,   313,    23,    26,   nil,
+    27,   nil,   nil,     3,     6,    16,   315,    23,    26,   nil,
      1,     4,   nil,     9,   nil,    13,   nil,    20,   nil,    27,
-   nil,   nil,     3,     6,   nil,   249,   nil,    16,   nil,    23,
+   nil,   nil,     3,     6,   nil,   250,   nil,    16,   nil,    23,
     26,   nil,     1,     4,   nil,     9,   nil,    13,   nil,    20,
-   nil,    27,   nil,   nil,     3,     6,    16,   314,    23,    26,
+   nil,    27,   nil,   nil,     3,     6,    16,   316,    23,    26,
    nil,     1,     4,   nil,     9,   nil,    13,   nil,    20,   nil,
     27,   nil,   nil,     3,     6,   nil,   nil,   nil,    16,   nil,
     23,    26,   nil,     1,     4,   nil,     9,   nil,    13,   nil,
@@ -385,42 +384,42 @@ racc_action_table = [
 
 racc_action_check = [
     34,    34,    34,   191,   105,   112,   112,    17,    11,   125,
-    64,   241,    11,   285,    17,    17,   272,   272,   285,   262,
-    34,   153,   153,   153,   241,    11,     9,     9,   191,   191,
+    64,   242,    11,   287,    17,    17,   273,   273,   287,   263,
+    34,   153,   153,   153,   242,    11,     9,     9,   191,   191,
     64,    34,   109,   109,    39,    34,    34,   125,   125,    34,
-   112,   153,   221,   112,    34,    34,   105,    48,    34,    11,
-   221,    34,   153,   139,   139,   139,   153,   153,    48,    39,
+   112,   153,   222,   112,    34,    34,   105,    48,    34,    11,
+   222,    34,   153,   139,   139,   139,   153,   153,    48,    39,
    153,     9,   180,    48,     9,   153,   153,   109,   181,   153,
-   109,    69,   153,   139,   140,   140,   140,   129,   221,   221,
-   221,   221,   221,   221,   139,   235,   204,    68,   139,   139,
-   129,   157,   139,   235,   140,   226,   157,   139,   139,   204,
-   197,   139,   168,   226,   139,   140,   151,   151,   151,   140,
+   109,    69,   153,   139,   140,   140,   140,   129,   222,   222,
+   222,   222,   222,   222,   139,   236,   204,    68,   139,   139,
+   129,   157,   139,   236,   140,   227,   157,   139,   139,   204,
+   197,   139,   168,   227,   139,   140,   151,   151,   151,   140,
    140,   197,   120,   140,   101,   168,   197,   101,   140,   140,
    120,   101,   140,    26,   189,   140,   151,   141,   141,   141,
-    26,   226,   226,   226,   226,   226,   226,   151,   190,     4,
-    93,   151,   151,   231,   231,   151,     4,   141,   223,    67,
-   151,   151,    65,   118,   151,    94,   223,   151,   141,    77,
-    77,    77,   141,   141,   118,    96,   141,   230,   230,   118,
+    26,   227,   227,   227,   227,   227,   227,   151,   190,     4,
+    93,   151,   151,   232,   232,   151,     4,   141,   225,    67,
+   151,   151,    65,   118,   151,    94,   225,   151,   141,    77,
+    77,    77,   141,   141,   118,    96,   141,   231,   231,   118,
     73,   141,   141,    23,    23,   141,     1,     1,   141,    77,
-   142,   142,   142,   209,   223,   223,   223,   223,   223,   223,
-    77,    62,   131,   211,    77,    77,   131,   131,    77,    78,
-   142,   224,   173,    77,    77,    90,    47,    77,    59,   224,
-    77,   142,    16,    16,    16,   142,   142,    47,    58,   142,
-   156,   156,    47,    55,   142,   142,    50,   102,   142,   106,
-   167,   142,    16,    74,    74,    74,    45,   224,   224,   224,
-   224,   224,   224,    16,   229,   127,   166,    16,    16,   127,
-   127,    16,   165,    74,   113,   110,    16,    16,   113,   113,
-    16,   136,   163,    16,    74,   136,   136,   238,    74,    74,
-    84,   239,    74,   220,   220,   220,   220,    74,    74,    84,
-    84,    74,   240,   162,    74,    37,   244,    36,    84,    84,
-    84,    84,   115,   247,    87,    87,    87,   219,   219,   219,
-   219,   219,   219,   227,   227,   227,   227,   227,   227,    30,
-    27,   261,    84,    84,    87,    72,    84,    84,    84,    84,
-    84,    84,   263,   264,   266,    87,   149,   149,   149,    87,
-    87,   160,   158,    87,   218,   218,   218,   218,    87,    87,
-   274,   276,    87,   279,    89,    87,   149,   148,   148,   148,
-   116,    79,    80,    15,   291,    81,   295,   149,   296,     7,
-    83,   149,   149,    85,   246,   149,   nil,   148,   nil,   nil,
+   142,   142,   142,   209,   225,   225,   225,   225,   225,   225,
+    77,    62,   131,   211,    77,    77,   131,   131,    77,   217,
+   142,   224,    78,    77,    77,   173,    47,    77,    90,   224,
+    77,   142,    16,    16,    16,   142,   142,    47,    59,   142,
+   156,   156,    47,    58,   142,   142,    55,    50,   142,   102,
+   106,   142,    16,    74,    74,    74,   167,   224,   224,   224,
+   224,   224,   224,    16,    45,   127,   230,    16,    16,   127,
+   127,    16,   166,    74,   113,   165,    16,    16,   113,   113,
+    16,   136,   110,    16,    74,   136,   136,   163,    74,    74,
+    84,   239,    74,   221,   221,   221,   221,    74,    74,    84,
+    84,    74,   240,   241,    74,   162,    37,   245,    84,    84,
+    84,    84,    36,   115,    87,    87,    87,   220,   220,   220,
+   220,   220,   220,   228,   228,   228,   228,   228,   228,   248,
+    30,    27,    84,    84,    87,   262,    84,    84,    84,    84,
+    84,    84,    72,   264,   265,    87,   149,   149,   149,    87,
+    87,   267,   160,    87,   219,   219,   219,   219,    87,    87,
+   158,   276,    87,   278,   281,    87,   149,   148,   148,   148,
+    89,   116,    79,    80,    15,   293,    81,   149,   297,   298,
+     7,   149,   149,    83,    85,   149,   247,   148,   nil,   nil,
    149,   149,   nil,   nil,   149,   nil,   nil,   149,   148,   143,
    143,   143,   148,   148,   nil,   nil,   148,   nil,   nil,   nil,
    nil,   148,   148,   nil,   nil,   148,   nil,   nil,   148,   143,
@@ -443,291 +442,279 @@ racc_action_check = [
    nil,    44,   nil,   nil,   nil,    44,   nil,   nil,   nil,   145,
     13,    13,    13,   145,   145,   nil,   nil,   145,   nil,   nil,
    nil,   nil,   145,   145,   nil,   nil,   145,   nil,   nil,   145,
-    13,    98,    98,    98,   nil,   nil,   nil,   245,   245,   245,
+    13,    98,    98,    98,   nil,   nil,   nil,   246,   246,   246,
    nil,    13,   nil,   nil,   nil,    13,    13,   nil,   nil,    13,
-   nil,   nil,   nil,    13,    13,   nil,   nil,   nil,    13,   282,
-   282,   282,    98,   nil,   nil,   nil,    98,    98,   245,   nil,
-    98,   nil,   245,   245,   nil,    98,   245,   nil,   nil,    98,
-   nil,   245,   nil,   nil,   nil,   245,    75,    75,    75,    75,
-   282,   nil,   nil,   nil,   282,   282,   nil,   nil,   282,   nil,
-    54,    54,    54,   282,   nil,   nil,   nil,   282,   nil,   nil,
-   273,   273,   273,   nil,   nil,   nil,   nil,    75,   nil,   nil,
-   nil,    75,    75,   nil,   nil,    75,   178,   178,   178,   nil,
-    75,    54,   nil,   nil,    75,    54,    54,   nil,   nil,    54,
-   nil,   273,   nil,   nil,    54,   273,   273,   nil,    54,   273,
-    20,    20,    20,   nil,   273,   nil,   nil,   178,   273,   nil,
-   nil,   178,   178,   nil,   nil,   178,   179,   179,   179,   nil,
-   178,   nil,   nil,   nil,   178,   nil,   281,   281,   281,   nil,
-   nil,    20,   185,   185,   185,    20,    20,   nil,   nil,    20,
-   nil,   nil,   nil,   nil,    20,   nil,   nil,   179,    20,   193,
-   193,   179,   179,   nil,   nil,   179,   nil,   281,   nil,   nil,
-   179,   281,   281,   185,   179,   281,   nil,   185,   185,   nil,
-   281,   185,   192,   192,   281,   nil,   185,   nil,   nil,   193,
-   185,   nil,   nil,   193,   193,   nil,   nil,   193,   202,   202,
-   210,   210,   193,   nil,   nil,   nil,   193,   nil,   nil,   nil,
-   nil,   nil,   192,   nil,   280,   280,   192,   192,   202,   nil,
-   192,   nil,   nil,   nil,   nil,   192,   nil,   nil,   202,   192,
-   210,   nil,   202,   202,   210,   210,   202,   nil,   210,   nil,
-   202,   202,   nil,   210,   280,   202,   nil,   210,   280,   280,
-    51,    51,   280,   nil,   nil,   nil,   nil,   280,   nil,   nil,
-   nil,   280,   nil,   nil,   128,   128,   nil,   nil,   nil,   nil,
-    51,   nil,   nil,   nil,   233,   233,   nil,   nil,   233,   nil,
-    51,   nil,   nil,   nil,    51,    51,   nil,   nil,    51,   294,
-   294,   nil,    51,    51,   128,   155,   155,    51,   128,   128,
-   nil,   nil,   128,   nil,   233,   nil,   128,   128,   233,   233,
-   nil,   128,   233,   133,   133,   nil,   133,   233,   nil,   294,
-   nil,   233,   nil,   294,   294,   155,   nil,   294,   nil,   155,
-   155,   nil,   294,   155,   132,   132,   294,   nil,   155,   nil,
-   nil,   nil,   155,   133,   nil,   nil,   nil,   133,   133,   nil,
-   nil,   133,   nil,   nil,   132,   nil,   133,   nil,   nil,   nil,
-   133,   nil,   nil,   nil,   132,   nil,   nil,   nil,   132,   132,
-   nil,   nil,   132,   100,   100,   nil,   132,   132,   nil,   nil,
-   nil,   132,   100,   100,   100,   100,   135,   135,   nil,   nil,
-   nil,   nil,   225,   225,   135,   135,   135,   135,   135,   nil,
-   nil,   225,   225,   225,   225,   nil,   100,   100,   nil,   nil,
-   100,   100,   100,   100,   100,   100,   nil,   nil,   nil,   135,
-   135,   nil,   nil,   135,   135,   135,   135,   135,   135,   225,
-   225,   225,   225,   225,   225,   222,   222,   nil,   nil,   nil,
-   nil,   nil,   nil,   nil,   222,   222,   222,   222,    99,    99,
-   nil,   nil,   nil,   nil,   nil,   nil,   nil,    99,    99,    99,
-    99,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   222,
-   243,   nil,   222,   222,   222,   222,   222,   222,   nil,   nil,
+   nil,   nil,   nil,    13,    13,   274,   274,   274,    13,   nil,
+   nil,   nil,    98,   nil,   nil,   nil,    98,    98,   246,   nil,
+    98,   nil,   246,   246,   nil,    98,   246,   nil,   nil,    98,
+   nil,   246,   nil,   nil,   nil,   246,   274,   nil,   nil,   nil,
+   274,   274,   nil,   nil,   274,    75,    75,    75,    75,   274,
+   nil,   nil,   nil,   274,   nil,    54,    54,    54,   nil,   nil,
+   nil,   284,   284,   284,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,   178,   178,   178,   nil,   nil,    75,    20,    20,    20,
+    75,    75,   nil,   nil,    75,   nil,    54,   nil,   nil,    75,
+    54,    54,   284,    75,    54,   nil,   284,   284,   nil,    54,
+   284,   nil,   178,    54,   nil,   284,   178,   178,    20,   284,
+   178,   nil,    20,    20,   nil,   178,    20,   nil,   nil,   178,
+   nil,    20,   179,   179,   179,    20,   nil,   nil,   283,   283,
+   283,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   185,   185,
+   185,   nil,   nil,   nil,   nil,   193,   193,   nil,   nil,   nil,
+   nil,   nil,   nil,   179,   nil,   192,   192,   179,   179,   283,
+   nil,   179,   nil,   283,   283,   nil,   179,   283,   nil,   185,
+   179,   nil,   283,   185,   185,   193,   283,   185,   nil,   193,
+   193,   nil,   185,   193,   nil,   192,   185,   nil,   193,   192,
+   192,   nil,   193,   192,   202,   202,   210,   210,   192,   nil,
+   nil,   nil,   192,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
+   282,   282,   128,   128,   202,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,   nil,   202,   nil,   210,   nil,   202,   202,
+   210,   210,   202,   nil,   210,   nil,   202,   202,   nil,   210,
+   282,   202,   128,   210,   282,   282,   128,   128,   282,   nil,
+   128,    51,    51,   282,   128,   128,   nil,   282,   nil,   128,
+   nil,   234,   234,   nil,   nil,   234,   nil,   296,   296,   nil,
+   nil,    51,   nil,   nil,   nil,   nil,   nil,   155,   155,   nil,
+   nil,    51,   nil,   nil,   nil,    51,    51,   133,   133,    51,
+   133,   234,   nil,    51,    51,   234,   234,   296,    51,   234,
+   nil,   296,   296,   nil,   234,   296,   nil,   155,   234,   nil,
+   296,   155,   155,   nil,   296,   155,   nil,   133,   132,   132,
+   155,   133,   133,   nil,   155,   133,   nil,   nil,   nil,   nil,
+   133,   nil,   nil,   nil,   133,   100,   100,   nil,   132,   nil,
+   nil,   nil,   nil,   nil,   100,   100,   100,   100,   132,   nil,
+   nil,   nil,   132,   132,   nil,   nil,   132,   nil,   nil,   nil,
+   132,   132,   nil,   nil,   nil,   132,   nil,   nil,   100,   100,
+   135,   135,   100,   100,   100,   100,   100,   100,   135,   135,
+   135,   135,   135,   226,   226,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,   226,   226,   226,   226,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,   135,   135,   223,   223,   135,   135,   135,
+   135,   135,   135,   nil,   223,   223,   223,   223,    99,    99,
+   226,   226,   226,   226,   226,   226,   nil,    99,    99,    99,
+    99,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   223,
+   244,   nil,   223,   223,   223,   223,   223,   223,   nil,   nil,
    nil,    99,    99,   nil,   nil,    99,    99,    99,    99,    99,
-    99,   243,   248,   243,   243,   nil,   243,   243,   nil,   243,
-   nil,   243,   nil,   243,   nil,   243,   nil,   nil,   243,   243,
-   nil,   254,   nil,   248,   nil,   248,   248,   nil,   248,   248,
-   nil,   248,   nil,   248,   nil,   248,   nil,   248,   nil,   nil,
-   248,   248,   254,   228,   254,   254,   nil,   254,   254,   nil,
-   254,   nil,   254,   nil,   254,   nil,   254,   nil,   nil,   254,
-   254,   nil,   286,   nil,   228,   nil,   228,   228,   nil,   228,
-   228,   nil,   228,   nil,   228,   nil,   228,   nil,   228,   nil,
-   nil,   228,   228,   286,   150,   286,   286,   nil,   286,   286,
-   nil,   286,   nil,   286,   nil,   286,   nil,   286,   nil,   nil,
-   286,   286,   nil,   299,   nil,   150,   nil,   150,   150,   nil,
+    99,   244,   249,   244,   244,   nil,   244,   244,   nil,   244,
+   nil,   244,   nil,   244,   nil,   244,   nil,   nil,   244,   244,
+   nil,   255,   nil,   249,   nil,   249,   249,   nil,   249,   249,
+   nil,   249,   nil,   249,   nil,   249,   nil,   249,   nil,   nil,
+   249,   249,   255,   229,   255,   255,   nil,   255,   255,   nil,
+   255,   nil,   255,   nil,   255,   nil,   255,   nil,   nil,   255,
+   255,   nil,   288,   nil,   229,   nil,   229,   229,   nil,   229,
+   229,   nil,   229,   nil,   229,   nil,   229,   nil,   229,   nil,
+   nil,   229,   229,   288,   150,   288,   288,   nil,   288,   288,
+   nil,   288,   nil,   288,   nil,   288,   nil,   288,   nil,   nil,
+   288,   288,   nil,   301,   nil,   150,   nil,   150,   150,   nil,
    150,   150,   nil,   150,   nil,   150,   nil,   150,   nil,   150,
-   nil,   nil,   150,   150,   299,   300,   299,   299,   nil,   299,
-   299,   nil,   299,   nil,   299,   nil,   299,   nil,   299,   nil,
-   nil,   299,   299,   nil,   183,   nil,   300,   nil,   300,   300,
-   nil,   300,   300,   nil,   300,   nil,   300,   nil,   300,   nil,
-   300,   nil,   nil,   300,   300,   183,   309,   183,   183,   nil,
+   nil,   nil,   150,   150,   301,   302,   301,   301,   nil,   301,
+   301,   nil,   301,   nil,   301,   nil,   301,   nil,   301,   nil,
+   nil,   301,   301,   nil,   183,   nil,   302,   nil,   302,   302,
+   nil,   302,   302,   nil,   302,   nil,   302,   nil,   302,   nil,
+   302,   nil,   nil,   302,   302,   183,   311,   183,   183,   nil,
    183,   183,   nil,   183,   nil,   183,   nil,   183,   nil,   183,
-   nil,   nil,   183,   183,   nil,   177,   nil,   309,   nil,   309,
-   309,   nil,   309,   309,   nil,   309,   nil,   309,   nil,   309,
-   nil,   309,   nil,   nil,   309,   309,   177,   311,   177,   177,
+   nil,   nil,   183,   183,   nil,   177,   nil,   311,   nil,   311,
+   311,   nil,   311,   311,   nil,   311,   nil,   311,   nil,   311,
+   nil,   311,   nil,   nil,   311,   311,   177,   313,   177,   177,
    nil,   177,   177,   nil,   177,   nil,   177,   nil,   177,   nil,
-   177,   nil,   nil,   177,   177,   nil,   nil,   nil,   311,   nil,
-   311,   311,   nil,   311,   311,   nil,   311,   nil,   311,   nil,
-   311,   nil,   311,   nil,   nil,   311,   311,    19,   nil,    19,
+   177,   nil,   nil,   177,   177,   nil,   nil,   nil,   313,   nil,
+   313,   313,   nil,   313,   313,   nil,   313,   nil,   313,   nil,
+   313,   nil,   313,   nil,   nil,   313,   313,    19,   nil,    19,
     19,   nil,    19,    19,   nil,    19,   nil,    19,   nil,    19,
    nil,    19,   nil,   nil,    19,    19,     0,   nil,     0,     0,
    nil,     0,     0,   nil,     0,   nil,     0,   nil,     0,   nil,
      0,   nil,   nil,     0,     0 ]
 
 racc_action_pointer = [
-  1328,   163,   nil,   nil,   101,   nil,   nil,   353,   nil,    23,
-   nil,     6,   nil,   568,   nil,   353,   210,   -31,   nil,  1309,
-   708,   nil,   nil,   170,   nil,   nil,    85,   268,   nil,   nil,
-   303,   nil,   nil,   430,    -2,   nil,   252,   247,   nil,    24,
-   nil,   nil,   nil,   nil,   515,   198,   nil,   184,    25,   nil,
-   216,   847,   nil,   nil,   658,   221,   nil,   nil,   197,   206,
+  1308,   163,   nil,   nil,   101,   nil,   nil,   354,   nil,    23,
+   nil,     6,   nil,   568,   nil,   354,   210,   -31,   nil,  1289,
+   685,   nil,   nil,   170,   nil,   nil,    85,   269,   nil,   nil,
+   304,   nil,   nil,   430,    -2,   nil,   257,   248,   nil,    24,
+   nil,   nil,   nil,   nil,   515,   206,   nil,   184,    25,   nil,
+   217,   858,   nil,   nil,   663,   224,   nil,   nil,   202,   216,
    nil,   nil,   170,   nil,     8,   131,   nil,   128,    66,    50,
-   nil,   nil,   294,   170,   231,   644,   nil,   157,   178,   330,
-   331,   334,   nil,   339,   264,   342,   nil,   292,   nil,   323,
-   199,   nil,   nil,   134,   145,   nil,   143,   nil,   589,  1033,
-   958,    76,   221,   nil,   nil,    -5,   219,   nil,   nil,    29,
-   249,   nil,     2,   249,   nil,   282,   341,   nil,   131,   nil,
-    96,   nil,   nil,   nil,   nil,   -11,   nil,   201,   861,    67,
-   nil,   187,   931,   910,   nil,   971,   256,   nil,   nil,    51,
+   nil,   nil,   301,   170,   231,   653,   nil,   157,   181,   331,
+   332,   335,   nil,   342,   264,   343,   nil,   292,   nil,   329,
+   202,   nil,   nil,   134,   145,   nil,   143,   nil,   589,  1013,
+   930,    76,   223,   nil,   nil,    -5,   220,   nil,   nil,    29,
+   256,   nil,     2,   249,   nil,   283,   342,   nil,   131,   nil,
+    96,   nil,   nil,   nil,   nil,   -11,   nil,   201,   819,    67,
+   nil,   187,   925,   894,   nil,   965,   256,   nil,   nil,    51,
     72,   125,   178,   377,   398,   536,   504,   483,   345,   324,
-  1167,   104,   451,    19,   nil,   892,   217,    58,   326,   nil,
-   292,   nil,   273,   241,   nil,   231,   228,   209,    93,   nil,
-   nil,   nil,   nil,   181,   nil,   nil,   nil,  1268,   684,   724,
-    55,    30,   nil,  1227,   nil,   740,   nil,   nil,   nil,   117,
-   100,   -20,   779,   756,   nil,   nil,   nil,    78,   nil,   nil,
-   nil,   nil,   795,   nil,    76,   nil,   nil,   nil,   nil,   161,
-   797,   184,   nil,   nil,   nil,   nil,   nil,   nil,   282,   245,
-   221,    26,  1020,   132,   185,   977,    79,   251,  1126,   215,
-   113,    89,   nil,   871,   nil,    75,   nil,   nil,   254,   258,
-   259,     1,   nil,  1063,   279,   595,   357,   255,  1085,   nil,
-   nil,   nil,   nil,   nil,  1104,   nil,   nil,   nil,   nil,   nil,
-   nil,   290,    -2,   301,   302,   nil,   303,   nil,   nil,   nil,
-   nil,   nil,     7,   668,   311,   nil,   335,   nil,   nil,   337,
-   811,   734,   617,   nil,   nil,   -20,  1145,   nil,   nil,   nil,
-   nil,   344,   nil,   nil,   886,   349,   351,   nil,   nil,  1186,
-  1208,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,  1249,
-   nil,  1290,   nil,   nil,   nil ]
+  1147,   104,   451,    19,   nil,   884,   217,    58,   334,   nil,
+   293,   nil,   275,   246,   nil,   234,   234,   215,    93,   nil,
+   nil,   nil,   nil,   184,   nil,   nil,   nil,  1248,   679,   730,
+    55,    30,   nil,  1207,   nil,   746,   nil,   nil,   nil,   117,
+   100,   -20,   762,   752,   nil,   nil,   nil,    78,   nil,   nil,
+   nil,   nil,   801,   nil,    76,   nil,   nil,   nil,   nil,   161,
+   803,   184,   nil,   nil,   nil,   nil,   nil,   194,   nil,   282,
+   245,   221,    26,  1000,   185,   132,   978,    79,   251,  1106,
+   217,   113,    89,   nil,   868,   nil,    75,   nil,   nil,   258,
+   269,   260,     1,   nil,  1043,   280,   595,   359,   271,  1065,
+   nil,   nil,   nil,   nil,   nil,  1084,   nil,   nil,   nil,   nil,
+   nil,   nil,   294,    -2,   302,   303,   nil,   310,   nil,   nil,
+   nil,   nil,   nil,     7,   613,   nil,   312,   nil,   337,   nil,
+   nil,   338,   817,   736,   669,   nil,   nil,   -20,  1125,   nil,
+   nil,   nil,   nil,   345,   nil,   nil,   874,   351,   352,   nil,
+   nil,  1166,  1188,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,  1229,   nil,  1270,   nil,   nil,   nil ]
 
 racc_action_default = [
-  -168,  -192,    -7,  -161,  -192,    -8,  -159,  -192,    -9,  -192,
-   -10,  -192,   -11,  -160,   -12,  -192,  -192,  -192,   -13,    -1,
-  -192,   -14,    -2,  -192,   -15,    -3,  -192,   -39,   -16,    -5,
-  -192,   -17,    -6,  -192,  -192,  -160,  -168,   -78,  -166,  -168,
-  -165,  -164,  -162,  -167,  -192,   -71,   -41,  -168,  -168,  -185,
-   -21,  -192,   -33,   -22,  -192,   -62,   -23,  -101,   -26,  -192,
-  -103,  -102,   -27,  -148,   -61,   -28,   -60,   -29,  -192,   -30,
-  -149,   -31,   -32,  -192,  -192,  -192,   -96,  -192,   -90,   -94,
-   -98,   -91,   -95,   -92,  -192,   -97,   -93,  -192,  -111,   -89,
-  -192,   -38,    -4,  -192,  -152,  -150,  -168,   -40,   -71,   -69,
-   -70,  -192,  -192,  -181,   -79,  -192,  -190,   -76,   -77,  -192,
-  -192,  -179,  -192,  -192,   -81,  -190,  -192,   -72,  -168,   -47,
-  -192,   -54,   -53,   -61,   -44,  -192,   -45,  -192,  -192,  -192,
-   -20,  -192,  -192,  -192,   315,  -192,  -192,  -187,  -125,  -192,
-  -192,  -192,  -192,  -192,  -192,  -192,  -192,  -192,  -192,  -192,
-  -192,  -192,  -192,  -192,  -118,  -192,  -192,  -169,  -192,  -170,
-   -58,   -62,  -190,   -64,   -56,   -67,  -192,   -65,   -61,  -147,
-   -68,  -146,   -66,   -63,  -184,  -182,  -183,  -192,  -192,  -192,
-  -192,  -191,  -180,  -192,  -163,  -192,  -105,  -188,  -189,  -192,
-  -191,  -192,  -192,  -192,   -50,   -49,   -43,  -192,   -42,   -24,
-   -25,   -18,  -192,  -104,  -192,  -100,  -142,  -145,  -143,   -61,
-  -192,  -192,  -136,  -144,  -137,  -128,  -186,  -114,  -116,  -120,
-  -117,  -122,  -127,  -124,  -121,  -126,  -123,  -119,  -192,  -108,
-  -112,  -113,  -115,  -192,  -130,  -192,  -134,  -151,  -178,  -176,
-  -192,  -192,  -173,  -192,  -192,   -59,  -192,   -71,  -192,  -156,
-   -75,   -74,   -37,   -80,  -192,  -158,   -82,   -36,   -73,   -48,
-   -51,   -84,   -88,   -85,   -86,   -87,   -83,   -52,   -46,   -19,
-   -99,  -139,  -190,  -192,  -108,  -107,  -192,  -131,  -129,  -192,
-  -192,  -192,  -192,  -171,  -172,  -192,  -192,  -154,   -34,   -57,
-   -35,  -190,  -155,  -157,  -192,  -192,  -189,  -141,  -106,  -192,
-  -192,  -135,  -177,  -175,  -174,  -153,   -55,  -140,  -138,  -192,
-  -110,  -192,  -133,  -109,  -132 ]
+  -168,  -193,    -7,  -161,  -193,    -8,  -159,  -193,    -9,  -193,
+   -10,  -193,   -11,  -160,   -12,  -193,  -193,  -193,   -13,    -1,
+  -193,   -14,    -2,  -193,   -15,    -3,  -193,   -39,   -16,    -5,
+  -193,   -17,    -6,  -193,  -193,  -160,  -168,   -78,  -166,  -168,
+  -165,  -164,  -162,  -167,  -193,   -71,   -41,  -168,  -168,  -185,
+   -21,  -193,   -33,   -22,  -193,   -62,   -23,  -101,   -26,  -193,
+  -103,  -102,   -27,  -148,   -61,   -28,   -60,   -29,  -193,   -30,
+  -149,   -31,   -32,  -193,  -193,  -193,   -96,  -193,   -90,   -94,
+   -98,   -91,   -95,   -92,  -193,   -97,   -93,  -193,  -111,   -89,
+  -193,   -38,    -4,  -193,  -152,  -150,  -168,   -40,   -71,   -69,
+   -70,  -193,  -193,  -181,   -79,  -193,  -191,   -76,   -77,  -193,
+  -193,  -179,  -193,  -193,   -81,  -191,  -193,   -72,  -168,   -47,
+  -193,   -54,   -53,   -61,   -44,  -193,   -45,  -193,  -193,  -193,
+   -20,  -193,  -193,  -193,   317,  -193,  -193,  -188,  -125,  -193,
+  -193,  -193,  -193,  -193,  -193,  -193,  -193,  -193,  -193,  -193,
+  -193,  -193,  -193,  -193,  -118,  -193,  -193,  -169,  -193,  -170,
+   -58,   -62,  -191,   -64,   -56,   -67,  -193,   -65,   -61,  -147,
+   -68,  -146,   -66,   -63,  -184,  -182,  -183,  -193,  -193,  -193,
+  -193,  -192,  -180,  -193,  -163,  -193,  -105,  -189,  -190,  -193,
+  -192,  -193,  -193,  -193,   -50,   -49,   -43,  -193,   -42,   -24,
+   -25,   -18,  -193,  -104,  -193,  -100,  -142,  -145,  -143,   -61,
+  -193,  -193,  -136,  -144,  -137,  -128,  -186,  -190,  -114,  -116,
+  -120,  -117,  -122,  -127,  -124,  -121,  -126,  -123,  -119,  -193,
+  -108,  -112,  -113,  -115,  -193,  -130,  -193,  -134,  -151,  -178,
+  -176,  -193,  -193,  -173,  -193,  -193,   -59,  -193,   -71,  -193,
+  -156,   -75,   -74,   -37,   -80,  -193,  -158,   -82,   -36,   -73,
+   -48,   -51,   -84,   -88,   -85,   -86,   -87,   -83,   -52,   -46,
+   -19,   -99,  -139,  -191,  -193,  -187,  -108,  -107,  -193,  -131,
+  -129,  -193,  -193,  -193,  -193,  -171,  -172,  -193,  -193,  -154,
+   -34,   -57,   -35,  -191,  -155,  -157,  -193,  -193,  -190,  -141,
+  -106,  -193,  -193,  -135,  -177,  -175,  -174,  -153,   -55,  -140,
+  -138,  -193,  -110,  -193,  -133,  -109,  -132 ]
 
 racc_goto_table = [
-     7,    92,    65,    11,   115,    93,   214,    19,   107,   170,
-   104,   211,   164,    56,   242,    71,    50,   234,   199,     7,
-    90,    36,    11,   180,    42,   125,   127,    22,   275,   114,
-    15,   113,   189,   236,   260,   267,   294,   268,   233,   114,
-    65,   131,    46,    96,   106,   212,   244,   272,    94,   158,
-   102,    56,    39,    71,   129,   110,   160,   162,   240,   241,
-   114,    91,   136,   103,   175,   nil,   111,   nil,   nil,   nil,
-   nil,   nil,   nil,   298,   nil,   nil,   nil,   nil,   nil,   246,
-   nil,   nil,   nil,   271,   nil,   nil,   nil,   167,   211,   nil,
-   nil,   nil,   199,   nil,   nil,   277,   191,   nil,   nil,   nil,
-   172,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,   236,   nil,   nil,   nil,   nil,   nil,    65,   176,   nil,
-   nil,    65,   208,   159,   182,   nil,   nil,   184,   200,   nil,
-    71,   nil,    56,   nil,    71,   204,   nil,   nil,   nil,   nil,
-    62,   nil,   304,   nil,   208,   nil,   nil,   nil,   nil,   nil,
-     7,   nil,   107,    11,   253,    63,   170,   228,   301,   289,
-   nil,   258,   nil,   250,   251,   nil,   nil,   307,   nil,   nil,
-   256,   nil,   211,   nil,   122,   122,   nil,     7,    62,   nil,
-    11,   263,   263,     7,   248,   nil,    11,   nil,   nil,   295,
-   254,    65,   nil,    63,   265,   265,   nil,   nil,   nil,   208,
-   nil,   nil,   200,    69,    71,   nil,   291,   nil,   306,   nil,
-    92,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,   208,   nil,   nil,   165,   nil,   nil,     7,   nil,
-    92,    11,   nil,   nil,   167,   nil,    92,   nil,   nil,   nil,
-    63,    69,   nil,     7,   nil,   122,    11,   172,     7,   nil,
-   286,    11,   nil,   nil,     7,    62,   nil,    11,   297,    62,
-   207,   nil,   nil,   nil,   nil,   nil,   302,   303,    92,   208,
-    63,   nil,   nil,   nil,    63,    63,   nil,   nil,   nil,   nil,
-   nil,   nil,   207,   208,   nil,   nil,     7,   nil,   171,    11,
-   nil,    92,   nil,    92,   nil,   nil,   nil,    63,   nil,     7,
-     7,   nil,    11,    11,   nil,   nil,   309,   311,   nil,     7,
-   nil,     7,    11,    58,    11,   nil,   nil,   nil,    69,   262,
-   262,   nil,    69,   171,   122,   nil,    67,   nil,   nil,    62,
-   nil,   nil,    72,   nil,    63,    63,   nil,   207,   nil,   nil,
-   nil,   nil,    95,   nil,    63,   171,   nil,   121,   121,   nil,
-   nil,    58,    63,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
-   207,   nil,   nil,   nil,    67,   nil,   nil,   nil,   nil,   nil,
-    72,   nil,   165,   nil,   nil,    63,   nil,   nil,   nil,   nil,
-   nil,   nil,   171,   171,   nil,   nil,   nil,    63,   nil,   nil,
-   nil,   nil,    69,   nil,   nil,   nil,   nil,   nil,   163,   nil,
-   171,   nil,   nil,   nil,   nil,   nil,   nil,   207,   nil,   nil,
-   nil,   169,   nil,   nil,   nil,   nil,   nil,   173,   121,   nil,
-   nil,   207,    63,   171,   nil,   nil,   nil,   nil,    58,   nil,
-   nil,   nil,    58,   206,   nil,   171,    63,   nil,   nil,   nil,
-   nil,    67,    84,   nil,   nil,    67,   169,    72,   nil,   nil,
-   nil,    72,   213,   nil,   nil,   206,   nil,   nil,   nil,    99,
-   100,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   169,   nil,
-   171,   nil,   nil,   nil,   213,   237,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,   nil,   171,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,   261,   261,   nil,   nil,   nil,   121,   nil,   nil,
-   135,   nil,    58,   138,   nil,   264,   264,   nil,   nil,   nil,
-   206,   266,   266,   154,   nil,    67,   nil,   nil,   nil,   nil,
-   nil,    72,   nil,   169,   nil,   nil,   nil,   nil,   nil,   213,
-   nil,   nil,   nil,   206,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,   nil,   nil,   163,   169,   nil,   nil,   nil,
-   nil,   nil,   213,   nil,   nil,   nil,   nil,   nil,   169,   nil,
-   nil,   nil,   nil,   nil,   173,   217,   218,   219,   220,   221,
-   222,   223,   224,   225,   226,   227,   nil,   230,   231,   232,
-   206,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,   169,   206,   nil,   nil,   nil,   nil,   213,
-   nil,   nil,   nil,   nil,   nil,   nil,   nil,   169,   nil,   nil,
-   nil,   nil,   nil,   213 ]
+     7,    92,    65,    11,   214,   115,   180,    19,   170,   243,
+   107,   164,   211,    56,    50,   189,   104,    36,   235,     7,
+    90,    71,    11,    15,    42,   199,   277,    63,   261,   268,
+    22,   296,   125,   127,   237,   269,   113,   234,    46,    96,
+    65,   106,   212,   245,   273,    94,   131,   158,   102,    39,
+   110,    56,   129,   160,   241,   242,    91,   175,   162,    71,
+   nil,   nil,   247,   nil,   nil,    63,   103,   136,    93,   111,
+   nil,   nil,   300,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,   272,   nil,   nil,   nil,   nil,   nil,   167,   nil,   211,
+   nil,   nil,   114,   nil,   nil,   nil,   nil,   279,   nil,   199,
+    62,   nil,   114,   191,   nil,   nil,   172,   nil,   nil,   nil,
+   nil,   nil,    63,   237,   176,   nil,   nil,    65,   nil,   nil,
+   nil,    65,   208,   114,   182,   nil,   159,   184,   200,   nil,
+   nil,   nil,    56,   204,   122,   122,    71,   nil,    62,   306,
+    71,   nil,    63,   nil,   208,   nil,    63,    63,   nil,   nil,
+     7,   nil,   nil,    11,   107,   nil,   170,   229,    69,   291,
+   254,   303,   nil,   259,   nil,   nil,   nil,   309,   nil,    63,
+   nil,   nil,   nil,   297,   nil,   211,   nil,     7,   nil,   nil,
+    11,   264,   264,     7,   249,   165,    11,   nil,   nil,   nil,
+   255,    65,   nil,   308,   nil,   nil,    69,   nil,   nil,   208,
+   266,   266,   200,   nil,   nil,   122,    63,    63,   293,   nil,
+    71,    92,   nil,   nil,   nil,    62,    63,   nil,   nil,    62,
+   207,   nil,   nil,   208,    63,   nil,   251,   252,   nil,     7,
+   nil,    92,    11,   257,    58,   167,   nil,    92,   nil,   nil,
+   nil,   nil,   207,   171,     7,    67,   nil,    11,    63,     7,
+   nil,   288,    11,   nil,   172,     7,   nil,   nil,    11,   nil,
+    63,   nil,   nil,   nil,   nil,    72,   nil,   nil,   121,   121,
+    92,   208,    58,    69,   nil,    95,   nil,    69,   171,   263,
+   263,   nil,   nil,    67,   122,   208,   nil,   nil,     7,    62,
+   nil,    11,   nil,    92,   nil,    92,    63,   207,   nil,   nil,
+   171,     7,     7,    72,    11,    11,   nil,   nil,   311,   313,
+    63,     7,   nil,     7,    11,   nil,    11,   nil,   nil,   163,
+   nil,   207,   299,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
+   169,   304,   305,   165,   nil,   nil,   nil,   171,   171,   121,
+   nil,   nil,   nil,   nil,   nil,   nil,   nil,    69,   nil,    58,
+   173,   nil,   nil,    58,   206,   171,   nil,   nil,   nil,   nil,
+    67,   nil,   nil,   nil,    67,   169,   nil,   nil,   nil,   207,
+   nil,   nil,   nil,   nil,   nil,   nil,   206,   nil,   nil,   171,
+    72,   nil,   nil,   207,    72,   213,   nil,   169,   nil,   nil,
+   nil,   171,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,   nil,   213,   238,   nil,
+   nil,   nil,   nil,   262,   262,   nil,   nil,   nil,   121,   nil,
+   nil,   nil,   nil,    58,   265,   265,   nil,   171,   nil,    84,
+   nil,   206,   nil,   nil,    67,   nil,   nil,   nil,   nil,   nil,
+   nil,   171,   169,   nil,   267,   267,    99,   100,   nil,   nil,
+   nil,   nil,   nil,   nil,    72,   206,   nil,   nil,   nil,   nil,
+   nil,   nil,   213,   nil,   nil,   nil,   169,   163,   nil,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   169,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,   213,   135,   nil,   nil,
+   138,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   173,   nil,
+   154,   nil,   nil,   206,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,   nil,   169,   nil,   nil,   206,   nil,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   169,   nil,
+   nil,   nil,   nil,   nil,   213,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   213,   nil,
+   nil,   nil,   218,   219,   220,   221,   222,   223,   224,   225,
+   226,   227,   228,   nil,   231,   232,   233 ]
 
 racc_goto_check = [
-    20,     4,    23,    33,    31,    49,    60,     2,    48,    46,
-    51,    58,    43,    20,    70,    26,    18,    56,    19,    20,
-    33,    28,    33,    32,    67,    37,    37,     3,    54,    49,
-     1,    52,    32,    58,    42,    42,    53,    38,    55,    49,
-    23,    52,    36,    28,    34,    59,    30,    61,    62,    63,
-    64,    20,    65,    26,    18,    66,    29,    31,    68,    69,
-    49,     5,    52,     3,    71,   nil,     3,   nil,   nil,   nil,
-   nil,   nil,   nil,    54,   nil,   nil,   nil,   nil,   nil,    32,
-   nil,   nil,   nil,    60,   nil,   nil,   nil,    23,    58,   nil,
-   nil,   nil,    19,   nil,   nil,    56,    37,   nil,   nil,   nil,
-    26,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,    58,   nil,   nil,   nil,   nil,   nil,    23,    28,   nil,
-   nil,    23,    23,     3,    67,   nil,   nil,    67,    20,   nil,
-    26,   nil,    20,   nil,    26,    18,   nil,   nil,   nil,   nil,
-    22,   nil,    70,   nil,    23,   nil,   nil,   nil,   nil,   nil,
-    20,   nil,    48,    33,    51,    45,    46,     2,    58,    43,
-   nil,    48,   nil,    49,    49,   nil,   nil,    60,   nil,   nil,
-    49,   nil,    58,   nil,    22,    22,   nil,    20,    22,   nil,
-    33,    23,    23,    20,     2,   nil,    33,   nil,   nil,    32,
-     2,    23,   nil,    45,    26,    26,   nil,   nil,   nil,    23,
-   nil,   nil,    20,    25,    26,   nil,    31,   nil,    32,   nil,
-     4,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,    23,   nil,   nil,    22,   nil,   nil,    20,   nil,
-     4,    33,   nil,   nil,    23,   nil,     4,   nil,   nil,   nil,
-    45,    25,   nil,    20,   nil,    22,    33,    26,    20,   nil,
-     2,    33,   nil,   nil,    20,    22,   nil,    33,    49,    22,
-    22,   nil,   nil,   nil,   nil,   nil,    49,    49,     4,    23,
-    45,   nil,   nil,   nil,    45,    45,   nil,   nil,   nil,   nil,
-   nil,   nil,    22,    23,   nil,   nil,    20,   nil,    25,    33,
-   nil,     4,   nil,     4,   nil,   nil,   nil,    45,   nil,    20,
-    20,   nil,    33,    33,   nil,   nil,     2,     2,   nil,    20,
-   nil,    20,    33,    21,    33,   nil,   nil,   nil,    25,    22,
-    22,   nil,    25,    25,    22,   nil,    24,   nil,   nil,    22,
-   nil,   nil,    27,   nil,    45,    45,   nil,    22,   nil,   nil,
-   nil,   nil,    27,   nil,    45,    25,   nil,    21,    21,   nil,
-   nil,    21,    45,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
-    22,   nil,   nil,   nil,    24,   nil,   nil,   nil,   nil,   nil,
-    27,   nil,    22,   nil,   nil,    45,   nil,   nil,   nil,   nil,
-   nil,   nil,    25,    25,   nil,   nil,   nil,    45,   nil,   nil,
-   nil,   nil,    25,   nil,   nil,   nil,   nil,   nil,    21,   nil,
-    25,   nil,   nil,   nil,   nil,   nil,   nil,    22,   nil,   nil,
-   nil,    24,   nil,   nil,   nil,   nil,   nil,    27,    21,   nil,
-   nil,    22,    45,    25,   nil,   nil,   nil,   nil,    21,   nil,
-   nil,   nil,    21,    21,   nil,    25,    45,   nil,   nil,   nil,
-   nil,    24,    47,   nil,   nil,    24,    24,    27,   nil,   nil,
-   nil,    27,    27,   nil,   nil,    21,   nil,   nil,   nil,    47,
-    47,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    24,   nil,
-    25,   nil,   nil,   nil,    27,    27,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,   nil,    25,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,    21,    21,   nil,   nil,   nil,    21,   nil,   nil,
-    47,   nil,    21,    47,   nil,    24,    24,   nil,   nil,   nil,
-    21,    27,    27,    47,   nil,    24,   nil,   nil,   nil,   nil,
-   nil,    27,   nil,    24,   nil,   nil,   nil,   nil,   nil,    27,
-   nil,   nil,   nil,    21,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,   nil,   nil,    21,    24,   nil,   nil,   nil,
-   nil,   nil,    27,   nil,   nil,   nil,   nil,   nil,    24,   nil,
-   nil,   nil,   nil,   nil,    27,    47,    47,    47,    47,    47,
-    47,    47,    47,    47,    47,    47,   nil,    47,    47,    47,
-    21,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,    24,    21,   nil,   nil,   nil,   nil,    27,
-   nil,   nil,   nil,   nil,   nil,   nil,   nil,    24,   nil,   nil,
-   nil,   nil,   nil,    27 ]
+    20,     4,    23,    33,    60,    31,    32,     2,    46,    70,
+    48,    43,    58,    20,    18,    32,    51,    28,    56,    20,
+    33,    26,    33,     1,    67,    19,    54,    45,    42,    42,
+     3,    53,    37,    37,    58,    38,    52,    55,    36,    28,
+    23,    34,    59,    30,    61,    62,    52,    63,    64,    65,
+    66,    20,    18,    29,    68,    69,     5,    71,    31,    26,
+   nil,   nil,    32,   nil,   nil,    45,     3,    52,    49,     3,
+   nil,   nil,    54,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,    60,   nil,   nil,   nil,   nil,   nil,    23,   nil,    58,
+   nil,   nil,    49,   nil,   nil,   nil,   nil,    56,   nil,    19,
+    22,   nil,    49,    37,   nil,   nil,    26,   nil,   nil,   nil,
+   nil,   nil,    45,    58,    28,   nil,   nil,    23,   nil,   nil,
+   nil,    23,    23,    49,    67,   nil,     3,    67,    20,   nil,
+   nil,   nil,    20,    18,    22,    22,    26,   nil,    22,    70,
+    26,   nil,    45,   nil,    23,   nil,    45,    45,   nil,   nil,
+    20,   nil,   nil,    33,    48,   nil,    46,     2,    25,    43,
+    51,    58,   nil,    48,   nil,   nil,   nil,    60,   nil,    45,
+   nil,   nil,   nil,    32,   nil,    58,   nil,    20,   nil,   nil,
+    33,    23,    23,    20,     2,    22,    33,   nil,   nil,   nil,
+     2,    23,   nil,    32,   nil,   nil,    25,   nil,   nil,    23,
+    26,    26,    20,   nil,   nil,    22,    45,    45,    31,   nil,
+    26,     4,   nil,   nil,   nil,    22,    45,   nil,   nil,    22,
+    22,   nil,   nil,    23,    45,   nil,    49,    49,   nil,    20,
+   nil,     4,    33,    49,    21,    23,   nil,     4,   nil,   nil,
+   nil,   nil,    22,    25,    20,    24,   nil,    33,    45,    20,
+   nil,     2,    33,   nil,    26,    20,   nil,   nil,    33,   nil,
+    45,   nil,   nil,   nil,   nil,    27,   nil,   nil,    21,    21,
+     4,    23,    21,    25,   nil,    27,   nil,    25,    25,    22,
+    22,   nil,   nil,    24,    22,    23,   nil,   nil,    20,    22,
+   nil,    33,   nil,     4,   nil,     4,    45,    22,   nil,   nil,
+    25,    20,    20,    27,    33,    33,   nil,   nil,     2,     2,
+    45,    20,   nil,    20,    33,   nil,    33,   nil,   nil,    21,
+   nil,    22,    49,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
+    24,    49,    49,    22,   nil,   nil,   nil,    25,    25,    21,
+   nil,   nil,   nil,   nil,   nil,   nil,   nil,    25,   nil,    21,
+    27,   nil,   nil,    21,    21,    25,   nil,   nil,   nil,   nil,
+    24,   nil,   nil,   nil,    24,    24,   nil,   nil,   nil,    22,
+   nil,   nil,   nil,   nil,   nil,   nil,    21,   nil,   nil,    25,
+    27,   nil,   nil,    22,    27,    27,   nil,    24,   nil,   nil,
+   nil,    25,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,   nil,    27,    27,   nil,
+   nil,   nil,   nil,    21,    21,   nil,   nil,   nil,    21,   nil,
+   nil,   nil,   nil,    21,    24,    24,   nil,    25,   nil,    47,
+   nil,    21,   nil,   nil,    24,   nil,   nil,   nil,   nil,   nil,
+   nil,    25,    24,   nil,    27,    27,    47,    47,   nil,   nil,
+   nil,   nil,   nil,   nil,    27,    21,   nil,   nil,   nil,   nil,
+   nil,   nil,    27,   nil,   nil,   nil,    24,    21,   nil,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    24,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,    27,    47,   nil,   nil,
+    47,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    27,   nil,
+    47,   nil,   nil,    21,   nil,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,   nil,    24,   nil,   nil,    21,   nil,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    24,   nil,
+   nil,   nil,   nil,   nil,    27,   nil,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    27,   nil,
+   nil,   nil,    47,    47,    47,    47,    47,    47,    47,    47,
+    47,    47,    47,   nil,    47,    47,    47 ]
 
 racc_goto_pointer = [
-   nil,    30,     7,    27,   -18,    44,   nil,   nil,   nil,   nil,
-   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,     3,  -110,
-     0,   300,   127,   -11,   313,   190,     2,   319,    17,   -42,
-  -114,   -41,   -83,     3,     7,   nil,    31,   -22,  -160,   nil,
-   nil,   nil,  -158,   -86,   nil,   142,   -89,   426,   -29,   -15,
-   nil,   -27,   -13,  -236,  -201,  -117,  -138,   nil,  -122,   -88,
-  -127,  -163,    25,   -47,    14,    43,    16,    15,   -99,   -98,
-  -143,   -37 ]
+   nil,    23,     7,    30,   -18,    39,   nil,   nil,   nil,   nil,
+   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,     1,  -103,
+     0,   221,    87,   -11,   232,   145,     8,   252,    13,   -45,
+  -117,   -40,  -100,     3,     4,   nil,    27,   -15,  -162,   nil,
+   nil,   nil,  -164,   -87,   nil,    14,   -90,   413,   -27,    48,
+   nil,   -21,    -8,  -242,  -204,  -118,  -137,   nil,  -121,   -91,
+  -129,  -166,    22,   -49,    12,    40,    11,    15,  -103,  -102,
+  -148,   -44 ]
 
 racc_goto_default = [
    nil,   nil,   nil,   124,    25,    29,    32,     2,     5,     8,
@@ -735,7 +722,7 @@ racc_goto_default = [
     76,    78,    79,    81,    83,    85,    86,    89,    30,   nil,
    nil,   nil,   nil,    59,   nil,    17,   nil,   nil,   126,   197,
    119,   120,   nil,   nil,   166,    80,    82,   nil,   117,    88,
-   108,   nil,   nil,   185,   nil,   nil,   nil,   235,    68,   nil,
+   108,   nil,   nil,   185,   nil,   nil,   nil,   236,    68,   nil,
    nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
    nil,   nil ]
 
@@ -2051,21 +2038,32 @@ module_eval <<'.,.,', 'grammar.ra', 706
   end
 .,.,
 
-module_eval <<'.,.,', 'grammar.ra', 708
+module_eval <<'.,.,', 'grammar.ra', 713
   def _reduce_187( val, _values, result )
-    result = ast AST::ASTArray
+    if val[1].instance_of?(AST::ASTArray)
+        result = val[1]
+    else
+        result = ast AST::ASTArray, :children => [val[1]]
+    end
    result
   end
 .,.,
 
- # reduce 188 omitted
+module_eval <<'.,.,', 'grammar.ra', 715
+  def _reduce_188( val, _values, result )
+    result = ast AST::ASTArray
+   result
+  end
+.,.,
 
  # reduce 189 omitted
 
  # reduce 190 omitted
 
-module_eval <<'.,.,', 'grammar.ra', 713
-  def _reduce_191( val, _values, result )
+ # reduce 191 omitted
+
+module_eval <<'.,.,', 'grammar.ra', 720
+  def _reduce_192( val, _values, result )
  result = nil
    result
   end
diff --git a/spec/unit/parser/parser.rb b/spec/unit/parser/parser.rb
index 6ede8e6..07aad58 100755
--- a/spec/unit/parser/parser.rb
+++ b/spec/unit/parser/parser.rb
@@ -162,6 +162,14 @@ describe Puppet::Parser do
 
         it "should not raise errors with multiple arguments and a trailing comma" do
             lambda { @parser.parse("notice(1,2,)") }.should_not raise_error
+		end
+
+	end
+
+	describe Puppet::Parser, "when parsing arrays with trailing comma" do
+
+        it "should not raise errors with a trailing comma" do
+            lambda { @parser.parse("$a = [1,2,]") }.should_not raise_error
         end
 
     end
diff --git a/test/data/snippets/arraytrailingcomma.pp b/test/data/snippets/arraytrailingcomma.pp
new file mode 100644
index 0000000..a410f95
--- /dev/null
+++ b/test/data/snippets/arraytrailingcomma.pp
@@ -0,0 +1,3 @@
+file {
+    ["/tmp/arraytrailingcomma1","/tmp/arraytrailingcomma2", ]: content => "tmp"
+}
diff --git a/test/language/parser.rb b/test/language/parser.rb
index fc8452b..2453bdf 100755
--- a/test/language/parser.rb
+++ b/test/language/parser.rb
@@ -66,6 +66,19 @@ class TestParser < Test::Unit::TestCase
         }
     end
 
+    def test_arrayrvalueswithtrailingcomma
+        parser = mkparser
+        ret = nil
+        file = tempfile()
+        assert_nothing_raised {
+            parser.string = "file { \"#{file}\": mode => [755, 640,] }"
+        }
+
+        assert_nothing_raised {
+            ret = parser.parse
+        }
+    end
+
     def mkmanifest(file)
         name = File.join(tmpdir, "file%s" % rand(100))
         @@tmpfiles << name
diff --git a/test/language/snippets.rb b/test/language/snippets.rb
index 5ea436d..ebc9773 100755
--- a/test/language/snippets.rb
+++ b/test/language/snippets.rb
@@ -453,6 +453,13 @@ class TestSnippets < Test::Unit::TestCase
             "Did not make second file from trailing function comma")
     end
 
+    def snippet_arraytrailingcomma
+        assert_file("/tmp/arraytrailingcomma1",
+            "Did not make first file from array")
+        assert_file("/tmp/arraytrailingcomma2",
+            "Did not make second file from array")
+    end
+
     # Iterate across each of the snippets and create a test.
     Dir.entries(snippetdir).sort.each { |file|
         next if file =~ /^\./

-- 
Puppet packaging for Debian



More information about the Pkg-puppet-devel mailing list