summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-07-10 15:31:19 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-07-10 15:31:19 +0000
commit7a71db875d8833065dbefdaf721f74a65414478c (patch)
tree12afcec70d8e6d88cde02f20186a39b05842c663
parente662c869bf8b2924c12d4ff6f999f0744779257d (diff)
downloadpuppet-7a71db875d8833065dbefdaf721f74a65414478c.tar.gz
puppet-7a71db875d8833065dbefdaf721f74a65414478c.tar.xz
puppet-7a71db875d8833065dbefdaf721f74a65414478c.zip
Adding patch by Valentin Vidic to add the "+>" syntax for adding values to parameters
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2670 980ebf18-57e1-0310-9a29-db15c13687c0
-rw-r--r--CHANGELOG3
-rw-r--r--lib/puppet/parser/ast/resourceparam.rb5
-rw-r--r--lib/puppet/parser/grammar.ra26
-rw-r--r--lib/puppet/parser/lexer.rb1
-rw-r--r--lib/puppet/parser/parser.rb1215
-rw-r--r--lib/puppet/parser/resource.rb5
-rw-r--r--lib/puppet/parser/resource/param.rb2
-rwxr-xr-xtest/language/resource.rb25
8 files changed, 699 insertions, 583 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 76aebf5d6..4b4e36cda 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+ Added patch by Valentin Vidic that adds the '+>' syntax to
+ resources, so parameter values can be added to.
+
The configuration client now pulls libraries down to $libdir,
and all autoloading is done from there with full support
for any reloadable file, such as types and providers. (#621)
diff --git a/lib/puppet/parser/ast/resourceparam.rb b/lib/puppet/parser/ast/resourceparam.rb
index 317820a3c..d87720160 100644
--- a/lib/puppet/parser/ast/resourceparam.rb
+++ b/lib/puppet/parser/ast/resourceparam.rb
@@ -3,7 +3,7 @@ require 'puppet/parser/ast/branch'
class Puppet::Parser::AST
# The AST object for the parameters inside ResourceDefs and Selectors.
class ResourceParam < AST::Branch
- attr_accessor :value, :param
+ attr_accessor :value, :param, :add
def each
[@param,@value].each { |child| yield child }
@@ -16,7 +16,8 @@ class Puppet::Parser::AST
return Puppet::Parser::Resource::Param.new(
:name => @param,
:value => @value.safeevaluate(:scope => scope),
- :source => scope.source, :line => self.line, :file => self.file
+ :source => scope.source, :line => self.line, :file => self.file,
+ :add => self.add
)
end
diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra
index 0d7908e13..c990a9199 100644
--- a/lib/puppet/parser/grammar.ra
+++ b/lib/puppet/parser/grammar.ra
@@ -9,7 +9,7 @@ token FALSE EQUALS LESSEQUAL NOTEQUAL DOT COLON TYPE LLCOLLECT RRCOLLECT
token QMARK LPAREN RPAREN ISEQUAL GREATEREQUAL GREATERTHAN LESSTHAN
token IF ELSE IMPORT DEFINE ELSIF VARIABLE CLASS INHERITS NODE BOOLEAN
token NAME SEMIC CASE DEFAULT AT LCOLLECT RCOLLECT CLASSNAME CLASSREF
-token NOT OR AND UNDEF
+token NOT OR AND UNDEF PARROW
rule
program: statements {
@@ -142,7 +142,7 @@ resource: classname LBRACE resourceinstances endsemi RBRACE {
}
# Override a value set elsewhere in the configuration.
-resourceoverride: resourceref LBRACE params endcomma RBRACE {
+resourceoverride: resourceref LBRACE anyparams endcomma RBRACE {
result = ast AST::ResourceOverride, :object => val[0], :params => val[2]
}
@@ -310,6 +310,28 @@ param: NAME FARROW rvalue {
result = ast AST::ResourceParam, :param => val[0], :value => val[2]
}
+addparam: NAME PARROW rvalue {
+ result = ast AST::ResourceParam, :param => val[0], :value => val[2],
+ :add => true
+}
+
+anyparam: param
+ | addparam
+
+anyparams: # nothing
+{
+ result = ast AST::ASTArray
+}
+ | anyparam { result = val[0] }
+ | anyparams COMMA anyparam {
+ 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
+}
+
rvalues: rvalue
| rvalues comma rvalue {
if val[0].instance_of?(AST::ASTArray)
diff --git a/lib/puppet/parser/lexer.rb b/lib/puppet/parser/lexer.rb
index daa75f236..a2de01779 100644
--- a/lib/puppet/parser/lexer.rb
+++ b/lib/puppet/parser/lexer.rb
@@ -46,6 +46,7 @@ module Puppet
%r{\?} => :QMARK,
%r{\\} => :BACKSLASH,
%r{=>} => :FARROW,
+ %r{\+>} => :PARROW,
%r{[a-z][-\w]*} => :NAME,
%r{([a-z][-\w]*::)+[a-z][-\w]*} => :CLASSNAME,
%r{([A-Z][-\w]*::)+[A-Z][-\w]*} => :CLASSREF,
diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb
index e4752ddf4..7a97e2bac 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..id3cb29d1771', 'grammar.ra', 615
+module_eval <<'..end grammar.ra modeval..ida8beb1d339', 'grammar.ra', 637
require 'puppet/parser/functions'
attr_reader :file, :interp
@@ -261,504 +261,520 @@ end
# $Id$
-..end grammar.ra modeval..id3cb29d1771
+..end grammar.ra modeval..ida8beb1d339
##### racc 1.4.5 generates ###
racc_reduce_table = [
0, 0, :racc_error,
- 1, 52, :_reduce_1,
- 1, 52, :_reduce_none,
+ 1, 53, :_reduce_1,
1, 53, :_reduce_none,
- 2, 53, :_reduce_4,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 4, 63, :_reduce_17,
- 3, 63, :_reduce_18,
- 2, 63, :_reduce_19,
- 1, 68, :_reduce_none,
- 1, 68, :_reduce_none,
+ 1, 54, :_reduce_none,
+ 2, 54, :_reduce_4,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 4, 64, :_reduce_17,
+ 3, 64, :_reduce_18,
+ 2, 64, :_reduce_19,
+ 1, 69, :_reduce_none,
1, 69, :_reduce_none,
- 3, 69, :_reduce_23,
- 1, 71, :_reduce_none,
- 1, 71, :_reduce_none,
- 1, 71, :_reduce_none,
- 1, 71, :_reduce_none,
- 1, 71, :_reduce_none,
- 1, 71, :_reduce_none,
- 1, 71, :_reduce_none,
- 1, 71, :_reduce_31,
1, 70, :_reduce_none,
- 3, 70, :_reduce_33,
- 5, 56, :_reduce_34,
- 5, 56, :_reduce_35,
- 5, 56, :_reduce_36,
- 5, 67, :_reduce_37,
- 2, 57, :_reduce_38,
- 1, 85, :_reduce_39,
- 2, 85, :_reduce_40,
- 2, 58, :_reduce_41,
- 1, 86, :_reduce_none,
- 1, 86, :_reduce_none,
- 3, 87, :_reduce_44,
- 3, 87, :_reduce_45,
+ 3, 70, :_reduce_23,
+ 1, 72, :_reduce_none,
+ 1, 72, :_reduce_none,
+ 1, 72, :_reduce_none,
+ 1, 72, :_reduce_none,
+ 1, 72, :_reduce_none,
+ 1, 72, :_reduce_none,
+ 1, 72, :_reduce_none,
+ 1, 72, :_reduce_31,
+ 1, 71, :_reduce_none,
+ 3, 71, :_reduce_33,
+ 5, 57, :_reduce_34,
+ 5, 57, :_reduce_35,
+ 5, 57, :_reduce_36,
+ 5, 68, :_reduce_37,
+ 2, 58, :_reduce_38,
+ 1, 87, :_reduce_39,
+ 2, 87, :_reduce_40,
+ 2, 59, :_reduce_41,
1, 88, :_reduce_none,
1, 88, :_reduce_none,
- 3, 88, :_reduce_48,
- 1, 89, :_reduce_none,
- 3, 89, :_reduce_50,
+ 3, 89, :_reduce_44,
+ 3, 89, :_reduce_45,
1, 90, :_reduce_none,
1, 90, :_reduce_none,
- 3, 91, :_reduce_53,
- 3, 91, :_reduce_54,
+ 3, 90, :_reduce_48,
+ 1, 91, :_reduce_none,
+ 3, 91, :_reduce_50,
1, 92, :_reduce_none,
1, 92, :_reduce_none,
- 4, 94, :_reduce_57,
- 1, 81, :_reduce_none,
- 3, 81, :_reduce_59,
- 0, 82, :_reduce_none,
+ 3, 93, :_reduce_53,
+ 3, 93, :_reduce_54,
+ 1, 94, :_reduce_none,
+ 1, 94, :_reduce_none,
+ 4, 96, :_reduce_57,
1, 82, :_reduce_none,
- 1, 96, :_reduce_62,
- 1, 72, :_reduce_63,
- 1, 74, :_reduce_64,
+ 3, 82, :_reduce_59,
+ 0, 83, :_reduce_none,
+ 1, 83, :_reduce_none,
+ 1, 98, :_reduce_62,
+ 1, 73, :_reduce_63,
+ 1, 75, :_reduce_64,
+ 1, 97, :_reduce_none,
+ 1, 97, :_reduce_none,
+ 1, 97, :_reduce_none,
+ 1, 97, :_reduce_none,
+ 1, 97, :_reduce_none,
+ 1, 97, :_reduce_none,
+ 3, 60, :_reduce_71,
+ 0, 84, :_reduce_72,
+ 1, 84, :_reduce_73,
+ 3, 84, :_reduce_74,
+ 3, 101, :_reduce_75,
+ 3, 102, :_reduce_76,
+ 1, 103, :_reduce_none,
+ 1, 103, :_reduce_none,
+ 0, 86, :_reduce_79,
+ 1, 86, :_reduce_80,
+ 3, 86, :_reduce_81,
+ 1, 104, :_reduce_none,
+ 3, 104, :_reduce_83,
1, 95, :_reduce_none,
1, 95, :_reduce_none,
1, 95, :_reduce_none,
1, 95, :_reduce_none,
1, 95, :_reduce_none,
1, 95, :_reduce_none,
- 3, 59, :_reduce_71,
- 0, 83, :_reduce_72,
- 1, 83, :_reduce_73,
- 3, 83, :_reduce_74,
- 3, 99, :_reduce_75,
1, 100, :_reduce_none,
- 3, 100, :_reduce_77,
- 1, 93, :_reduce_none,
- 1, 93, :_reduce_none,
- 1, 93, :_reduce_none,
- 1, 93, :_reduce_none,
- 1, 93, :_reduce_none,
- 1, 93, :_reduce_none,
- 1, 98, :_reduce_none,
- 1, 98, :_reduce_none,
- 1, 98, :_reduce_none,
- 1, 98, :_reduce_none,
- 1, 98, :_reduce_none,
- 1, 98, :_reduce_none,
- 1, 98, :_reduce_none,
- 1, 98, :_reduce_none,
- 1, 98, :_reduce_none,
- 1, 98, :_reduce_none,
- 4, 76, :_reduce_94,
- 3, 76, :_reduce_95,
- 1, 78, :_reduce_96,
- 1, 78, :_reduce_97,
- 1, 75, :_reduce_98,
- 4, 79, :_reduce_99,
- 4, 79, :_reduce_100,
- 6, 61, :_reduce_101,
- 0, 103, :_reduce_none,
- 4, 103, :_reduce_103,
- 1, 102, :_reduce_none,
- 5, 60, :_reduce_105,
- 1, 104, :_reduce_none,
- 2, 104, :_reduce_107,
- 5, 105, :_reduce_108,
- 4, 105, :_reduce_109,
+ 1, 100, :_reduce_none,
+ 1, 100, :_reduce_none,
+ 1, 100, :_reduce_none,
+ 1, 100, :_reduce_none,
+ 1, 100, :_reduce_none,
+ 1, 100, :_reduce_none,
+ 1, 100, :_reduce_none,
+ 1, 100, :_reduce_none,
+ 1, 100, :_reduce_none,
+ 4, 77, :_reduce_100,
+ 3, 77, :_reduce_101,
+ 1, 79, :_reduce_102,
+ 1, 79, :_reduce_103,
+ 1, 76, :_reduce_104,
+ 4, 80, :_reduce_105,
+ 4, 80, :_reduce_106,
+ 6, 62, :_reduce_107,
+ 0, 107, :_reduce_none,
+ 4, 107, :_reduce_109,
1, 106, :_reduce_none,
- 3, 106, :_reduce_111,
- 3, 77, :_reduce_112,
+ 5, 61, :_reduce_111,
1, 108, :_reduce_none,
- 4, 108, :_reduce_114,
+ 2, 108, :_reduce_113,
+ 5, 109, :_reduce_114,
+ 4, 109, :_reduce_115,
1, 110, :_reduce_none,
- 3, 110, :_reduce_116,
- 3, 109, :_reduce_117,
- 1, 107, :_reduce_none,
- 1, 107, :_reduce_none,
- 1, 107, :_reduce_none,
- 1, 107, :_reduce_none,
- 1, 107, :_reduce_none,
- 1, 107, :_reduce_none,
- 1, 107, :_reduce_none,
- 1, 107, :_reduce_125,
- 1, 111, :_reduce_126,
- 3, 111, :_reduce_127,
- 2, 62, :_reduce_128,
- 6, 64, :_reduce_129,
- 5, 64, :_reduce_130,
- 6, 65, :_reduce_131,
- 5, 65, :_reduce_132,
- 6, 66, :_reduce_133,
- 5, 66, :_reduce_134,
- 1, 80, :_reduce_none,
- 1, 80, :_reduce_none,
- 1, 114, :_reduce_none,
- 3, 114, :_reduce_138,
- 1, 116, :_reduce_none,
- 1, 116, :_reduce_none,
- 1, 116, :_reduce_none,
- 1, 116, :_reduce_none,
- 0, 54, :_reduce_143,
- 0, 117, :_reduce_144,
+ 3, 110, :_reduce_117,
+ 3, 78, :_reduce_118,
1, 112, :_reduce_none,
- 3, 112, :_reduce_146,
- 3, 112, :_reduce_147,
+ 4, 112, :_reduce_120,
+ 1, 114, :_reduce_none,
+ 3, 114, :_reduce_122,
+ 3, 113, :_reduce_123,
+ 1, 111, :_reduce_none,
+ 1, 111, :_reduce_none,
+ 1, 111, :_reduce_none,
+ 1, 111, :_reduce_none,
+ 1, 111, :_reduce_none,
+ 1, 111, :_reduce_none,
+ 1, 111, :_reduce_none,
+ 1, 111, :_reduce_131,
+ 1, 115, :_reduce_132,
+ 3, 115, :_reduce_133,
+ 2, 63, :_reduce_134,
+ 6, 65, :_reduce_135,
+ 5, 65, :_reduce_136,
+ 6, 66, :_reduce_137,
+ 5, 66, :_reduce_138,
+ 6, 67, :_reduce_139,
+ 5, 67, :_reduce_140,
+ 1, 81, :_reduce_none,
+ 1, 81, :_reduce_none,
1, 118, :_reduce_none,
- 3, 118, :_reduce_149,
- 3, 119, :_reduce_150,
- 1, 119, :_reduce_151,
- 3, 119, :_reduce_152,
- 1, 119, :_reduce_153,
- 1, 115, :_reduce_none,
- 2, 115, :_reduce_155,
- 1, 113, :_reduce_none,
- 2, 113, :_reduce_157,
+ 3, 118, :_reduce_144,
1, 120, :_reduce_none,
1, 120, :_reduce_none,
- 1, 73, :_reduce_160,
- 3, 97, :_reduce_161,
- 2, 97, :_reduce_162,
- 1, 101, :_reduce_none,
- 1, 101, :_reduce_none,
- 0, 84, :_reduce_none,
- 1, 84, :_reduce_166 ]
-
-racc_reduce_n = 167
-
-racc_shift_n = 268
+ 1, 120, :_reduce_none,
+ 1, 120, :_reduce_none,
+ 0, 55, :_reduce_149,
+ 0, 121, :_reduce_150,
+ 1, 116, :_reduce_none,
+ 3, 116, :_reduce_152,
+ 3, 116, :_reduce_153,
+ 1, 122, :_reduce_none,
+ 3, 122, :_reduce_155,
+ 3, 123, :_reduce_156,
+ 1, 123, :_reduce_157,
+ 3, 123, :_reduce_158,
+ 1, 123, :_reduce_159,
+ 1, 119, :_reduce_none,
+ 2, 119, :_reduce_161,
+ 1, 117, :_reduce_none,
+ 2, 117, :_reduce_163,
+ 1, 124, :_reduce_none,
+ 1, 124, :_reduce_none,
+ 1, 74, :_reduce_166,
+ 3, 99, :_reduce_167,
+ 2, 99, :_reduce_168,
+ 1, 105, :_reduce_none,
+ 1, 105, :_reduce_none,
+ 0, 85, :_reduce_none,
+ 1, 85, :_reduce_172 ]
+
+racc_reduce_n = 173
+
+racc_shift_n = 276
racc_action_table = [
- 70, 51, 54, 87, 202, 90, 70, 51, 54, 36,
- 37, 204, 192, 105, 48, 153, 114, 193, 36, 37,
- 203, 93, 60, 34, 70, 51, 54, 164, 125, 91,
- 4, 43, 200, 201, 125, 53, 109, 43, 102, 62,
- 60, 53, 56, -124, 39, 62, 169, 41, 58, 70,
- 51, 54, 235, 39, 58, 43, 41, 226, -119, 53,
- 56, 36, 37, 62, 225, 60, 168, 70, 51, 54,
- 128, 139, 58, 70, 51, 54, 192, 200, 201, 34,
- 43, 193, 43, 60, 53, 56, 4, 144, 62, 60,
- -121, 48, 51, 54, 139, -135, 39, 58, 43, 41,
- -118, 232, 53, 56, 43, 43, 62, 60, 53, 56,
- 144, 45, 62, 139, 231, 58, 70, 51, 54, 82,
- 139, 58, 43, 83, 43, 162, 53, 56, 34, 144,
- 62, 43, 60, 205, 46, 4, 144, 200, 201, 58,
- 70, 51, 54, 34, 181, 130, 150, 43, 182, 183,
- 4, 53, 56, 51, 54, 62, 60, -120, 70, 51,
- 54, 51, 54, 189, 58, 70, 51, 54, 182, 250,
- 155, 43, -121, 155, 114, 53, 56, 197, -118, 62,
- -122, 60, 160, 70, 51, 54, -120, -123, 58, 43,
- -119, 209, 100, 53, 165, 126, 43, 62, 213, 60,
- 53, 56, 51, 54, 62, -121, 58, 70, 51, 54,
- 215, 100, 125, 58, 43, 48, 82, 114, 53, 56,
- 217, 82, 62, 60, 220, 70, 51, 54, -118, -119,
- 124, 58, 43, 51, 54, 157, 53, 165, 43, 123,
- 62, 60, 53, 56, 51, 54, 62, 228, 114, 58,
- 229, 51, 54, 230, -123, 58, 43, -120, 155, 114,
- 53, 56, 153, 43, 62, 152, 114, 53, 165, 51,
- 54, 62, 174, 58, 43, 51, 54, 100, 53, 165,
- 58, 43, 62, 96, 114, 53, 165, 163, 155, 62,
- 114, 58, 131, 51, 54, 136, 253, 254, 58, 43,
- 135, 88, 83, 53, 165, 43, 134, 62, 114, 53,
- 165, 51, 54, 62, 100, 224, 58, 51, 54, -120,
- -118, -121, 58, 43, -119, -123, 114, 53, 165, 42,
- 261, 62, 60, 51, 54, 51, 54, 120, -166, 262,
- 58, 43, 35, -122, 32, 53, 165, 43, 60, 62,
- 114, 53, 56, 170, 227, 62, nil, nil, 58, 46,
- nil, nil, nil, 43, 58, 43, nil, 53, 56, 53,
- 165, 62, 267, 62, nil, 46, nil, 46, nil, nil,
- 58, nil, 58, 19, nil, nil, nil, nil, nil, nil,
- nil, 233, nil, 16, nil, 21, 25, nil, 1, 5,
- nil, 10, 19, 14, nil, 18, nil, 27, nil, nil,
- 4, nil, 16, nil, 21, 25, 222, 1, 5, nil,
- 10, nil, 14, nil, 18, nil, 27, 19, nil, 4,
- nil, nil, nil, nil, nil, 245, nil, 16, nil, 21,
- 25, nil, 1, 5, nil, 10, 19, 14, nil, 18,
- nil, 27, nil, nil, 4, nil, 16, nil, 21, 25,
- 246, 1, 5, nil, 10, nil, 14, nil, 18, nil,
- 27, 19, nil, 4, nil, nil, nil, nil, nil, 211,
- nil, 16, nil, 21, 25, nil, 1, 5, nil, 10,
- 19, 14, nil, 18, nil, 27, nil, nil, 4, nil,
- 16, nil, 21, 25, 266, 1, 5, nil, 10, nil,
- 14, nil, 18, nil, 27, 19, nil, 4, nil, nil,
- nil, nil, nil, 206, nil, 16, nil, 21, 25, nil,
- 1, 5, nil, 10, 19, 14, nil, 18, nil, 27,
- nil, nil, 4, nil, 16, nil, 21, 25, 263, 1,
- 5, nil, 10, nil, 14, nil, 18, nil, 27, 19,
- nil, 4, nil, nil, nil, nil, nil, 259, nil, 16,
- nil, 21, 25, nil, 1, 5, nil, 10, 19, 14,
- nil, 18, nil, 27, nil, nil, 4, nil, 16, nil,
- 21, 25, nil, 1, 5, nil, 10, 19, 14, nil,
- 18, nil, 27, nil, nil, 4, nil, 16, nil, 21,
- 25, nil, 1, 5, nil, 10, 19, 14, nil, 18,
- nil, 27, nil, nil, 4, nil, 16, nil, 21, 25,
- nil, 1, 5, nil, 10, 19, 14, nil, 18, nil,
- 27, nil, nil, 4, nil, 16, nil, 21, 25, nil,
- 1, 5, nil, 10, 19, 14, nil, 18, nil, 27,
- nil, nil, 4, nil, 16, nil, 21, 25, nil, 1,
- 5, nil, 10, nil, 14, nil, 18, nil, 27, nil,
- nil, 4 ]
+ 75, 54, 58, 93, 169, 157, 75, 54, 58, 38,
+ 39, 159, 206, 112, 169, -126, 64, 210, 38, 39,
+ 158, 176, 64, 37, 75, 54, 58, 138, 34, 177,
+ 5, 46, 212, 154, 156, 57, 60, 46, 110, 66,
+ 126, 57, 60, 143, 40, 66, 168, 41, 62, 75,
+ 54, 58, 35, 40, 62, 46, 41, 154, 156, 57,
+ 123, 52, 193, 66, 249, 64, 187, 75, 54, 58,
+ 141, 37, 62, 75, 54, 58, -126, 248, 5, 96,
+ 46, 138, 192, 64, 57, 60, -128, 242, 66, 126,
+ 46, 75, 54, 58, 241, 100, 206, 62, 46, 54,
+ 58, 210, 57, 60, 46, -127, 66, 64, 57, 182,
+ 38, 39, 66, 175, 126, 62, 52, 54, 58, 194,
+ -141, 62, 46, 196, 197, -129, 57, 60, 37, 46,
+ 66, 163, 64, 57, 182, 5, 48, 66, 96, 62,
+ 75, 54, 58, 37, -125, 40, 62, 46, 41, 46,
+ 5, 57, 60, 160, 100, 66, 64, 154, 156, 50,
+ 203, 75, 54, 58, 62, 169, 85, 75, 54, 58,
+ 86, 46, 175, 96, -124, 57, 60, 64, 172, 66,
+ 54, 58, 211, 64, 46, 75, 54, 58, 62, 100,
+ 54, 58, 46, 196, 259, -126, 57, 60, 46, 171,
+ 66, 64, 57, 60, -127, -124, 66, 96, 85, 62,
+ 75, 54, 58, 139, -124, 62, 46, 137, 46, 228,
+ 57, 60, 116, 100, 66, -126, 64, 231, 75, 54,
+ 58, 232, 146, 62, 75, 54, 58, 146, 235, 138,
+ 135, 46, 238, -128, 64, 57, 60, 85, 116, 66,
+ 64, 54, 58, 54, 58, -127, 166, 107, 62, 46,
+ 245, 246, 247, 57, 60, 46, 126, 66, 126, 57,
+ 60, -125, 250, 66, 164, -125, 62, 54, 58, 54,
+ 58, 46, 62, 46, -124, 57, 182, 57, 182, 66,
+ -127, 66, 126, -125, 64, -129, -130, 91, 62, 189,
+ 62, 54, 58, 54, 58, 243, 175, 46, 90, 46,
+ 144, 57, 182, 57, 60, 66, 126, 66, 64, 54,
+ 58, 50, 260, 133, 62, 262, 62, 86, 152, 54,
+ 58, 46, 183, 46, 126, 57, 182, 57, 60, 66,
+ 149, 66, 148, 45, 126, 50, 44, 269, 62, 46,
+ 62, -172, 270, 57, 182, 54, 58, 66, 146, 46,
+ -129, 50, 32, 57, 182, 52, 62, 66, nil, nil,
+ 126, 54, 58, nil, nil, nil, 62, nil, nil, nil,
+ nil, nil, nil, nil, nil, 46, 126, nil, nil, 57,
+ 182, nil, nil, 66, nil, nil, 275, nil, nil, nil,
+ nil, 46, 62, nil, nil, 57, 182, 21, nil, 66,
+ nil, nil, nil, nil, nil, 240, nil, 18, 62, 23,
+ 25, nil, 1, 6, nil, 11, 21, 16, nil, 20,
+ nil, 26, nil, nil, 5, nil, 18, nil, 23, 25,
+ 251, 1, 6, nil, 11, nil, 16, nil, 20, nil,
+ 26, 21, nil, 5, nil, nil, nil, nil, nil, 253,
+ nil, 18, nil, 23, 25, nil, 1, 6, nil, 11,
+ 21, 16, nil, 20, nil, 26, nil, nil, 5, nil,
+ 18, nil, 23, 25, 224, 1, 6, nil, 11, nil,
+ 16, nil, 20, nil, 26, 21, nil, 5, nil, nil,
+ nil, nil, nil, 222, nil, 18, nil, 23, 25, nil,
+ 1, 6, nil, 11, 21, 16, nil, 20, nil, 26,
+ nil, nil, 5, nil, 18, nil, 23, 25, 254, 1,
+ 6, nil, 11, nil, 16, nil, 20, nil, 26, 21,
+ nil, 5, nil, nil, nil, nil, nil, 274, nil, 18,
+ nil, 23, 25, nil, 1, 6, nil, 11, 21, 16,
+ nil, 20, nil, 26, nil, nil, 5, nil, 18, nil,
+ 23, 25, 267, 1, 6, nil, 11, nil, 16, nil,
+ 20, nil, 26, 21, nil, 5, nil, nil, nil, nil,
+ nil, 271, nil, 18, nil, 23, 25, nil, 1, 6,
+ nil, 11, 21, 16, nil, 20, nil, 26, nil, nil,
+ 5, nil, 18, nil, 23, 25, nil, 1, 6, nil,
+ 11, 21, 16, nil, 20, nil, 26, nil, nil, 5,
+ nil, 18, nil, 23, 25, nil, 1, 6, nil, 11,
+ 21, 16, nil, 20, nil, 26, nil, nil, 5, nil,
+ 18, nil, 23, 25, nil, 1, 6, nil, 11, 21,
+ 16, nil, 20, nil, 26, nil, nil, 5, nil, 18,
+ nil, 23, 25, nil, 1, 6, nil, 11, 21, 16,
+ nil, 20, nil, 26, nil, nil, 5, nil, 18, nil,
+ 23, 25, nil, 1, 6, nil, 11, nil, 16, nil,
+ 20, nil, 26, nil, nil, 5 ]
racc_action_check = [
- 42, 42, 42, 22, 140, 26, 48, 48, 48, 105,
- 105, 143, 136, 38, 56, 109, 42, 136, 10, 10,
- 143, 27, 48, 22, 82, 82, 82, 122, 109, 26,
- 22, 42, 140, 140, 56, 42, 42, 48, 38, 42,
- 82, 48, 48, 75, 105, 48, 124, 105, 42, 180,
- 180, 180, 198, 10, 48, 82, 10, 187, 116, 82,
- 82, 102, 102, 82, 187, 180, 124, 70, 70, 70,
- 70, 90, 82, 32, 32, 32, 232, 198, 198, 25,
- 180, 232, 90, 70, 180, 180, 25, 90, 180, 32,
- 74, 14, 14, 14, 139, 14, 102, 180, 70, 102,
- 73, 195, 70, 70, 32, 139, 70, 14, 32, 32,
- 139, 14, 32, 199, 195, 70, 16, 16, 16, 19,
- 91, 32, 14, 19, 199, 115, 14, 14, 5, 199,
- 14, 91, 16, 148, 14, 5, 91, 148, 148, 14,
- 18, 18, 18, 96, 127, 72, 96, 16, 127, 127,
- 96, 16, 16, 21, 21, 16, 18, 69, 160, 160,
- 160, 134, 134, 132, 16, 229, 229, 229, 218, 218,
- 133, 18, 113, 112, 160, 18, 18, 137, 110, 18,
- 67, 229, 108, 153, 153, 153, 107, 66, 18, 160,
- 65, 154, 155, 160, 160, 64, 229, 160, 159, 153,
- 229, 229, 226, 226, 229, 61, 160, 220, 220, 220,
- 161, 162, 165, 229, 153, 168, 169, 226, 153, 153,
- 171, 60, 153, 220, 177, 228, 228, 228, 59, 76,
- 55, 153, 226, 131, 131, 103, 226, 226, 220, 52,
- 226, 228, 220, 220, 174, 174, 220, 192, 131, 226,
- 193, 248, 248, 194, 78, 220, 228, 47, 101, 174,
- 228, 228, 100, 131, 228, 97, 248, 131, 131, 126,
- 126, 131, 126, 228, 174, 204, 204, 35, 174, 174,
- 131, 248, 174, 33, 126, 248, 248, 121, 216, 248,
- 204, 174, 81, 203, 203, 89, 222, 225, 248, 126,
- 88, 24, 87, 126, 126, 204, 84, 126, 203, 204,
- 204, 185, 185, 204, 83, 185, 126, 45, 45, 238,
- 240, 241, 204, 203, 242, 243, 185, 203, 203, 11,
- 249, 203, 45, 125, 125, 123, 123, 45, 250, 253,
- 203, 185, 8, 80, 1, 185, 185, 45, 125, 185,
- 123, 45, 45, 125, 190, 45, nil, nil, 185, 45,
- nil, nil, nil, 125, 45, 123, nil, 125, 125, 123,
- 123, 125, 265, 123, nil, 125, nil, 123, nil, nil,
- 125, nil, 123, 265, nil, nil, nil, nil, nil, nil,
- nil, 197, nil, 265, nil, 265, 265, nil, 265, 265,
- nil, 265, 197, 265, nil, 265, nil, 265, nil, nil,
- 265, nil, 197, nil, 197, 197, 184, 197, 197, nil,
- 197, nil, 197, nil, 197, nil, 197, 184, nil, 197,
- nil, nil, nil, nil, nil, 207, nil, 184, nil, 184,
- 184, nil, 184, 184, nil, 184, 207, 184, nil, 184,
- nil, 184, nil, nil, 184, nil, 207, nil, 207, 207,
- 212, 207, 207, nil, 207, nil, 207, nil, 207, nil,
- 207, 212, nil, 207, nil, nil, nil, nil, nil, 157,
- nil, 212, nil, 212, 212, nil, 212, 212, nil, 212,
- 157, 212, nil, 212, nil, 212, nil, nil, 212, nil,
- 157, nil, 157, 157, 264, 157, 157, nil, 157, nil,
- 157, nil, 157, nil, 157, 264, nil, 157, nil, nil,
- nil, nil, nil, 152, nil, 264, nil, 264, 264, nil,
- 264, 264, nil, 264, 152, 264, nil, 264, nil, 264,
- nil, nil, 264, nil, 152, nil, 152, 152, 254, 152,
- 152, nil, 152, nil, 152, nil, 152, nil, 152, 254,
- nil, 152, nil, nil, nil, nil, nil, 234, nil, 254,
- nil, 254, 254, nil, 254, 254, nil, 254, 234, 254,
- nil, 254, nil, 254, nil, nil, 254, nil, 234, nil,
- 234, 234, nil, 234, 234, nil, 234, 262, 234, nil,
- 234, nil, 234, nil, nil, 234, nil, 262, nil, 262,
- 262, nil, 262, 262, nil, 262, 29, 262, nil, 262,
- nil, 262, nil, nil, 262, nil, 29, nil, 29, 29,
- nil, 29, 29, nil, 29, 130, 29, nil, 29, nil,
- 29, nil, nil, 29, nil, 130, nil, 130, 130, nil,
- 130, 130, nil, 130, 0, 130, nil, 130, nil, 130,
- nil, nil, 130, nil, 0, nil, 0, 0, nil, 0,
- 0, nil, 0, nil, 0, nil, 0, nil, 0, nil,
- nil, 0 ]
+ 195, 195, 195, 29, 116, 98, 85, 85, 85, 110,
+ 110, 102, 249, 42, 123, 215, 195, 249, 112, 112,
+ 102, 131, 85, 29, 45, 45, 45, 123, 2, 134,
+ 29, 195, 153, 98, 98, 195, 195, 85, 42, 195,
+ 45, 85, 85, 78, 110, 85, 116, 110, 195, 52,
+ 52, 52, 2, 112, 85, 45, 112, 153, 153, 45,
+ 45, 60, 139, 45, 208, 52, 136, 75, 75, 75,
+ 75, 6, 45, 172, 172, 172, 76, 208, 6, 35,
+ 52, 60, 139, 75, 52, 52, 71, 199, 52, 172,
+ 35, 169, 169, 169, 199, 35, 149, 52, 75, 158,
+ 158, 149, 75, 75, 172, 128, 75, 169, 172, 172,
+ 11, 11, 172, 127, 158, 75, 16, 16, 16, 142,
+ 16, 172, 169, 142, 142, 70, 169, 169, 107, 158,
+ 169, 107, 16, 158, 158, 107, 16, 158, 96, 169,
+ 18, 18, 18, 25, 68, 11, 158, 16, 11, 96,
+ 25, 16, 16, 105, 96, 16, 18, 105, 105, 16,
+ 145, 20, 20, 20, 16, 146, 21, 250, 250, 250,
+ 21, 18, 147, 34, 125, 18, 18, 20, 124, 18,
+ 23, 23, 151, 250, 34, 246, 246, 246, 18, 34,
+ 148, 148, 20, 237, 237, 122, 20, 20, 250, 117,
+ 20, 246, 250, 250, 67, 65, 250, 155, 64, 20,
+ 168, 168, 168, 61, 79, 250, 246, 59, 155, 170,
+ 246, 246, 171, 155, 246, 53, 168, 173, 32, 32,
+ 32, 174, 175, 246, 235, 235, 235, 176, 178, 182,
+ 49, 168, 190, 47, 32, 168, 168, 193, 44, 168,
+ 235, 159, 159, 144, 144, 80, 111, 36, 168, 32,
+ 204, 206, 207, 32, 32, 235, 159, 32, 144, 235,
+ 235, 81, 210, 235, 108, 130, 32, 242, 242, 138,
+ 138, 159, 235, 144, 216, 159, 159, 144, 144, 159,
+ 218, 144, 242, 219, 138, 220, 82, 28, 159, 138,
+ 144, 201, 201, 48, 48, 201, 234, 242, 26, 138,
+ 84, 242, 242, 138, 138, 242, 201, 138, 48, 137,
+ 137, 138, 240, 48, 242, 241, 138, 93, 91, 135,
+ 135, 201, 135, 48, 137, 201, 201, 48, 48, 201,
+ 89, 48, 88, 14, 135, 48, 12, 258, 201, 137,
+ 48, 259, 260, 137, 137, 183, 183, 137, 86, 135,
+ 83, 137, 1, 135, 135, 192, 137, 135, nil, nil,
+ 183, 257, 257, nil, nil, nil, 135, nil, nil, nil,
+ nil, nil, nil, nil, nil, 183, 257, nil, nil, 183,
+ 183, nil, nil, 183, nil, nil, 273, nil, nil, nil,
+ nil, 257, 183, nil, nil, 257, 257, 273, nil, 257,
+ nil, nil, nil, nil, nil, 198, nil, 273, 257, 273,
+ 273, nil, 273, 273, nil, 273, 198, 273, nil, 273,
+ nil, 273, nil, nil, 273, nil, 198, nil, 198, 198,
+ 211, 198, 198, nil, 198, nil, 198, nil, 198, nil,
+ 198, 211, nil, 198, nil, nil, nil, nil, nil, 223,
+ nil, 211, nil, 211, 211, nil, 211, 211, nil, 211,
+ 223, 211, nil, 211, nil, 211, nil, nil, 211, nil,
+ 223, nil, 223, 223, 166, 223, 223, nil, 223, nil,
+ 223, nil, 223, nil, 223, 166, nil, 223, nil, nil,
+ nil, nil, nil, 164, nil, 166, nil, 166, 166, nil,
+ 166, 166, nil, 166, 164, 166, nil, 166, nil, 166,
+ nil, nil, 166, nil, 164, nil, 164, 164, 225, 164,
+ 164, nil, 164, nil, 164, nil, 164, nil, 164, 225,
+ nil, 164, nil, nil, nil, nil, nil, 272, nil, 225,
+ nil, 225, 225, nil, 225, 225, nil, 225, 272, 225,
+ nil, 225, nil, 225, nil, nil, 225, nil, 272, nil,
+ 272, 272, 252, 272, 272, nil, 272, nil, 272, nil,
+ 272, nil, 272, 252, nil, 272, nil, nil, nil, nil,
+ nil, 262, nil, 252, nil, 252, 252, nil, 252, 252,
+ nil, 252, 262, 252, nil, 252, nil, 252, nil, nil,
+ 252, nil, 262, nil, 262, 262, nil, 262, 262, nil,
+ 262, 270, 262, nil, 262, nil, 262, nil, nil, 262,
+ nil, 270, nil, 270, 270, nil, 270, 270, nil, 270,
+ 31, 270, nil, 270, nil, 270, nil, nil, 270, nil,
+ 31, nil, 31, 31, nil, 31, 31, nil, 31, 143,
+ 31, nil, 31, nil, 31, nil, nil, 31, nil, 143,
+ nil, 143, 143, nil, 143, 143, nil, 143, 0, 143,
+ nil, 143, nil, 143, nil, nil, 143, nil, 0, nil,
+ 0, 0, nil, 0, 0, nil, 0, nil, 0, nil,
+ 0, nil, 0, nil, nil, 0 ]
racc_action_pointer = [
- 636, 331, nil, nil, nil, 90, nil, nil, 336, nil,
- 15, 323, nil, nil, 89, nil, 114, nil, 138, 117,
- nil, 150, -15, nil, 301, 41, -14, -21, nil, 598,
- nil, nil, 71, 248, nil, 239, nil, nil, 3, nil,
- nil, nil, -2, nil, nil, 314, nil, 236, 4, nil,
- nil, nil, 229, nil, nil, 220, 12, nil, nil, 207,
- 219, 184, nil, nil, 174, 169, 166, 159, nil, 136,
- 65, nil, 139, 79, 69, 22, 208, nil, 233, nil,
- 322, 286, 22, 276, 296, nil, nil, 296, 300, 273,
- 49, 98, nil, nil, nil, nil, 105, 259, nil, nil,
- 253, 248, 58, 229, nil, 6, nil, 165, 143, 6,
- 157, nil, 163, 151, nil, 108, 37, nil, nil, nil,
- nil, 264, 22, 332, 28, 330, 266, 139, nil, nil,
- 617, 230, 158, 160, 158, nil, -21, 171, nil, 72,
- -16, nil, nil, -4, nil, nil, nil, nil, 89, nil,
- nil, nil, 516, 181, 184, 154, nil, 472, nil, 191,
- 156, 203, 173, nil, nil, 190, nil, nil, 213, 214,
- nil, 197, nil, nil, 241, nil, nil, 215, nil, nil,
- 47, nil, nil, nil, 409, 308, nil, 47, nil, nil,
- 347, nil, 234, 237, 230, 91, nil, 384, 29, 91,
- nil, nil, nil, 290, 272, nil, nil, 428, nil, nil,
- nil, nil, 453, nil, nil, nil, 278, nil, 159, nil,
- 205, nil, 267, nil, nil, 291, 199, nil, 223, 163,
- nil, nil, 43, nil, 560, nil, nil, nil, 298, nil,
- 299, 300, 303, 304, nil, nil, nil, nil, 248, 323,
- 331, nil, nil, 333, 541, nil, nil, nil, nil, nil,
- nil, nil, 579, nil, 497, 365, nil, nil ]
+ 660, 349, 9, nil, nil, nil, 33, nil, nil, nil,
+ nil, 107, 340, nil, 337, nil, 114, nil, 138, nil,
+ 159, 164, nil, 177, nil, 105, 266, nil, 297, -15,
+ nil, 622, 226, nil, 151, 57, 222, nil, nil, nil,
+ nil, nil, 3, nil, 210, 22, nil, 222, 300, 219,
+ nil, nil, 47, 204, nil, nil, nil, nil, nil, 207,
+ 59, 203, nil, nil, 206, 184, nil, 183, 123, nil,
+ 104, 65, nil, nil, nil, 65, 55, nil, 37, 193,
+ 234, 250, 275, 339, 304, 4, 320, nil, 332, 318,
+ nil, 328, nil, 321, nil, nil, 116, nil, -15, nil,
+ nil, nil, -4, nil, nil, 109, nil, 90, 268, nil,
+ 6, 250, 15, nil, nil, nil, -5, 189, nil, nil,
+ nil, nil, 174, 5, 139, 153, nil, 103, 84, nil,
+ 254, 4, nil, nil, 6, 326, 61, 316, 276, 44,
+ nil, nil, 114, 641, 250, 155, 156, 162, 187, 63,
+ nil, 176, nil, 9, nil, 185, nil, nil, 96, 248,
+ nil, nil, nil, nil, 496, nil, 477, nil, 208, 89,
+ 212, 184, 71, 220, 224, 194, 199, nil, 229, nil,
+ nil, nil, 217, 352, nil, nil, nil, nil, nil, nil,
+ 219, nil, 363, 245, nil, -2, nil, nil, 408, 77,
+ nil, 298, nil, nil, 253, nil, 248, 239, 54, nil,
+ 259, 433, nil, nil, nil, -6, 263, nil, 269, 272,
+ 274, nil, nil, 452, nil, 521, nil, nil, nil, nil,
+ nil, nil, nil, nil, 296, 232, nil, 184, nil, nil,
+ 293, 319, 274, nil, nil, nil, 183, nil, nil, -21,
+ 165, nil, 565, nil, nil, nil, nil, 368, 340, 344,
+ 346, nil, 584, nil, nil, nil, nil, nil, nil, nil,
+ 603, nil, 540, 389, nil, nil ]
racc_action_default = [
- -143, -167, -15, -3, -136, -167, -16, -5, -167, -6,
- -167, -167, -7, -8, -43, -9, -167, -10, -167, -42,
- -11, -167, -167, -12, -167, -167, -167, -39, -13, -1,
- -14, -2, -167, -143, -135, -72, -141, -140, -143, -139,
- -137, -142, -72, -160, -29, -167, -31, -30, -167, -32,
- -19, -96, -20, -98, -97, -21, -63, -22, -62, -24,
- -64, -25, -125, -124, -167, -26, -27, -28, -88, -84,
- -167, -91, -167, -85, -89, -93, -86, -90, -87, -104,
- -92, -167, -167, -72, -128, -126, -38, -167, -167, -143,
- -143, -143, -41, -40, -4, -71, -167, -167, -156, -73,
- -167, -165, -167, -167, -154, -167, -68, -65, -60, -63,
- -66, -58, -165, -69, -64, -167, -67, -123, -70, -122,
- -18, -167, -167, -167, -167, -167, -167, -167, -162, -76,
- -167, -167, -167, -165, -167, 268, -144, -167, -145, -143,
- -167, -47, -49, -167, -63, -56, -55, -46, -167, -158,
- -159, -157, -167, -167, -167, -166, -155, -167, -138, -167,
- -61, -167, -72, -17, -99, -63, -23, -33, -167, -167,
- -95, -167, -120, -118, -167, -121, -119, -167, -112, -113,
- -167, -161, -163, -164, -167, -167, -106, -167, -110, -100,
- -167, -127, -153, -151, -167, -167, -148, -167, -167, -167,
- -52, -51, -45, -167, -167, -44, -132, -167, -75, -37,
- -74, -134, -167, -34, -59, -35, -165, -94, -165, -115,
- -167, -77, -102, -107, -105, -167, -167, -36, -167, -167,
- -146, -147, -167, -130, -167, -50, -48, -82, -78, -53,
- -79, -83, -80, -81, -54, -131, -133, -57, -167, -167,
- -164, -117, -101, -167, -167, -111, -152, -150, -149, -129,
- -116, -114, -167, -109, -167, -167, -108, -103 ]
+ -149, -173, -173, -14, -2, -142, -173, -15, -3, -16,
+ -5, -173, -173, -6, -173, -7, -43, -8, -173, -9,
+ -173, -42, -10, -173, -11, -173, -39, -12, -173, -173,
+ -13, -1, -173, -41, -149, -149, -149, -141, -147, -146,
+ -145, -148, -149, -143, -79, -72, -166, -28, -173, -173,
+ -31, -29, -173, -30, -102, -32, -19, -104, -103, -20,
+ -63, -21, -62, -22, -64, -24, -131, -25, -26, -130,
+ -27, -98, -96, -110, -94, -173, -90, -97, -173, -91,
+ -95, -92, -99, -93, -173, -173, -72, -132, -134, -149,
+ -40, -173, -38, -173, -4, -71, -149, -46, -173, -47,
+ -63, -49, -173, -56, -55, -173, -162, -173, -173, -160,
+ -173, -173, -173, -77, -78, -80, -173, -171, -128, -70,
+ -68, -73, -65, -63, -60, -66, -64, -171, -69, -58,
+ -67, -173, -129, -18, -173, -173, -173, -173, -173, -173,
+ -82, -168, -173, -173, -173, -173, -173, -171, -173, -150,
+ -151, -173, 276, -173, -52, -173, -51, -45, -173, -173,
+ -44, -163, -164, -165, -173, -161, -173, -144, -173, -173,
+ -173, -172, -61, -173, -173, -172, -72, -17, -173, -126,
+ -118, -119, -63, -173, -124, -127, -125, -105, -23, -101,
+ -173, -33, -173, -173, -167, -173, -169, -170, -173, -173,
+ -116, -173, -112, -106, -173, -133, -159, -173, -173, -154,
+ -157, -173, -50, -48, -88, -84, -85, -53, -89, -86,
+ -87, -54, -138, -173, -140, -173, -76, -75, -37, -81,
+ -59, -34, -35, -74, -171, -173, -121, -171, -100, -83,
+ -108, -173, -173, -111, -113, -36, -173, -152, -153, -173,
+ -173, -136, -173, -137, -139, -57, -123, -173, -173, -170,
+ -173, -107, -173, -117, -158, -155, -156, -135, -122, -120,
+ -173, -115, -173, -173, -114, -109 ]
racc_goto_table = [
- 29, 94, 154, 196, 47, 101, 40, 179, 186, 44,
- 111, 85, 112, 161, 67, 118, 50, 180, 33, 24,
- 140, 148, 239, 244, 210, 127, 236, 72, 252, 185,
- 66, 92, 107, 159, 190, 47, 178, 106, 89, 108,
- 44, 218, 119, 84, 137, 67, 177, 121, 31, 97,
- 38, 188, 103, 133, 65, 219, 166, 194, 117, 195,
- 86, 66, 223, 151, nil, nil, nil, nil, 79, 198,
- 81, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, 98, 116, nil, 95, 65, 104, nil, nil, nil,
- nil, nil, nil, nil, 177, nil, nil, nil, 156, 258,
- 122, 158, nil, nil, nil, 188, nil, nil, 248, 149,
- nil, nil, nil, 47, nil, 47, 172, 247, 44, 249,
- 44, 172, 129, 67, 191, 67, 119, 171, 214, 260,
- 184, 119, 216, 118, 132, nil, nil, 138, nil, 66,
- nil, 66, 117, nil, nil, nil, 255, 117, nil, nil,
- 107, nil, 207, nil, nil, 106, 94, 212, 61, nil,
- 119, nil, nil, 65, 172, 65, 176, nil, 177, nil,
- nil, 176, nil, nil, 119, 172, 117, nil, nil, 94,
- nil, nil, 59, nil, 94, 119, 113, nil, nil, 61,
- 117, nil, nil, 238, 238, nil, nil, 234, 237, 237,
- 116, 117, nil, 119, 119, 208, 94, nil, nil, nil,
- 110, nil, nil, 59, 176, nil, 172, nil, nil, 243,
- 243, nil, nil, nil, nil, 176, 119, nil, nil, 49,
- nil, 71, 221, 71, 146, 146, 94, 94, 172, nil,
- nil, nil, 117, 242, 242, nil, nil, 71, 119, nil,
- nil, nil, nil, nil, 264, nil, nil, nil, 145, 145,
- 49, nil, 265, 71, 117, nil, 176, 61, nil, 61,
- 175, nil, 251, nil, nil, 175, nil, nil, nil, nil,
- 256, 257, nil, 146, 75, 71, 75, nil, 176, nil,
- nil, 59, nil, 59, 173, nil, nil, 71, nil, 173,
- 75, nil, nil, nil, 113, nil, nil, 145, nil, nil,
- nil, nil, nil, nil, nil, nil, 75, nil, 175, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, 110, 175,
- nil, nil, nil, nil, nil, nil, nil, nil, 75, 167,
- 49, nil, 173, 146, nil, nil, nil, 241, 241, nil,
- 75, nil, nil, 173, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, 145, 71, nil,
- 175, 240, 240, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, 175, nil, 173, 71, nil, nil, nil, nil,
+ 31, 94, 36, 68, 127, 178, 56, 43, 202, 119,
+ 209, 67, 195, 4, 200, 115, 28, 113, 213, 70,
+ 142, 89, 129, 98, 105, 217, 221, 33, 78, 104,
+ 104, 261, 130, 181, 201, 68, 117, 173, 134, 180,
+ 128, 124, 237, 67, 88, 147, 151, 108, 132, 106,
+ 42, 70, 111, 178, 170, 109, 188, 207, 208, 92,
+ 161, nil, nil, nil, 174, 244, nil, nil, nil, nil,
+ nil, 200, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 236, nil, nil, 204, 153, nil, nil, nil, nil,
+ nil, 104, nil, nil, nil, nil, nil, 65, nil, nil,
+ nil, nil, 150, 162, nil, 47, 165, 257, 167, nil,
+ 265, nil, 263, nil, nil, 103, 103, nil, nil, nil,
+ nil, nil, 186, nil, 68, 68, 125, 178, 190, 65,
+ 185, 186, 67, 67, 118, 234, 119, 47, 132, 185,
+ 70, 70, 229, 198, 113, 219, 219, 132, 233, 230,
+ 104, nil, nil, 218, 218, 268, nil, nil, 51, 130,
+ nil, 220, 220, nil, 223, 53, 225, 128, 94, nil,
+ 186, 255, 87, nil, 258, 132, nil, 103, 185, nil,
+ nil, nil, nil, nil, nil, nil, 132, 120, 186, nil,
+ 51, nil, nil, 94, 122, 94, 185, 53, 82, nil,
+ 82, 73, nil, 84, 132, nil, nil, nil, nil, nil,
+ nil, 252, 82, nil, nil, 95, 184, nil, 65, 65,
+ nil, nil, 94, nil, 118, 184, 47, 47, nil, 186,
+ nil, nil, 82, 118, nil, 136, 103, 185, nil, 216,
+ 216, nil, 94, 94, 186, 132, nil, 118, 118, nil,
+ nil, nil, 185, 125, nil, 82, nil, nil, 140, nil,
+ 132, 118, 272, nil, 184, 82, nil, 55, 145, 77,
+ 273, 77, 118, nil, nil, nil, nil, nil, nil, 51,
+ 51, nil, 184, 77, 179, nil, 53, 53, nil, nil,
+ 118, nil, nil, 179, nil, nil, nil, 205, nil, 55,
+ 214, 214, nil, 77, nil, nil, nil, 215, 215, nil,
+ nil, nil, nil, nil, 120, nil, nil, nil, nil, nil,
+ nil, 122, nil, 184, nil, nil, 77, nil, nil, nil,
+ nil, 118, 179, nil, nil, nil, 77, nil, 184, nil,
+ nil, nil, nil, nil, nil, nil, 118, nil, 82, 82,
+ 179, 226, 227, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, 173, nil, nil, nil,
- nil, 75, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, 71, nil, nil, nil, nil,
- nil, nil, nil, 71, 71, nil, nil, nil, 75, nil,
+ nil, nil, nil, nil, nil, 82, nil, nil, 239, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 55,
+ 191, 179, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 179, nil, nil, nil,
+ nil, nil, nil, nil, nil, 82, nil, nil, 256, 77,
+ 77, nil, nil, nil, nil, nil, 82, nil, nil, 264,
+ 82, nil, nil, 266, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 77, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, 75, nil,
- nil, nil, nil, nil, nil, nil, 75, 75 ]
+ nil, nil, nil, nil, nil, nil, 77, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, 77, nil, nil,
+ nil, 77 ]
racc_goto_check = [
- 2, 4, 33, 68, 27, 32, 65, 58, 54, 26,
- 43, 27, 32, 33, 25, 46, 17, 50, 29, 1,
- 37, 37, 42, 42, 48, 49, 38, 51, 52, 53,
- 24, 36, 27, 31, 33, 27, 57, 26, 29, 30,
- 26, 59, 25, 60, 61, 25, 56, 17, 3, 62,
- 63, 56, 64, 32, 23, 58, 20, 66, 24, 67,
- 5, 24, 54, 69, nil, nil, nil, nil, 47, 37,
- 47, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, 3, 23, nil, 47, 23, 3, nil, nil, nil,
- nil, nil, nil, nil, 56, nil, nil, nil, 65, 68,
- 47, 65, nil, nil, nil, 56, nil, nil, 50, 29,
- nil, nil, nil, 27, nil, 27, 27, 33, 26, 33,
- 26, 27, 47, 25, 27, 25, 25, 17, 43, 58,
- 2, 25, 32, 46, 47, nil, nil, 3, nil, 24,
- nil, 24, 24, nil, nil, nil, 56, 24, nil, nil,
- 27, nil, 2, nil, nil, 26, 4, 2, 22, nil,
- 25, nil, nil, 23, 27, 23, 23, nil, 56, nil,
- nil, 23, nil, nil, 25, 27, 24, nil, nil, 4,
- nil, nil, 21, nil, 4, 25, 22, nil, nil, 22,
- 24, nil, nil, 27, 27, nil, nil, 2, 26, 26,
- 23, 24, nil, 25, 25, 47, 4, nil, nil, nil,
- 21, nil, nil, 21, 23, nil, 27, nil, nil, 24,
- 24, nil, nil, nil, nil, 23, 25, nil, nil, 28,
- nil, 28, 47, 28, 22, 22, 4, 4, 27, nil,
- nil, nil, 24, 23, 23, nil, nil, 28, 25, nil,
- nil, nil, nil, nil, 2, nil, nil, nil, 21, 21,
- 28, nil, 2, 28, 24, nil, 23, 22, nil, 22,
- 22, nil, 47, nil, nil, 22, nil, nil, nil, nil,
- 47, 47, nil, 22, 45, 28, 45, nil, 23, nil,
- nil, 21, nil, 21, 21, nil, nil, 28, nil, 21,
- 45, nil, nil, nil, 22, nil, nil, 21, nil, nil,
- nil, nil, nil, nil, nil, nil, 45, nil, 22, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, 21, 22,
- nil, nil, nil, nil, nil, nil, nil, nil, 45, 28,
- 28, nil, 21, 22, nil, nil, nil, 22, 22, nil,
- 45, nil, nil, 21, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, 21, 28, nil,
- 22, 21, 21, nil, nil, nil, nil, nil, nil, nil,
+ 2, 4, 29, 23, 32, 59, 17, 68, 57, 47,
+ 71, 22, 53, 3, 59, 51, 1, 49, 39, 24,
+ 52, 29, 44, 38, 38, 43, 43, 37, 54, 22,
+ 22, 55, 23, 61, 56, 23, 34, 31, 17, 60,
+ 22, 30, 62, 22, 63, 32, 64, 65, 24, 3,
+ 66, 24, 67, 59, 33, 3, 20, 69, 70, 5,
+ 72, nil, nil, nil, 33, 57, nil, nil, nil, nil,
+ nil, 59, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 61, nil, nil, 33, 38, nil, nil, nil, nil,
+ nil, 22, nil, nil, nil, nil, nil, 21, nil, nil,
+ nil, nil, 3, 29, nil, 25, 68, 53, 68, nil,
+ 71, nil, 59, nil, nil, 21, 21, nil, nil, nil,
+ nil, nil, 23, nil, 23, 23, 21, 59, 17, 21,
+ 22, 23, 22, 22, 25, 32, 47, 25, 24, 22,
+ 24, 24, 51, 2, 49, 23, 23, 24, 49, 44,
+ 22, nil, nil, 22, 22, 61, nil, nil, 26, 23,
+ nil, 24, 24, nil, 2, 27, 2, 22, 4, nil,
+ 23, 33, 27, nil, 33, 24, nil, 21, 22, nil,
+ nil, nil, nil, nil, nil, nil, 24, 26, 23, nil,
+ 26, nil, nil, 4, 27, 4, 22, 27, 46, nil,
+ 46, 48, nil, 48, 24, nil, nil, nil, nil, nil,
+ nil, 2, 46, nil, nil, 48, 21, nil, 21, 21,
+ nil, nil, 4, nil, 25, 21, 25, 25, nil, 23,
+ nil, nil, 46, 25, nil, 48, 21, 22, nil, 21,
+ 21, nil, 4, 4, 23, 24, nil, 25, 25, nil,
+ nil, nil, 22, 21, nil, 46, nil, nil, 48, nil,
+ 24, 25, 2, nil, 21, 46, nil, 28, 48, 28,
+ 2, 28, 25, nil, nil, nil, nil, nil, nil, 26,
+ 26, nil, 21, 28, 27, nil, 27, 27, nil, nil,
+ 25, nil, nil, 27, nil, nil, nil, 27, nil, 28,
+ 26, 26, nil, 28, nil, nil, nil, 27, 27, nil,
+ nil, nil, nil, nil, 26, nil, nil, nil, nil, nil,
+ nil, 27, nil, 21, nil, nil, 28, nil, nil, nil,
+ nil, 25, 27, nil, nil, nil, 28, nil, 21, nil,
+ nil, nil, nil, nil, nil, nil, 25, nil, 46, 46,
+ 27, 48, 48, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, 22, nil, 21, 28, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 46, nil, nil, 48, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 28,
+ 28, 27, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 27, nil, nil, nil,
+ nil, nil, nil, nil, nil, 46, nil, nil, 48, 28,
+ 28, nil, nil, nil, nil, nil, 46, nil, nil, 48,
+ 46, nil, nil, 48, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 28, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, 21, nil, nil, nil,
- nil, 45, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, 28, nil, nil, nil, nil,
- nil, nil, nil, 28, 28, nil, nil, nil, 45, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, 45, nil,
- nil, nil, nil, nil, nil, nil, 45, 45 ]
+ nil, nil, nil, nil, nil, nil, 28, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, 28, nil, nil,
+ nil, 28 ]
racc_goto_pointer = [
- nil, 19, 0, 48, -28, 38, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, 2, nil, nil,
- -67, 168, 144, 40, 16, 0, -5, -10, 215, 13,
- -3, -75, -30, -99, nil, nil, 5, -70, -173, nil,
- nil, nil, -181, -32, nil, 268, -27, 52, -131, -45,
- -110, 11, -194, -102, -123, nil, -80, -90, -119, -133,
- 22, -45, 16, 40, 14, -4, -79, -77, -133, -33 ]
+ nil, 16, 0, 13, -30, 30, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, -10, nil, nil,
+ -81, 81, -5, -13, 3, 89, 142, 149, 251, -4,
+ -4, -87, -41, -63, -8, nil, nil, 25, -11, -137,
+ nil, nil, nil, -133, -23, nil, 180, -36, 183, -27,
+ nil, -29, -55, -130, 10, -209, -110, -136, nil, -130,
+ -96, -102, -141, 21, -43, 11, 39, 10, -4, -92,
+ -91, -139, -47 ]
racc_goto_default = [
- nil, nil, nil, 147, 3, 7, 9, 12, 13, 15,
- 17, 20, 23, 28, 30, 2, 6, nil, 52, 55,
- 57, 73, 74, 76, 78, 80, 68, 69, 8, 11,
- nil, nil, nil, nil, 22, 26, nil, nil, 141, 199,
- 142, 143, nil, nil, 115, 63, 77, nil, 99, nil,
- nil, nil, nil, nil, nil, 187, 64, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil ]
+ nil, nil, nil, 97, 8, 10, 13, 15, 17, 19,
+ 22, 24, 27, 30, 3, 7, 9, nil, 59, 61,
+ 63, 79, 80, 81, 83, 71, 74, 76, 12, 14,
+ nil, nil, nil, nil, nil, 29, 2, nil, nil, 99,
+ 155, 101, 102, nil, nil, 131, 69, 72, nil, 121,
+ 114, nil, nil, nil, nil, nil, nil, nil, 199, 49,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil ]
racc_token_table = {
false => 0,
@@ -811,11 +827,12 @@ racc_token_table = {
:NOT => 47,
:OR => 48,
:AND => 49,
- :UNDEF => 50 }
+ :UNDEF => 50,
+ :PARROW => 51 }
racc_use_result_var = true
-racc_nt_base = 51
+racc_nt_base = 52
Racc_arg = [
racc_action_table,
@@ -885,6 +902,7 @@ Racc_token_to_s_table = [
'OR',
'AND',
'UNDEF',
+'PARROW',
'$start',
'program',
'statements',
@@ -919,6 +937,7 @@ Racc_token_to_s_table = [
'endsemi',
'params',
'endcomma',
+'anyparams',
'at',
'collectname',
'collectrhand',
@@ -934,6 +953,8 @@ Racc_token_to_s_table = [
'array',
'rvalue',
'param',
+'addparam',
+'anyparam',
'rvalues',
'comma',
'iftest',
@@ -1400,30 +1421,56 @@ module_eval <<'.,.,', 'grammar.ra', 311
end
.,.,
- # reduce 76 omitted
-
-module_eval <<'.,.,', 'grammar.ra', 320
- def _reduce_77( 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
+module_eval <<'.,.,', 'grammar.ra', 316
+ def _reduce_76( val, _values, result )
+ result = ast AST::ResourceParam, :param => val[0], :value => val[2],
+ :add => true
result
end
.,.,
+ # reduce 77 omitted
+
# reduce 78 omitted
- # reduce 79 omitted
+module_eval <<'.,.,', 'grammar.ra', 324
+ def _reduce_79( val, _values, result )
+ result = ast AST::ASTArray
+ result
+ end
+.,.,
- # reduce 80 omitted
+module_eval <<'.,.,', 'grammar.ra', 324
+ def _reduce_80( val, _values, result )
+ result = val[0]
+ result
+ end
+.,.,
- # reduce 81 omitted
+module_eval <<'.,.,', 'grammar.ra', 333
+ def _reduce_81( 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
+ result
+ end
+.,.,
# reduce 82 omitted
- # reduce 83 omitted
+module_eval <<'.,.,', 'grammar.ra', 342
+ def _reduce_83( 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
+ end
+.,.,
# reduce 84 omitted
@@ -1445,8 +1492,20 @@ module_eval <<'.,.,', 'grammar.ra', 320
# reduce 93 omitted
-module_eval <<'.,.,', 'grammar.ra', 347
- def _reduce_94( val, _values, result )
+ # reduce 94 omitted
+
+ # reduce 95 omitted
+
+ # reduce 96 omitted
+
+ # reduce 97 omitted
+
+ # reduce 98 omitted
+
+ # reduce 99 omitted
+
+module_eval <<'.,.,', 'grammar.ra', 369
+ def _reduce_100( val, _values, result )
args = aryfy(val[2])
result = ast AST::Function,
:name => val[0],
@@ -1456,8 +1515,8 @@ module_eval <<'.,.,', 'grammar.ra', 347
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 352
- def _reduce_95( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 374
+ def _reduce_101( val, _values, result )
result = ast AST::Function,
:name => val[0],
:arguments => AST::ASTArray.new({}),
@@ -1466,44 +1525,44 @@ module_eval <<'.,.,', 'grammar.ra', 352
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 356
- def _reduce_96( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 378
+ def _reduce_102( val, _values, result )
result = ast AST::String, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 358
- def _reduce_97( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 380
+ def _reduce_103( val, _values, result )
result = ast AST::FlatString, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 362
- def _reduce_98( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 384
+ def _reduce_104( val, _values, result )
result = ast AST::Boolean, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 367
- def _reduce_99( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 389
+ def _reduce_105( val, _values, result )
Puppet.warning addcontext("Deprecation notice: Resource references should now be capitalized")
result = ast AST::ResourceRef, :type => val[0], :title => val[2]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 369
- def _reduce_100( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 391
+ def _reduce_106( val, _values, result )
result = ast AST::ResourceRef, :type => val[0], :title => val[2]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 382
- def _reduce_101( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 404
+ def _reduce_107( val, _values, result )
args = {
:test => val[1],
:statements => val[3]
@@ -1518,19 +1577,19 @@ module_eval <<'.,.,', 'grammar.ra', 382
end
.,.,
- # reduce 102 omitted
+ # reduce 108 omitted
-module_eval <<'.,.,', 'grammar.ra', 387
- def _reduce_103( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 409
+ def _reduce_109( val, _values, result )
result = ast AST::Else, :statements => val[2]
result
end
.,.,
- # reduce 104 omitted
+ # reduce 110 omitted
-module_eval <<'.,.,', 'grammar.ra', 399
- def _reduce_105( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 421
+ def _reduce_111( val, _values, result )
options = val[3]
unless options.instance_of?(AST::ASTArray)
options = ast AST::ASTArray, :children => [val[3]]
@@ -1540,10 +1599,10 @@ module_eval <<'.,.,', 'grammar.ra', 399
end
.,.,
- # reduce 106 omitted
+ # reduce 112 omitted
-module_eval <<'.,.,', 'grammar.ra', 409
- def _reduce_107( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 431
+ def _reduce_113( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
val[0].push val[1]
result = val[0]
@@ -1554,15 +1613,15 @@ module_eval <<'.,.,', 'grammar.ra', 409
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 413
- def _reduce_108( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 435
+ def _reduce_114( val, _values, result )
result = ast AST::CaseOpt, :value => val[0], :statements => val[3]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 418
- def _reduce_109( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 440
+ def _reduce_115( val, _values, result )
result = ast(AST::CaseOpt,
:value => val[0],
:statements => ast(AST::ASTArray)
@@ -1571,10 +1630,10 @@ module_eval <<'.,.,', 'grammar.ra', 418
end
.,.,
- # reduce 110 omitted
+ # reduce 116 omitted
-module_eval <<'.,.,', 'grammar.ra', 428
- def _reduce_111( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 450
+ def _reduce_117( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
val[0].push(val[2])
result = val[0]
@@ -1585,26 +1644,26 @@ module_eval <<'.,.,', 'grammar.ra', 428
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 432
- def _reduce_112( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 454
+ def _reduce_118( val, _values, result )
result = ast AST::Selector, :param => val[0], :values => val[2]
result
end
.,.,
- # reduce 113 omitted
+ # reduce 119 omitted
-module_eval <<'.,.,', 'grammar.ra', 434
- def _reduce_114( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 456
+ def _reduce_120( val, _values, result )
result = val[1]
result
end
.,.,
- # reduce 115 omitted
+ # reduce 121 omitted
-module_eval <<'.,.,', 'grammar.ra', 445
- def _reduce_116( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 467
+ def _reduce_122( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
val[0].push(val[2])
result = val[0]
@@ -1615,50 +1674,50 @@ module_eval <<'.,.,', 'grammar.ra', 445
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 449
- def _reduce_117( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 471
+ def _reduce_123( val, _values, result )
result = ast AST::ResourceParam, :param => val[0], :value => val[2]
result
end
.,.,
- # reduce 118 omitted
+ # reduce 124 omitted
- # reduce 119 omitted
+ # reduce 125 omitted
- # reduce 120 omitted
+ # reduce 126 omitted
- # reduce 121 omitted
+ # reduce 127 omitted
- # reduce 122 omitted
+ # reduce 128 omitted
- # reduce 123 omitted
+ # reduce 129 omitted
- # reduce 124 omitted
+ # reduce 130 omitted
-module_eval <<'.,.,', 'grammar.ra', 460
- def _reduce_125( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 482
+ def _reduce_131( val, _values, result )
result = ast AST::Default, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 462
- def _reduce_126( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 484
+ def _reduce_132( val, _values, result )
result = [val[0].value]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 466
- def _reduce_127( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 488
+ def _reduce_133( val, _values, result )
results = val[0] << val[2].value
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 474
- def _reduce_128( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 496
+ def _reduce_134( val, _values, result )
val[1].each do |file|
import(file)
end
@@ -1668,8 +1727,8 @@ module_eval <<'.,.,', 'grammar.ra', 474
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 484
- def _reduce_129( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 506
+ def _reduce_135( val, _values, result )
interp.newdefine classname(val[1]), :arguments => val[2], :code => val[4]
@lexer.indefine = false
result = nil
@@ -1679,8 +1738,8 @@ module_eval <<'.,.,', 'grammar.ra', 484
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 488
- def _reduce_130( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 510
+ def _reduce_136( val, _values, result )
interp.newdefine classname(val[1]), :arguments => val[2]
@lexer.indefine = false
result = nil
@@ -1688,8 +1747,8 @@ module_eval <<'.,.,', 'grammar.ra', 488
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 496
- def _reduce_131( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 518
+ def _reduce_137( val, _values, result )
# Our class gets defined in the parent namespace, not our own.
@lexer.namepop
interp.newclass classname(val[1]), :code => val[4], :parent => val[2]
@@ -1698,8 +1757,8 @@ module_eval <<'.,.,', 'grammar.ra', 496
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 501
- def _reduce_132( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 523
+ def _reduce_138( val, _values, result )
# Our class gets defined in the parent namespace, not our own.
@lexer.namepop
interp.newclass classname(val[1]), :parent => val[2]
@@ -1708,30 +1767,30 @@ module_eval <<'.,.,', 'grammar.ra', 501
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 506
- def _reduce_133( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 528
+ def _reduce_139( val, _values, result )
interp.newnode val[1], :parent => val[2], :code => val[4]
result = nil
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 509
- def _reduce_134( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 531
+ def _reduce_140( val, _values, result )
interp.newnode val[1], :parent => val[2]
result = nil
result
end
.,.,
- # reduce 135 omitted
+ # reduce 141 omitted
- # reduce 136 omitted
+ # reduce 142 omitted
- # reduce 137 omitted
+ # reduce 143 omitted
-module_eval <<'.,.,', 'grammar.ra', 521
- def _reduce_138( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 543
+ def _reduce_144( val, _values, result )
result = val[0]
result = [result] unless result.is_a?(Array)
result << val[2]
@@ -1739,49 +1798,49 @@ module_eval <<'.,.,', 'grammar.ra', 521
end
.,.,
- # reduce 139 omitted
+ # reduce 145 omitted
- # reduce 140 omitted
+ # reduce 146 omitted
- # reduce 141 omitted
+ # reduce 147 omitted
- # reduce 142 omitted
+ # reduce 148 omitted
-module_eval <<'.,.,', 'grammar.ra', 530
- def _reduce_143( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 552
+ def _reduce_149( val, _values, result )
result = nil
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 534
- def _reduce_144( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 556
+ def _reduce_150( val, _values, result )
result = ast AST::ASTArray, :children => []
result
end
.,.,
- # reduce 145 omitted
+ # reduce 151 omitted
-module_eval <<'.,.,', 'grammar.ra', 539
- def _reduce_146( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 561
+ def _reduce_152( val, _values, result )
result = nil
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 543
- def _reduce_147( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 565
+ def _reduce_153( val, _values, result )
result = val[1]
result = [result] unless result[0].is_a?(Array)
result
end
.,.,
- # reduce 148 omitted
+ # reduce 154 omitted
-module_eval <<'.,.,', 'grammar.ra', 550
- def _reduce_149( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 572
+ def _reduce_155( val, _values, result )
result = val[0]
result = [result] unless result[0].is_a?(Array)
result << val[2]
@@ -1789,67 +1848,67 @@ module_eval <<'.,.,', 'grammar.ra', 550
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 555
- def _reduce_150( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 577
+ def _reduce_156( val, _values, result )
Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
result = [val[0], val[2]]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 559
- def _reduce_151( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 581
+ def _reduce_157( val, _values, result )
Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
result = [val[0]]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 561
- def _reduce_152( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 583
+ def _reduce_158( val, _values, result )
result = [val[0], val[2]]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 563
- def _reduce_153( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 585
+ def _reduce_159( val, _values, result )
result = [val[0]]
result
end
.,.,
- # reduce 154 omitted
+ # reduce 160 omitted
-module_eval <<'.,.,', 'grammar.ra', 568
- def _reduce_155( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 590
+ def _reduce_161( val, _values, result )
result = val[1]
result
end
.,.,
- # reduce 156 omitted
+ # reduce 162 omitted
-module_eval <<'.,.,', 'grammar.ra', 573
- def _reduce_157( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 595
+ def _reduce_163( val, _values, result )
result = val[1]
result
end
.,.,
- # reduce 158 omitted
+ # reduce 164 omitted
- # reduce 159 omitted
+ # reduce 165 omitted
-module_eval <<'.,.,', 'grammar.ra', 579
- def _reduce_160( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 601
+ def _reduce_166( val, _values, result )
result = ast AST::Variable, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 587
- def _reduce_161( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 609
+ def _reduce_167( val, _values, result )
if val[1].instance_of?(AST::ASTArray)
result = val[1]
else
@@ -1859,21 +1918,21 @@ module_eval <<'.,.,', 'grammar.ra', 587
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 589
- def _reduce_162( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 611
+ def _reduce_168( val, _values, result )
result = ast AST::ASTArray
result
end
.,.,
- # reduce 163 omitted
+ # reduce 169 omitted
- # reduce 164 omitted
+ # reduce 170 omitted
- # reduce 165 omitted
+ # reduce 171 omitted
-module_eval <<'.,.,', 'grammar.ra', 594
- def _reduce_166( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 616
+ def _reduce_172( val, _values, result )
result = nil
result
end
diff --git a/lib/puppet/parser/resource.rb b/lib/puppet/parser/resource.rb
index 56b430b7f..ccb88d69a 100644
--- a/lib/puppet/parser/resource.rb
+++ b/lib/puppet/parser/resource.rb
@@ -265,6 +265,11 @@ class Puppet::Parser::Resource
if current = @params[param.name]
# XXX Should we ignore any settings that have the same values?
if param.source.child_of?(current.source)
+ if param.add
+ # Merge with previous value.
+ param.value = [ current.value, param.value ].flatten
+ end
+
# Replace it, keeping all of its info.
@params[param.name] = param
else
diff --git a/lib/puppet/parser/resource/param.rb b/lib/puppet/parser/resource/param.rb
index 4d95db46a..e570055c7 100644
--- a/lib/puppet/parser/resource/param.rb
+++ b/lib/puppet/parser/resource/param.rb
@@ -1,6 +1,6 @@
# The parameters we stick in Resources.
class Puppet::Parser::Resource::Param
- attr_accessor :name, :value, :source, :line, :file
+ attr_accessor :name, :value, :source, :line, :file, :add
include Puppet::Util
include Puppet::Util::Errors
include Puppet::Util::MethodHelper
diff --git a/test/language/resource.rb b/test/language/resource.rb
index d2fdd0967..039c67216 100755
--- a/test/language/resource.rb
+++ b/test/language/resource.rb
@@ -69,6 +69,31 @@ class TestResource < PuppetTest::TestCase
end
end
+ def check_paramadd(val1, val2, merged_val)
+ res = mkresource :params => {"one" => val1}
+ assert_nothing_raised do
+ res.set Parser::Resource::Param.new(
+ :name => "one", :value => val2,
+ :add => true, :source => @scope.findclass("sub1"))
+ end
+ assert_equal(merged_val, res[:one])
+ end
+
+ def test_paramadd
+ check_paramadd([], [], [])
+ check_paramadd([], "rah", ["rah"])
+ check_paramadd([], ["rah", "bah"], ["rah", "bah"])
+
+ check_paramadd("yay", [], ["yay"])
+ check_paramadd("yay", "rah", ["yay", "rah"])
+ check_paramadd("yay", ["rah", "bah"], ["yay", "rah", "bah"])
+
+ check_paramadd(["yay", "boo"], [], ["yay", "boo"])
+ check_paramadd(["yay", "boo"], "rah", ["yay", "boo", "rah"])
+ check_paramadd(["yay", "boo"], ["rah", "bah"],
+ ["yay", "boo", "rah", "bah"])
+ end
+
def test_merge
# Start with the normal one
res = mkresource