summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-10-18 04:45:55 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-10-18 04:45:55 +0000
commita05b8f5116af3a4908d5aed2a6a320b227609ec7 (patch)
tree74eb2ac2000b21d0eb474272575dde415dcf863f
parent8a4bf1bd9d5ed674c0eed2c64d8a5f587452ede2 (diff)
downloadpuppet-a05b8f5116af3a4908d5aed2a6a320b227609ec7.tar.gz
puppet-a05b8f5116af3a4908d5aed2a6a320b227609ec7.tar.xz
puppet-a05b8f5116af3a4908d5aed2a6a320b227609ec7.zip
Adding a "realize" function that can be used to make one or more resource non-virtual. It is just syntactic sugar for a collection by title.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1808 980ebf18-57e1-0310-9a29-db15c13687c0
-rw-r--r--lib/puppet/parser/functions.rb18
-rw-r--r--lib/puppet/parser/grammar.ra18
-rw-r--r--lib/puppet/parser/parser.rb1089
-rw-r--r--test/data/snippets/virtualresources.pp14
-rwxr-xr-xtest/language/functions.rb33
-rwxr-xr-xtest/language/snippets.rb7
6 files changed, 651 insertions, 528 deletions
diff --git a/lib/puppet/parser/functions.rb b/lib/puppet/parser/functions.rb
index 75d1c9a31..6f15f7f2c 100644
--- a/lib/puppet/parser/functions.rb
+++ b/lib/puppet/parser/functions.rb
@@ -154,6 +154,24 @@ module Functions
end
end.join("")
end
+
+ newfunction(:realize, :statement) do |vals|
+ vals = [vals] unless vals.is_a?(Array)
+ vals.each do |val|
+ unless val.is_a?(Puppet::Parser::Resource::Reference)
+ raise Puppet::ParseError,
+ "'realize' expects a resource reference; " +
+ "e.g., File['/etc/passwd'], not %s" % val
+ end
+
+ if resource = findresource(val.to_s)
+ resource.virtual = false
+ else
+ raise Puppet::ParseError, "Could not find virtual resource %s" %
+ val.to_s
+ end
+ end
+ end
end
end
diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra
index 5c91aabdc..6fcc4b1d7 100644
--- a/lib/puppet/parser/grammar.ra
+++ b/lib/puppet/parser/grammar.ra
@@ -62,14 +62,14 @@ statement: resource
| nodedef
| resourceoverride
-fstatement: NAME LPAREN namestrings RPAREN {
+fstatement: NAME LPAREN funcvalues RPAREN {
args = aryfy(val[2])
result = ast AST::Function,
:name => val[0],
:arguments => args,
:ftype => :statement
}
- | NAME namestrings {
+ | NAME funcvalues {
args = aryfy(val[1])
result = ast AST::Function,
:name => val[0],
@@ -77,6 +77,9 @@ fstatement: NAME LPAREN namestrings RPAREN {
:ftype => :statement
}
+funcvalues: namestrings
+ | resourcerefs
+
namestrings: namestring
| namestrings COMMA namestring {
result = aryfy(val[0], val[2])
@@ -88,6 +91,17 @@ namestring: name
| variable
| quotedtext
+resourcerefs: resourceref
+ | resourcerefs COMMA resourceref {
+ unless val[0].is_a?(AST::ASTArray)
+ val[0] = aryfy(val[0])
+ end
+
+ val[0].push(val[2])
+
+ result = val[0]
+}
+
resource: NAME LBRACE resourceinstances endsemi RBRACE {
if val[0].instance_of?(AST::ASTArray)
error "Invalid name"
diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb
index 047dace3a..54772bec8 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..ide506d3a623', 'grammar.ra', 621
+module_eval <<'..end grammar.ra modeval..idee2a7240ef', 'grammar.ra', 635
require 'puppet/parser/functions'
attr_reader :file, :interp
@@ -199,7 +199,7 @@ end
# $Id$
-..end grammar.ra modeval..ide506d3a623
+..end grammar.ra modeval..idee2a7240ef
##### racc 1.4.5 generates ###
@@ -224,388 +224,404 @@ racc_reduce_table = [
4, 62, :_reduce_17,
2, 62, :_reduce_18,
1, 67, :_reduce_none,
- 3, 67, :_reduce_20,
- 1, 68, :_reduce_none,
- 1, 68, :_reduce_none,
+ 1, 67, :_reduce_none,
1, 68, :_reduce_none,
- 5, 55, :_reduce_24,
- 5, 55, :_reduce_25,
- 5, 55, :_reduce_26,
- 4, 66, :_reduce_27,
- 2, 56, :_reduce_28,
- 1, 77, :_reduce_29,
- 2, 77, :_reduce_30,
- 2, 57, :_reduce_31,
- 1, 78, :_reduce_none,
- 1, 78, :_reduce_none,
- 3, 79, :_reduce_34,
- 3, 79, :_reduce_35,
+ 3, 68, :_reduce_22,
+ 1, 70, :_reduce_none,
+ 1, 70, :_reduce_none,
+ 1, 70, :_reduce_none,
+ 1, 69, :_reduce_none,
+ 3, 69, :_reduce_27,
+ 5, 55, :_reduce_28,
+ 5, 55, :_reduce_29,
+ 5, 55, :_reduce_30,
+ 4, 66, :_reduce_31,
+ 2, 56, :_reduce_32,
+ 1, 79, :_reduce_33,
+ 2, 79, :_reduce_34,
+ 2, 57, :_reduce_35,
1, 80, :_reduce_none,
1, 80, :_reduce_none,
- 3, 80, :_reduce_38,
- 1, 81, :_reduce_none,
- 3, 81, :_reduce_40,
+ 3, 81, :_reduce_38,
+ 3, 81, :_reduce_39,
1, 82, :_reduce_none,
1, 82, :_reduce_none,
- 3, 83, :_reduce_43,
+ 3, 82, :_reduce_42,
+ 1, 83, :_reduce_none,
3, 83, :_reduce_44,
1, 84, :_reduce_none,
1, 84, :_reduce_none,
- 4, 86, :_reduce_47,
- 1, 72, :_reduce_none,
- 3, 72, :_reduce_49,
- 0, 73, :_reduce_none,
- 1, 73, :_reduce_none,
- 1, 69, :_reduce_52,
- 1, 88, :_reduce_53,
+ 3, 85, :_reduce_47,
+ 3, 85, :_reduce_48,
+ 1, 86, :_reduce_none,
+ 1, 86, :_reduce_none,
+ 4, 88, :_reduce_51,
+ 1, 75, :_reduce_none,
+ 3, 75, :_reduce_53,
+ 0, 76, :_reduce_none,
+ 1, 76, :_reduce_none,
+ 1, 71, :_reduce_56,
+ 1, 90, :_reduce_57,
+ 1, 89, :_reduce_none,
+ 1, 89, :_reduce_none,
+ 1, 89, :_reduce_none,
+ 1, 89, :_reduce_none,
+ 1, 89, :_reduce_none,
+ 1, 89, :_reduce_none,
+ 3, 58, :_reduce_64,
+ 0, 77, :_reduce_65,
+ 1, 77, :_reduce_66,
+ 3, 77, :_reduce_67,
+ 3, 94, :_reduce_68,
+ 1, 95, :_reduce_none,
+ 3, 95, :_reduce_70,
1, 87, :_reduce_none,
1, 87, :_reduce_none,
1, 87, :_reduce_none,
1, 87, :_reduce_none,
1, 87, :_reduce_none,
1, 87, :_reduce_none,
- 3, 58, :_reduce_60,
- 0, 74, :_reduce_61,
- 1, 74, :_reduce_62,
- 3, 74, :_reduce_63,
- 3, 92, :_reduce_64,
1, 93, :_reduce_none,
- 3, 93, :_reduce_66,
- 1, 85, :_reduce_none,
- 1, 85, :_reduce_none,
- 1, 85, :_reduce_none,
- 1, 85, :_reduce_none,
- 1, 85, :_reduce_none,
- 1, 85, :_reduce_none,
- 1, 91, :_reduce_none,
- 1, 91, :_reduce_none,
- 1, 91, :_reduce_none,
- 1, 91, :_reduce_none,
- 1, 91, :_reduce_none,
- 1, 91, :_reduce_none,
- 1, 91, :_reduce_none,
- 1, 91, :_reduce_none,
- 1, 91, :_reduce_none,
- 4, 96, :_reduce_82,
- 1, 71, :_reduce_83,
- 1, 71, :_reduce_84,
- 1, 95, :_reduce_85,
- 4, 76, :_reduce_86,
- 4, 76, :_reduce_87,
- 6, 60, :_reduce_88,
- 0, 98, :_reduce_none,
- 4, 98, :_reduce_90,
- 1, 97, :_reduce_none,
- 5, 59, :_reduce_92,
+ 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, 93, :_reduce_none,
+ 1, 93, :_reduce_none,
+ 4, 98, :_reduce_86,
+ 1, 73, :_reduce_87,
+ 1, 73, :_reduce_88,
+ 1, 97, :_reduce_89,
+ 4, 74, :_reduce_90,
+ 4, 74, :_reduce_91,
+ 6, 60, :_reduce_92,
+ 0, 100, :_reduce_none,
+ 4, 100, :_reduce_94,
1, 99, :_reduce_none,
- 2, 99, :_reduce_94,
- 5, 100, :_reduce_95,
- 4, 100, :_reduce_96,
+ 5, 59, :_reduce_96,
1, 101, :_reduce_none,
- 3, 101, :_reduce_98,
- 3, 89, :_reduce_99,
+ 2, 101, :_reduce_98,
+ 5, 102, :_reduce_99,
+ 4, 102, :_reduce_100,
1, 103, :_reduce_none,
- 3, 103, :_reduce_101,
+ 3, 103, :_reduce_102,
+ 3, 91, :_reduce_103,
1, 105, :_reduce_none,
- 3, 105, :_reduce_103,
- 3, 104, :_reduce_104,
- 1, 102, :_reduce_none,
- 1, 102, :_reduce_none,
- 1, 102, :_reduce_none,
- 1, 102, :_reduce_none,
- 1, 102, :_reduce_none,
- 1, 102, :_reduce_none,
- 1, 102, :_reduce_111,
- 2, 61, :_reduce_112,
- 6, 63, :_reduce_113,
- 5, 63, :_reduce_114,
- 6, 64, :_reduce_115,
- 5, 64, :_reduce_116,
- 6, 65, :_reduce_117,
- 5, 65, :_reduce_118,
- 1, 106, :_reduce_none,
- 1, 106, :_reduce_none,
- 1, 109, :_reduce_none,
- 3, 109, :_reduce_122,
- 1, 110, :_reduce_none,
- 1, 110, :_reduce_none,
- 1, 110, :_reduce_none,
- 0, 53, :_reduce_126,
- 0, 111, :_reduce_127,
+ 3, 105, :_reduce_105,
1, 107, :_reduce_none,
- 3, 107, :_reduce_129,
- 3, 107, :_reduce_130,
- 1, 112, :_reduce_none,
- 3, 112, :_reduce_132,
- 3, 113, :_reduce_133,
- 1, 113, :_reduce_134,
- 3, 113, :_reduce_135,
- 1, 113, :_reduce_136,
+ 3, 107, :_reduce_107,
+ 3, 106, :_reduce_108,
+ 1, 104, :_reduce_none,
+ 1, 104, :_reduce_none,
+ 1, 104, :_reduce_none,
+ 1, 104, :_reduce_none,
+ 1, 104, :_reduce_none,
+ 1, 104, :_reduce_none,
+ 1, 104, :_reduce_115,
+ 2, 61, :_reduce_116,
+ 6, 63, :_reduce_117,
+ 5, 63, :_reduce_118,
+ 6, 64, :_reduce_119,
+ 5, 64, :_reduce_120,
+ 6, 65, :_reduce_121,
+ 5, 65, :_reduce_122,
+ 1, 108, :_reduce_none,
1, 108, :_reduce_none,
- 2, 108, :_reduce_138,
- 1, 70, :_reduce_139,
- 3, 90, :_reduce_140,
- 2, 90, :_reduce_141,
- 1, 94, :_reduce_none,
- 1, 94, :_reduce_none,
- 0, 75, :_reduce_none,
- 1, 75, :_reduce_145 ]
+ 1, 111, :_reduce_none,
+ 3, 111, :_reduce_126,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 1, 112, :_reduce_none,
+ 0, 53, :_reduce_130,
+ 0, 113, :_reduce_131,
+ 1, 109, :_reduce_none,
+ 3, 109, :_reduce_133,
+ 3, 109, :_reduce_134,
+ 1, 114, :_reduce_none,
+ 3, 114, :_reduce_136,
+ 3, 115, :_reduce_137,
+ 1, 115, :_reduce_138,
+ 3, 115, :_reduce_139,
+ 1, 115, :_reduce_140,
+ 1, 110, :_reduce_none,
+ 2, 110, :_reduce_142,
+ 1, 72, :_reduce_143,
+ 3, 92, :_reduce_144,
+ 2, 92, :_reduce_145,
+ 1, 96, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 0, 78, :_reduce_none,
+ 1, 78, :_reduce_149 ]
-racc_reduce_n = 146
+racc_reduce_n = 150
-racc_shift_n = 240
+racc_shift_n = 248
racc_action_table = [
- 59, 50, 52, 50, 52, 97, 59, 50, 52, 33,
- 146, 75, 59, 50, 52, 76, 69, -105, 59, 50,
- 52, 171, 111, 120, 59, 50, 52, 117, 69, 32,
- 84, 45, 38, 45, 69, 64, 67, 45, 54, 70,
- 69, 64, 108, 45, 146, 70, 137, 64, 67, 45,
- 150, 70, 121, 64, 67, 45, 39, 70, 178, 64,
- 67, 50, 52, 70, 59, 50, 52, 50, 52, 122,
- 59, 50, 52, 48, 134, 135, 59, 50, 52, 75,
- 69, 99, 59, 50, 52, -110, 69, 124, 59, 50,
- 52, 45, 69, 120, 143, 45, 54, 45, 69, 64,
- 67, 45, 54, 70, 69, 64, 67, 45, 126, 70,
- -107, 64, 67, 45, -108, 70, 139, 64, 67, 45,
- 183, 70, 87, 64, 67, 138, 99, 70, 59, 50,
- 52, -105, 173, 45, 59, 50, 52, 177, 54, 205,
- 59, 50, 52, 119, 69, 134, 135, 50, 52, 197,
- 69, 208, 173, 50, 52, 179, 111, 177, 180, 45,
- 41, 215, 111, 64, 67, 45, 198, 70, 111, 64,
- 67, 45, 41, 70, 214, 64, 163, 45, 124, 70,
- 124, 64, 163, 45, -106, 70, 210, 64, 163, 50,
- 52, 70, 35, 209, 42, 50, 52, 43, 202, 34,
- 35, 120, 50, 52, 111, 164, 42, 34, 99, 43,
- 111, 50, 52, 50, 52, 50, 52, 111, 150, 45,
- 50, 52, 147, 64, 163, 45, 111, 70, 111, 64,
- 163, -107, 45, 70, 152, 111, 64, 163, 154, 155,
- 70, 45, -108, 45, 211, 64, 163, 64, 163, 70,
- 45, 70, 212, 87, 64, 163, 87, 87, 70, 48,
- 50, 52, 213, 56, 45, 219, 140, 45, 45, 54,
- 134, 135, 54, 54, -105, 224, 17, 154, 155, 46,
- 216, 84, 206, 124, 76, -106, 14, -109, 20, 23,
- 45, 1, 5, 17, 9, 54, 12, -108, 16, 217,
- 24, -107, -110, 14, 56, 20, 23, 150, 1, 5,
- 17, 9, 82, 12, -106, 16, 220, 24, 225, 227,
- 14, 81, 20, 23, 145, 1, 5, 17, 9, 127,
- 12, 124, 16, 232, 24, 77, 141, 14, 234, 20,
- 23, 131, 1, 5, 17, 9, 132, 12, 30, 16,
- 235, 24, 151, nil, 14, nil, 20, 23, nil, 1,
- 5, 17, 9, nil, 12, nil, 16, 193, 24, nil,
- nil, 14, nil, 20, 23, nil, 1, 5, 17, 9,
- nil, 12, nil, 16, 238, 24, nil, nil, 14, nil,
- 20, 23, nil, 1, 5, 17, 9, nil, 12, nil,
- 16, 181, 24, nil, nil, 14, nil, 20, 23, nil,
- 1, 5, 17, 9, nil, 12, nil, 16, 239, 24,
- nil, nil, 14, nil, 20, 23, nil, 1, 5, 17,
- 9, nil, 12, nil, 16, nil, 24, nil, nil, 14,
- nil, 20, 23, nil, 1, 5, 17, 9, nil, 12,
- nil, 16, nil, 24, nil, nil, 14, nil, 20, 23,
- nil, 1, 5, 17, 9, nil, 12, nil, 16, nil,
- 24, nil, nil, 14, nil, 20, 23, nil, 1, 5,
- 17, 9, nil, 12, nil, 16, nil, 24, nil, nil,
- 14, nil, 20, 23, nil, 1, 5, 17, 9, nil,
- 12, nil, 16, nil, 24, nil, nil, 14, nil, 20,
- 23, nil, 1, 5, nil, 9, nil, 12, nil, 16,
- nil, 24 ]
+ 62, 50, 52, 50, 52, 92, 62, 50, 52, 58,
+ 157, 79, 62, 50, 52, 80, 73, -110, 62, 50,
+ 52, 158, 73, 127, 62, 50, 52, 79, 73, 152,
+ 89, 45, 43, 45, 118, 65, 70, 45, 94, 74,
+ 118, 65, 70, 45, -111, 74, 145, 65, 70, 45,
+ -112, 74, 179, 65, 168, 45, 44, 74, 155, 65,
+ 114, 50, 52, 74, 62, 50, 52, 48, 193, 157,
+ 62, 50, 52, -111, 142, 143, 62, 50, 52, -113,
+ 73, 188, 62, 50, 52, -109, 73, 127, 62, 50,
+ 52, 45, 73, 142, 143, 45, 94, 105, 73, 65,
+ 70, 45, 36, 74, 73, 65, 70, 45, -109, 74,
+ 214, 65, 70, 45, 126, 74, 147, 65, 70, 45,
+ 223, 74, 35, 65, 70, 146, -110, 74, 62, 50,
+ 52, 123, 32, 222, 62, 50, 52, -110, 32, 31,
+ 62, 50, 52, 181, 73, 31, 182, 50, 52, 122,
+ 73, 218, 183, 50, 52, 48, 73, 186, 217, 45,
+ 39, 203, 118, 65, 70, 45, 39, 74, 118, 65,
+ 70, 45, 131, 74, 131, 65, 70, 45, 79, 74,
+ 48, 65, 168, 45, 208, 74, 106, 65, 168, 50,
+ 52, 74, 105, 183, 40, 50, 52, 41, 186, 211,
+ 40, 50, 52, 41, 118, 233, 127, 163, 164, 156,
+ 118, 50, 52, 155, 170, 128, 118, 50, 52, 45,
+ 150, 216, 219, 65, 168, 45, 118, 74, 131, 65,
+ 168, 45, 118, 74, 220, 65, 168, 93, 221, 74,
+ 149, 45, 50, 52, 224, 65, 168, 45, 45, 74,
+ 80, 65, 168, 94, 93, 74, 56, 118, 48, 50,
+ 52, 89, 56, -114, 247, 45, 50, 52, 93, -109,
+ 94, -112, 45, -111, 58, 17, 65, 168, 46, 45,
+ 74, 58, 50, 52, 94, 14, -114, 20, 24, 45,
+ 1, 4, 209, 8, 54, 12, 45, 16, 155, 25,
+ 148, 54, 231, 17, 142, 143, 93, 161, 86, 246,
+ 131, 163, 164, 14, 235, 20, 24, 45, 1, 4,
+ 17, 8, 94, 12, 131, 16, 225, 25, 83, 132,
+ 14, 139, 20, 24, 81, 1, 4, 17, 8, 241,
+ 12, 138, 16, 227, 25, 137, 134, 14, 30, 20,
+ 24, -112, 1, 4, 17, 8, nil, 12, nil, 16,
+ 228, 25, nil, nil, 14, nil, 20, 24, nil, 1,
+ 4, 17, 8, nil, 12, nil, 16, 240, 25, nil,
+ nil, 14, nil, 20, 24, nil, 1, 4, 17, 8,
+ nil, 12, nil, 16, 243, 25, nil, nil, 14, nil,
+ 20, 24, nil, 1, 4, 17, 8, nil, 12, nil,
+ 16, 189, 25, nil, nil, 14, nil, 20, 24, nil,
+ 1, 4, 17, 8, nil, 12, nil, 16, 191, 25,
+ nil, nil, 14, nil, 20, 24, nil, 1, 4, 17,
+ 8, nil, 12, nil, 16, nil, 25, nil, nil, 14,
+ nil, 20, 24, nil, 1, 4, 17, 8, nil, 12,
+ nil, 16, nil, 25, nil, nil, 14, nil, 20, 24,
+ nil, 1, 4, 17, 8, nil, 12, nil, 16, nil,
+ 25, nil, nil, 14, nil, 20, 24, nil, 1, 4,
+ 17, 8, nil, 12, nil, 16, nil, 25, nil, nil,
+ 14, nil, 20, 24, nil, 1, 4, 17, 8, nil,
+ 12, nil, 16, nil, 25, nil, nil, 14, nil, 20,
+ 24, nil, 1, 4, nil, 8, nil, 12, nil, 16,
+ nil, 25 ]
racc_action_check = [
- 75, 75, 75, 46, 46, 44, 56, 56, 56, 2,
- 108, 17, 153, 153, 153, 17, 75, 187, 146, 146,
- 146, 123, 56, 108, 59, 59, 59, 59, 153, 2,
- 44, 75, 6, 46, 146, 75, 75, 56, 46, 75,
- 59, 56, 56, 153, 124, 56, 89, 153, 153, 146,
- 125, 153, 72, 146, 146, 59, 6, 146, 128, 59,
- 59, 99, 99, 59, 30, 30, 30, 120, 120, 74,
- 48, 48, 48, 67, 89, 89, 14, 14, 14, 69,
- 30, 98, 16, 16, 16, 68, 48, 76, 202, 202,
- 202, 99, 14, 67, 98, 30, 99, 120, 16, 30,
- 30, 48, 120, 30, 202, 48, 48, 14, 77, 48,
- 66, 14, 14, 16, 65, 14, 93, 16, 16, 202,
- 133, 16, 136, 202, 202, 93, 165, 202, 212, 212,
- 212, 63, 215, 136, 216, 216, 216, 215, 136, 165,
- 147, 147, 147, 61, 212, 133, 133, 167, 167, 148,
- 216, 167, 127, 210, 210, 130, 147, 127, 130, 212,
- 97, 175, 167, 212, 212, 216, 149, 212, 210, 216,
- 216, 147, 9, 216, 175, 147, 147, 167, 150, 147,
- 151, 167, 167, 210, 57, 167, 169, 210, 210, 223,
- 223, 210, 23, 169, 97, 122, 122, 97, 158, 23,
- 5, 163, 119, 119, 223, 119, 9, 5, 47, 9,
- 122, 139, 139, 138, 138, 20, 20, 119, 113, 223,
- 164, 164, 109, 223, 223, 122, 139, 223, 138, 122,
- 122, 107, 119, 122, 118, 164, 119, 119, 118, 118,
- 119, 139, 106, 138, 172, 139, 139, 138, 138, 139,
- 164, 138, 173, 87, 164, 164, 39, 38, 164, 12,
- 12, 12, 174, 12, 87, 182, 95, 39, 38, 87,
- 95, 95, 39, 38, 104, 204, 182, 204, 204, 12,
- 177, 36, 166, 180, 33, 185, 182, 71, 182, 182,
- 12, 182, 182, 166, 182, 12, 182, 188, 182, 178,
- 182, 189, 190, 166, 32, 166, 166, 200, 166, 166,
- 178, 166, 27, 166, 101, 166, 194, 166, 206, 209,
- 178, 24, 178, 178, 100, 178, 178, 194, 178, 80,
- 178, 82, 178, 218, 178, 19, 96, 194, 225, 194,
- 194, 84, 194, 194, 218, 194, 86, 194, 1, 194,
- 227, 194, 115, nil, 218, nil, 218, 218, nil, 218,
- 218, 227, 218, nil, 218, nil, 218, 141, 218, nil,
- nil, 227, nil, 227, 227, nil, 227, 227, 141, 227,
- nil, 227, nil, 227, 236, 227, nil, nil, 141, nil,
- 141, 141, nil, 141, 141, 236, 141, nil, 141, nil,
- 141, 132, 141, nil, nil, 236, nil, 236, 236, nil,
- 236, 236, 132, 236, nil, 236, nil, 236, 237, 236,
- nil, nil, 132, nil, 132, 132, nil, 132, 132, 237,
- 132, nil, 132, nil, 132, nil, 132, nil, nil, 237,
- nil, 237, 237, nil, 237, 237, 22, 237, nil, 237,
- nil, 237, nil, 237, nil, nil, 22, nil, 22, 22,
- nil, 22, 22, 234, 22, nil, 22, nil, 22, nil,
- 22, nil, nil, 234, nil, 234, 234, nil, 234, 234,
- 121, 234, nil, 234, nil, 234, nil, 234, nil, nil,
- 121, nil, 121, 121, nil, 121, 121, 0, 121, nil,
- 121, nil, 121, nil, 121, nil, nil, 0, nil, 0,
+ 48, 48, 48, 105, 105, 37, 79, 79, 79, 106,
+ 114, 17, 162, 162, 162, 17, 48, 195, 158, 158,
+ 158, 120, 79, 114, 56, 56, 56, 73, 162, 106,
+ 37, 48, 9, 105, 158, 48, 48, 79, 105, 48,
+ 56, 79, 79, 162, 72, 79, 96, 162, 162, 158,
+ 71, 162, 129, 158, 158, 56, 9, 158, 130, 56,
+ 56, 127, 127, 56, 157, 157, 157, 70, 141, 131,
+ 30, 30, 30, 117, 96, 96, 14, 14, 14, 77,
+ 157, 136, 16, 16, 16, 113, 30, 70, 211, 211,
+ 211, 127, 14, 141, 141, 157, 127, 174, 16, 157,
+ 157, 30, 6, 157, 211, 30, 30, 14, 69, 30,
+ 174, 14, 14, 16, 67, 14, 100, 16, 16, 211,
+ 185, 16, 6, 211, 211, 100, 110, 211, 62, 62,
+ 62, 62, 4, 185, 224, 224, 224, 63, 24, 4,
+ 220, 220, 220, 133, 62, 24, 133, 146, 146, 61,
+ 224, 177, 134, 218, 218, 152, 220, 134, 177, 62,
+ 8, 154, 146, 62, 62, 224, 92, 62, 218, 224,
+ 224, 220, 155, 224, 156, 220, 220, 146, 58, 220,
+ 54, 146, 146, 218, 159, 146, 51, 218, 218, 234,
+ 234, 218, 49, 223, 8, 170, 170, 8, 223, 167,
+ 92, 147, 147, 92, 234, 213, 168, 213, 213, 109,
+ 170, 126, 126, 108, 126, 78, 147, 175, 175, 234,
+ 104, 175, 180, 234, 234, 170, 126, 234, 182, 170,
+ 170, 147, 175, 170, 183, 147, 147, 44, 184, 147,
+ 103, 126, 128, 128, 186, 126, 126, 175, 44, 126,
+ 36, 175, 175, 44, 93, 175, 35, 128, 12, 12,
+ 12, 33, 12, 76, 245, 93, 46, 46, 144, 197,
+ 93, 198, 128, 199, 12, 245, 128, 128, 12, 144,
+ 128, 46, 20, 20, 144, 245, 200, 245, 245, 12,
+ 245, 245, 160, 245, 12, 245, 46, 245, 205, 245,
+ 102, 46, 209, 160, 102, 102, 43, 125, 25, 244,
+ 80, 125, 125, 160, 217, 160, 160, 43, 160, 160,
+ 244, 160, 43, 160, 83, 160, 188, 160, 21, 81,
+ 244, 91, 244, 244, 19, 244, 244, 188, 244, 231,
+ 244, 89, 244, 190, 244, 88, 85, 188, 1, 188,
+ 188, 116, 188, 188, 190, 188, nil, 188, nil, 188,
+ 192, 188, nil, nil, 190, nil, 190, 190, nil, 190,
+ 190, 192, 190, nil, 190, nil, 190, 226, 190, nil,
+ nil, 192, nil, 192, 192, nil, 192, 192, 226, 192,
+ nil, 192, nil, 192, 235, 192, nil, nil, 226, nil,
+ 226, 226, nil, 226, 226, 235, 226, nil, 226, nil,
+ 226, 137, 226, nil, nil, 235, nil, 235, 235, nil,
+ 235, 235, 137, 235, nil, 235, nil, 235, 139, 235,
+ nil, nil, 137, nil, 137, 137, nil, 137, 137, 139,
+ 137, nil, 137, nil, 137, nil, 137, nil, nil, 139,
+ nil, 139, 139, nil, 139, 139, 241, 139, nil, 139,
+ nil, 139, nil, 139, nil, nil, 241, nil, 241, 241,
+ nil, 241, 241, 23, 241, nil, 241, nil, 241, nil,
+ 241, nil, nil, 23, nil, 23, 23, nil, 23, 23,
+ 122, 23, nil, 23, nil, 23, nil, 23, nil, nil,
+ 122, nil, 122, 122, nil, 122, 122, 0, 122, nil,
+ 122, nil, 122, nil, 122, nil, nil, 0, nil, 0,
0, nil, 0, 0, nil, 0, nil, 0, nil, 0,
nil, 0 ]
racc_action_pointer = [
- 479, 335, -9, nil, nil, 162, 13, nil, nil, 168,
- nil, nil, 257, nil, 74, nil, 80, 9, nil, 335,
- 212, nil, 428, 154, 279, nil, nil, 306, nil, nil,
- 62, nil, 298, 278, nil, nil, 246, nil, 235, 234,
- nil, nil, nil, nil, -5, nil, 0, 198, 68, nil,
- nil, nil, nil, nil, nil, nil, 4, 163, nil, 22,
- nil, 122, nil, 110, nil, 93, 89, 71, 64, 77,
- nil, 266, 46, nil, 63, -2, 49, 108, nil, nil,
- 307, nil, 293, nil, 303, nil, 340, 231, nil, 26,
- nil, nil, nil, 101, nil, 222, 330, 156, 71, 58,
- 319, 293, nil, nil, 253, nil, 221, 210, 1, 183,
- nil, nil, nil, 208, nil, 335, nil, nil, 229, 199,
- 64, 462, 192, 16, 35, 40, nil, 119, 52, nil,
- 148, nil, 394, 97, nil, nil, 100, nil, 210, 208,
- nil, 360, nil, nil, nil, nil, 16, 138, 142, 159,
- 140, 142, nil, 10, nil, nil, nil, nil, 189, nil,
- nil, nil, nil, 179, 217, 116, 275, 144, nil, 176,
- nil, nil, 237, 239, 239, 151, nil, 267, 292, nil,
- 245, nil, 258, nil, nil, 264, nil, -4, 276, 280,
- 281, nil, nil, nil, 309, nil, nil, nil, nil, nil,
- 297, nil, 86, nil, 268, nil, 289, nil, nil, 313,
- 150, nil, 126, nil, nil, 99, 132, nil, 326, nil,
- nil, nil, nil, 186, nil, 332, nil, 343, nil, nil,
- nil, nil, nil, nil, 445, nil, 377, 411, nil, nil ]
+ 489, 335, nil, nil, 94, nil, 84, nil, 156, 13,
+ nil, nil, 256, nil, 74, nil, 80, 9, nil, 334,
+ 279, 322, nil, 455, 100, 266, nil, nil, nil, nil,
+ 68, nil, nil, 226, nil, 250, 244, -5, nil, nil,
+ nil, nil, nil, 284, 215, nil, 263, nil, -2, 182,
+ nil, 176, nil, nil, 178, nil, 22, nil, 176, nil,
+ nil, 143, 126, 116, nil, nil, nil, 93, nil, 87,
+ 65, 29, 23, 25, nil, nil, 242, 58, 209, 4,
+ 272, 329, nil, 286, nil, 324, nil, nil, 339, 303,
+ nil, 325, 162, 232, nil, nil, 26, nil, nil, nil,
+ 101, nil, 256, 217, 215, 0, -9, nil, 203, 192,
+ 105, nil, nil, 64, 1, nil, 330, 52, nil, nil,
+ -18, nil, 472, nil, nil, 302, 208, 58, 239, 47,
+ 48, 60, nil, 136, 119, nil, 75, 404, nil, 421,
+ nil, 45, nil, nil, 246, nil, 144, 198, nil, nil,
+ nil, nil, 153, nil, 154, 134, 136, 62, 16, 177,
+ 285, nil, 10, nil, nil, nil, nil, 190, 184, nil,
+ 192, nil, nil, nil, 87, 214, nil, 141, nil, nil,
+ 215, nil, 190, 221, 215, 110, 231, nil, 319, nil,
+ 336, nil, 353, nil, nil, -4, nil, 248, 250, 252,
+ 265, nil, nil, nil, nil, 288, nil, nil, nil, 273,
+ nil, 86, nil, 198, nil, nil, nil, 308, 150, nil,
+ 138, nil, nil, 160, 132, nil, 370, nil, nil, nil,
+ nil, 333, nil, nil, 186, 387, nil, nil, nil, nil,
+ nil, 438, nil, nil, 302, 257, nil, nil ]
racc_action_default = [
- -126, -146, -146, -16, -5, -146, -146, -6, -7, -146,
- -8, -9, -33, -10, -146, -11, -146, -32, -12, -146,
- -146, -13, -1, -146, -29, -14, -2, -146, -15, -3,
- -146, -28, -146, -146, -120, -119, -126, -31, -126, -126,
- -121, -124, -123, -125, -126, -139, -146, -18, -146, -19,
- -83, -21, -84, -22, -52, -23, -61, -75, -77, -146,
- -79, -146, -91, -74, -85, -78, -73, -52, -76, -53,
- -111, -81, -146, -80, -146, -146, -61, -146, -112, -4,
- -126, -30, -61, -60, -146, -137, -146, -126, -46, -146,
- -45, -37, -39, -146, -36, -146, -146, -146, -146, -146,
- -146, -56, -57, -59, -55, -62, -58, -54, -52, -50,
- -110, -53, -109, -144, -48, -146, -65, -141, -146, -146,
- -146, -146, -146, -146, -146, -144, 240, -127, -146, -128,
- -146, -138, -146, -146, -42, -41, -146, -35, -146, -146,
- -34, -146, -122, -17, -20, -86, -146, -51, -146, -146,
- -145, -61, -140, -146, -142, -143, -106, -105, -146, -108,
- -99, -107, -100, -52, -146, -146, -146, -146, -93, -146,
- -97, -87, -146, -136, -146, -146, -131, -134, -146, -27,
- -146, -116, -146, -40, -38, -69, -71, -68, -72, -67,
- -70, -43, -44, -118, -146, -64, -49, -24, -25, -63,
- -144, -66, -146, -102, -146, -82, -89, -94, -92, -146,
- -146, -26, -146, -129, -130, -146, -146, -114, -146, -115,
- -117, -47, -104, -146, -101, -146, -88, -146, -98, -135,
- -132, -133, -113, -103, -146, -96, -146, -146, -95, -90 ]
+ -130, -150, -16, -5, -150, -6, -150, -7, -150, -150,
+ -8, -9, -37, -10, -150, -11, -150, -36, -12, -150,
+ -150, -150, -13, -1, -150, -33, -14, -2, -15, -3,
+ -150, -124, -123, -130, -32, -150, -150, -130, -125, -128,
+ -127, -129, -35, -130, -130, -143, -150, -18, -150, -19,
+ -87, -20, -88, -21, -56, -23, -65, -24, -150, -25,
+ -26, -150, -150, -79, -81, -89, -83, -150, -95, -78,
+ -56, -82, -77, -57, -115, -84, -80, -85, -150, -150,
+ -65, -150, -116, -65, -4, -130, -34, -64, -150, -150,
+ -141, -150, -150, -130, -56, -50, -150, -49, -41, -43,
+ -150, -40, -150, -150, -150, -150, -150, -52, -148, -150,
+ -60, -61, -63, -59, -56, -66, -62, -58, -57, -114,
+ -54, -113, -150, -145, -69, -150, -150, -150, -150, -150,
+ -148, -150, 248, -150, -131, -132, -150, -150, -142, -150,
+ -126, -150, -46, -45, -150, -39, -150, -150, -38, -17,
+ -90, -22, -150, -27, -150, -149, -65, -150, -55, -150,
+ -150, -144, -150, -146, -147, -110, -109, -150, -56, -112,
+ -150, -103, -111, -104, -150, -150, -97, -150, -101, -91,
+ -150, -31, -150, -140, -150, -150, -138, -135, -150, -120,
+ -150, -122, -150, -44, -42, -73, -75, -72, -76, -71,
+ -74, -47, -48, -29, -67, -148, -68, -53, -28, -93,
+ -70, -150, -106, -150, -86, -98, -96, -150, -150, -30,
+ -150, -133, -134, -150, -150, -118, -150, -119, -121, -51,
+ -92, -150, -108, -105, -150, -150, -102, -139, -136, -137,
+ -117, -150, -107, -100, -150, -150, -99, -94 ]
racc_goto_table = [
- 22, 79, 51, 162, 102, 47, 113, 55, 62, 40,
- 74, 114, 103, 153, 158, 78, 176, 170, 109, 149,
- 168, 89, 95, 72, 83, 199, 125, 36, 88, 88,
- 86, 172, 130, 191, 192, 226, 51, 167, 96, 98,
- 26, 55, 100, 148, 144, 80, 104, 73, 203, 73,
- 160, 107, 31, 116, 204, 199, 53, 118, 128, 158,
- 37, 44, 170, 73, 184, 207, 174, 175, 19, 123,
- 133, nil, nil, nil, nil, nil, 85, 88, nil, nil,
- nil, 73, 90, 90, 85, nil, 186, 186, nil, 51,
- 53, nil, 73, nil, 55, 102, nil, 142, nil, 223,
- 106, 200, 196, 103, 230, 228, 221, 233, 73, 157,
- 51, 112, 157, 165, 161, 55, nil, 161, 158, nil,
- 129, 166, nil, nil, nil, nil, 88, nil, 187, 187,
- nil, 90, 182, 189, 189, nil, nil, 104, nil, nil,
- 195, 194, 107, 53, nil, 79, nil, 201, nil, nil,
- nil, nil, nil, nil, 157, nil, nil, 157, nil, 161,
- 110, 79, 161, 159, 53, 101, 159, nil, nil, nil,
- nil, nil, nil, 79, 112, nil, nil, 112, 218, 73,
- 90, nil, 188, 188, nil, nil, 73, nil, nil, nil,
- nil, 106, nil, 112, 112, nil, 222, 79, nil, nil,
- 157, nil, 112, nil, nil, 161, 229, nil, 159, nil,
- 231, 159, nil, 157, nil, 79, 79, nil, 161, 112,
- nil, nil, 112, 110, nil, nil, 110, 236, 156, nil,
- nil, 156, nil, nil, 237, 73, nil, nil, nil, nil,
- nil, nil, 190, 190, nil, 73, nil, 185, 185, 73,
- nil, 110, nil, nil, 159, nil, 101, nil, nil, nil,
- nil, nil, nil, nil, nil, 112, nil, 159, 110, nil,
- nil, 110, nil, 156, nil, nil, 156, nil, 112, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ 23, 59, 173, 84, 107, 108, 38, 187, 33, 82,
+ 57, 112, 167, 204, 178, 154, 55, 111, 96, 102,
+ 176, 88, 175, 162, 47, 91, 201, 202, 85, 130,
+ 125, 61, 133, 230, 174, 59, 151, 180, 27, 34,
+ 204, 97, 97, 171, 57, 117, 212, 95, 95, 120,
+ 55, 213, 159, 68, 116, 78, 167, 136, 103, 42,
+ 113, 178, 37, 194, 184, 185, 19, 215, 141, 87,
+ nil, 90, nil, nil, nil, 90, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, 104, nil, nil,
+ 140, 97, nil, nil, 59, 119, 238, 95, nil, nil,
+ nil, 124, nil, 57, 236, 205, 207, 196, 196, 55,
+ 242, 234, 229, 112, nil, 172, 59, 172, 129, 111,
+ 167, nil, 160, 135, 169, 57, 169, nil, nil, nil,
+ 166, 55, 166, nil, nil, 199, 199, 190, nil, 192,
+ 84, nil, 97, nil, 198, 198, nil, 117, 95, nil,
+ 197, 197, nil, 60, nil, 75, 116, 75, 121, 172,
+ nil, nil, 113, nil, 172, 119, nil, 119, 169, nil,
+ 84, 75, 84, 169, 166, nil, nil, nil, nil, 166,
+ nil, nil, nil, nil, nil, 200, 200, 60, 226, 75,
+ nil, nil, 110, nil, nil, nil, 206, 119, nil, nil,
+ nil, 210, nil, 75, nil, nil, 84, 172, nil, 119,
+ nil, nil, nil, nil, 119, nil, 169, nil, nil, nil,
+ 75, nil, 166, 172, 84, 84, nil, nil, 121, nil,
+ 121, nil, 169, nil, nil, 244, nil, nil, 166, nil,
+ nil, 245, nil, nil, nil, nil, nil, 153, 121, 121,
+ 232, nil, nil, nil, nil, nil, nil, 119, nil, 237,
+ 121, nil, 165, 239, 165, nil, nil, nil, nil, nil,
+ nil, nil, 121, 119, nil, nil, nil, 121, nil, nil,
+ nil, nil, 195, 195, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, 110, nil, nil, nil, 75, nil,
+ nil, nil, nil, 75, nil, nil, 165, nil, nil, nil,
+ nil, 165, nil, nil, nil, nil, nil, nil, nil, nil,
+ 121, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 121, 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, 110, nil, nil, nil, nil, 156,
- nil, nil, nil, nil, nil, nil, nil, 110, nil, nil,
- nil, nil, 156 ]
+ nil, nil, 75, nil, 165, nil, nil, nil, nil, nil,
+ nil, 75, nil, nil, nil, 75, nil, nil, nil, nil,
+ 165 ]
racc_goto_check = [
- 2, 4, 19, 54, 39, 17, 24, 21, 41, 60,
- 41, 36, 40, 44, 52, 21, 63, 52, 22, 25,
- 50, 30, 30, 47, 41, 42, 24, 56, 19, 19,
- 58, 25, 24, 35, 35, 48, 19, 49, 58, 17,
- 3, 21, 41, 23, 18, 56, 19, 26, 54, 26,
- 53, 21, 5, 41, 55, 42, 20, 43, 57, 52,
- 29, 59, 52, 26, 31, 50, 61, 62, 1, 41,
- 30, nil, nil, nil, nil, nil, 3, 19, nil, nil,
- nil, 26, 20, 20, 3, nil, 39, 39, nil, 19,
- 20, nil, 26, nil, 21, 39, nil, 60, nil, 44,
- 20, 24, 36, 40, 63, 52, 25, 54, 26, 19,
- 19, 46, 19, 17, 21, 21, nil, 21, 52, nil,
- 3, 2, nil, nil, nil, nil, 19, nil, 19, 19,
- nil, 20, 2, 21, 21, nil, nil, 19, nil, nil,
- 41, 2, 21, 20, nil, 4, nil, 41, nil, nil,
- nil, nil, nil, nil, 19, nil, nil, 19, nil, 21,
- 45, 4, 21, 20, 20, 38, 20, nil, nil, nil,
- nil, nil, nil, 4, 46, nil, nil, 46, 2, 26,
- 20, nil, 20, 20, nil, nil, 26, nil, nil, nil,
- nil, 20, nil, 46, 46, nil, 41, 4, nil, nil,
- 19, nil, 46, nil, nil, 21, 41, nil, 20, nil,
- 41, 20, nil, 19, nil, 4, 4, nil, 21, 46,
- nil, nil, 46, 45, nil, nil, 45, 2, 38, nil,
- nil, 38, nil, nil, 2, 26, nil, nil, nil, nil,
- nil, nil, 45, 45, nil, 26, nil, 38, 38, 26,
- nil, 45, nil, nil, 20, nil, 38, nil, nil, nil,
- nil, nil, nil, nil, nil, 46, nil, 20, 45, nil,
- nil, 45, nil, 38, nil, nil, 38, nil, 46, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ 2, 23, 56, 4, 38, 27, 62, 65, 58, 23,
+ 22, 42, 54, 44, 54, 28, 21, 41, 32, 32,
+ 52, 60, 51, 46, 17, 60, 37, 37, 58, 27,
+ 45, 49, 27, 50, 18, 23, 20, 28, 3, 5,
+ 44, 22, 22, 55, 22, 23, 56, 21, 21, 25,
+ 21, 57, 26, 43, 22, 43, 54, 59, 17, 31,
+ 21, 54, 61, 33, 63, 64, 1, 52, 32, 43,
+ nil, 3, nil, nil, nil, 3, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, 43, nil, nil,
+ 62, 22, nil, nil, 23, 47, 65, 21, nil, nil,
+ nil, 43, nil, 22, 54, 27, 38, 41, 41, 21,
+ 56, 46, 28, 42, nil, 23, 23, 23, 43, 41,
+ 54, nil, 2, 3, 22, 22, 22, nil, nil, nil,
+ 21, 21, 21, nil, nil, 23, 23, 2, nil, 2,
+ 4, nil, 22, nil, 22, 22, nil, 23, 21, nil,
+ 21, 21, nil, 24, nil, 24, 22, 24, 48, 23,
+ nil, nil, 21, nil, 23, 47, nil, 47, 22, nil,
+ 4, 24, 4, 22, 21, nil, nil, nil, nil, 21,
+ nil, nil, nil, nil, nil, 47, 47, 24, 2, 24,
+ nil, nil, 40, nil, nil, nil, 43, 47, nil, nil,
+ nil, 43, nil, 24, nil, nil, 4, 23, nil, 47,
+ nil, nil, nil, nil, 47, nil, 22, nil, nil, nil,
+ 24, nil, 21, 23, 4, 4, nil, nil, 48, nil,
+ 48, nil, 22, nil, nil, 2, nil, nil, 21, nil,
+ nil, 2, nil, nil, nil, nil, nil, 24, 48, 48,
+ 43, nil, nil, nil, nil, nil, nil, 47, nil, 43,
+ 48, nil, 40, 43, 40, nil, nil, nil, nil, nil,
+ nil, nil, 48, 47, nil, nil, nil, 48, nil, nil,
+ nil, nil, 40, 40, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, 40, nil, nil, nil, 24, nil,
+ nil, nil, nil, 24, nil, nil, 40, nil, nil, nil,
+ nil, 40, nil, nil, nil, nil, nil, nil, nil, nil,
+ 48, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 48, nil, nil, nil,
nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, 45, nil, nil, nil, nil, 38,
- nil, nil, nil, nil, nil, nil, nil, 45, nil, nil,
- nil, nil, 38 ]
+ nil, nil, 24, nil, 40, nil, nil, nil, nil, nil,
+ nil, 24, nil, nil, nil, 24, nil, nil, nil, nil,
+ 40 ]
racc_goto_pointer = [
- nil, 68, 0, 40, -21, 50, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, -7, -55, -10,
- 44, -5, -38, -66, -50, -94, 33, nil, nil, 54,
- -17, -72, nil, nil, nil, -105, -45, nil, 109, -52,
- -44, -6, -125, -2, -105, 104, 55, 9, -171, -85,
- -102, nil, -105, -69, -116, -110, 22, -22, -6, 52,
- 0, -61, -60, -111 ]
+ nil, 66, 0, 38, -20, 33, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, 12, -93, nil,
+ -69, 4, -2, -11, 141, -7, -68, -51, -93, nil,
+ nil, 50, -25, -81, nil, nil, nil, -120, -52, nil,
+ 136, -39, -45, 39, -142, -32, -102, 39, 102, 17,
+ -176, -106, -108, nil, -114, -83, -124, -119, 4, -28,
+ -12, 54, -2, -70, -69, -127 ]
racc_goto_default = [
- nil, nil, nil, 94, 29, 4, 7, 8, 10, 11,
- 13, 15, 18, 21, 25, 28, 3, nil, 49, 63,
- 65, 66, nil, nil, nil, nil, 27, 2, 6, nil,
- nil, 91, 136, 92, 93, nil, nil, 115, 57, 58,
- 60, nil, 105, nil, nil, 68, 71, nil, nil, nil,
- nil, 169, 61, nil, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil ]
+ nil, nil, nil, 101, 29, 3, 5, 7, 10, 11,
+ 13, 15, 18, 22, 26, 28, 2, nil, 49, 51,
+ 53, 69, 71, 72, 21, nil, nil, nil, nil, 6,
+ 9, nil, nil, 98, 144, 99, 100, nil, nil, 109,
+ 63, 64, 66, nil, 115, nil, nil, 76, 77, nil,
+ nil, nil, nil, 177, 67, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil ]
racc_token_table = {
false => 0,
@@ -747,16 +763,18 @@ Racc_token_to_s_table = [
'hostclass',
'nodedef',
'resourceoverride',
+'funcvalues',
'namestrings',
+'resourcerefs',
'namestring',
'name',
'variable',
'quotedtext',
+'resourceref',
'resourceinstances',
'endsemi',
'params',
'endcomma',
-'resourceref',
'at',
'collectname',
'collectrhand',
@@ -890,8 +908,12 @@ module_eval <<'.,.,', 'grammar.ra', 78
# reduce 19 omitted
-module_eval <<'.,.,', 'grammar.ra', 85
- def _reduce_20( val, _values, result )
+ # reduce 20 omitted
+
+ # reduce 21 omitted
+
+module_eval <<'.,.,', 'grammar.ra', 88
+ def _reduce_22( val, _values, result )
result = aryfy(val[0], val[2])
result.line = @lexer.line
result.file = @lexer.file
@@ -899,14 +921,29 @@ module_eval <<'.,.,', 'grammar.ra', 85
end
.,.,
- # reduce 21 omitted
+ # reduce 23 omitted
- # reduce 22 omitted
+ # reduce 24 omitted
- # reduce 23 omitted
+ # reduce 25 omitted
+
+ # reduce 26 omitted
-module_eval <<'.,.,', 'grammar.ra', 113
- def _reduce_24( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 103
+ def _reduce_27( val, _values, result )
+ unless val[0].is_a?(AST::ASTArray)
+ val[0] = aryfy(val[0])
+ end
+
+ val[0].push(val[2])
+
+ result = val[0]
+ result
+ end
+.,.,
+
+module_eval <<'.,.,', 'grammar.ra', 127
+ def _reduce_28( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
error "Invalid name"
end
@@ -932,16 +969,16 @@ module_eval <<'.,.,', 'grammar.ra', 113
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 116
- def _reduce_25( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 130
+ def _reduce_29( val, _values, result )
# This is a deprecated syntax.
error "All resource specifications require names"
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 122
- def _reduce_26( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 136
+ def _reduce_30( val, _values, result )
# a template setting for a type
if val[0].instance_of?(AST::ASTArray)
error "Invalid type"
@@ -951,15 +988,15 @@ module_eval <<'.,.,', 'grammar.ra', 122
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 127
- def _reduce_27( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 141
+ def _reduce_31( val, _values, result )
result = ast AST::ResourceOverride, :object => val[0], :params => val[2]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 154
- def _reduce_28( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 168
+ def _reduce_32( val, _values, result )
type = val[0]
if type == :exported and ! Puppet[:storeconfigs]
@@ -986,22 +1023,22 @@ module_eval <<'.,.,', 'grammar.ra', 154
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 155
- def _reduce_29( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 169
+ def _reduce_33( val, _values, result )
result = :virtual
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 156
- def _reduce_30( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 170
+ def _reduce_34( val, _values, result )
result = :exported
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 179
- def _reduce_31( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 193
+ def _reduce_35( val, _values, result )
if val[0] =~ /^[a-z]/
Puppet.warning addcontext("Collection names must now be capitalized")
end
@@ -1023,12 +1060,12 @@ module_eval <<'.,.,', 'grammar.ra', 179
end
.,.,
- # reduce 32 omitted
+ # reduce 36 omitted
- # reduce 33 omitted
+ # reduce 37 omitted
-module_eval <<'.,.,', 'grammar.ra', 190
- def _reduce_34( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 204
+ def _reduce_38( val, _values, result )
if val[1]
result = val[1]
result.form = :virtual
@@ -1039,8 +1076,8 @@ module_eval <<'.,.,', 'grammar.ra', 190
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 198
- def _reduce_35( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 212
+ def _reduce_39( val, _values, result )
if val[1]
result = val[1]
result.form = :exported
@@ -1051,33 +1088,33 @@ module_eval <<'.,.,', 'grammar.ra', 198
end
.,.,
- # reduce 36 omitted
+ # reduce 40 omitted
- # reduce 37 omitted
+ # reduce 41 omitted
-module_eval <<'.,.,', 'grammar.ra', 206
- def _reduce_38( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 220
+ def _reduce_42( val, _values, result )
result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
result
end
.,.,
- # reduce 39 omitted
+ # reduce 43 omitted
-module_eval <<'.,.,', 'grammar.ra', 212
- def _reduce_40( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 226
+ def _reduce_44( val, _values, result )
result = val[1]
result.parens = true
result
end
.,.,
- # reduce 41 omitted
+ # reduce 45 omitted
- # reduce 42 omitted
+ # reduce 46 omitted
-module_eval <<'.,.,', 'grammar.ra', 220
- def _reduce_43( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 234
+ def _reduce_47( val, _values, result )
result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
#result = ast AST::CollExpr
#result.push *val
@@ -1085,8 +1122,8 @@ module_eval <<'.,.,', 'grammar.ra', 220
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 225
- def _reduce_44( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 239
+ def _reduce_48( val, _values, result )
result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
#result = ast AST::CollExpr
#result.push *val
@@ -1094,21 +1131,21 @@ module_eval <<'.,.,', 'grammar.ra', 225
end
.,.,
- # reduce 45 omitted
+ # reduce 49 omitted
- # reduce 46 omitted
+ # reduce 50 omitted
-module_eval <<'.,.,', 'grammar.ra', 232
- def _reduce_47( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 246
+ def _reduce_51( val, _values, result )
result = ast AST::ResourceInst, :children => [val[0],val[2]]
result
end
.,.,
- # reduce 48 omitted
+ # reduce 52 omitted
-module_eval <<'.,.,', 'grammar.ra', 242
- def _reduce_49( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 256
+ def _reduce_53( val, _values, result )
if val[0].instance_of?(AST::ResourceInst)
result = ast AST::ASTArray, :children => [val[0],val[2]]
else
@@ -1119,38 +1156,38 @@ module_eval <<'.,.,', 'grammar.ra', 242
end
.,.,
- # reduce 50 omitted
+ # reduce 54 omitted
- # reduce 51 omitted
+ # reduce 55 omitted
-module_eval <<'.,.,', 'grammar.ra', 249
- def _reduce_52( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 263
+ def _reduce_56( val, _values, result )
result = ast AST::Name, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 253
- def _reduce_53( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 267
+ def _reduce_57( val, _values, result )
result = ast AST::Type, :value => val[0]
result
end
.,.,
- # reduce 54 omitted
+ # reduce 58 omitted
- # reduce 55 omitted
+ # reduce 59 omitted
- # reduce 56 omitted
+ # reduce 60 omitted
- # reduce 57 omitted
+ # reduce 61 omitted
- # reduce 58 omitted
+ # reduce 62 omitted
- # reduce 59 omitted
+ # reduce 63 omitted
-module_eval <<'.,.,', 'grammar.ra', 266
- def _reduce_60( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 280
+ def _reduce_64( val, _values, result )
# this is distinct from referencing a variable
variable = ast AST::Name, :value => val[0]
result = ast AST::VarDef, :name => variable, :value => val[2]
@@ -1158,22 +1195,22 @@ module_eval <<'.,.,', 'grammar.ra', 266
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 271
- def _reduce_61( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 285
+ def _reduce_65( val, _values, result )
result = ast AST::ASTArray
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 271
- def _reduce_62( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 285
+ def _reduce_66( val, _values, result )
result = val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 280
- def _reduce_63( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 294
+ def _reduce_67( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
val[0].push(val[2])
result = val[0]
@@ -1184,17 +1221,17 @@ module_eval <<'.,.,', 'grammar.ra', 280
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 284
- def _reduce_64( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 298
+ def _reduce_68( val, _values, result )
result = ast AST::ResourceParam, :param => val[0], :value => val[2]
result
end
.,.,
- # reduce 65 omitted
+ # reduce 69 omitted
-module_eval <<'.,.,', 'grammar.ra', 293
- def _reduce_66( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 307
+ def _reduce_70( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
result = val[0].push(val[2])
else
@@ -1204,14 +1241,6 @@ module_eval <<'.,.,', 'grammar.ra', 293
end
.,.,
- # reduce 67 omitted
-
- # reduce 68 omitted
-
- # reduce 69 omitted
-
- # reduce 70 omitted
-
# reduce 71 omitted
# reduce 72 omitted
@@ -1234,8 +1263,16 @@ module_eval <<'.,.,', 'grammar.ra', 293
# reduce 81 omitted
-module_eval <<'.,.,', 'grammar.ra', 319
- def _reduce_82( val, _values, result )
+ # reduce 82 omitted
+
+ # reduce 83 omitted
+
+ # reduce 84 omitted
+
+ # reduce 85 omitted
+
+module_eval <<'.,.,', 'grammar.ra', 333
+ def _reduce_86( val, _values, result )
args = aryfy(val[2])
result = ast AST::Function,
:name => val[0],
@@ -1245,44 +1282,44 @@ module_eval <<'.,.,', 'grammar.ra', 319
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 323
- def _reduce_83( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 337
+ def _reduce_87( val, _values, result )
result = ast AST::String, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 325
- def _reduce_84( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 339
+ def _reduce_88( val, _values, result )
result = ast AST::FlatString, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 329
- def _reduce_85( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 343
+ def _reduce_89( val, _values, result )
result = ast AST::Boolean, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 334
- def _reduce_86( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 348
+ def _reduce_90( 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', 336
- def _reduce_87( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 350
+ def _reduce_91( val, _values, result )
result = ast AST::ResourceRef, :type => val[0], :title => val[2]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 349
- def _reduce_88( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 363
+ def _reduce_92( val, _values, result )
args = {
:test => val[1],
:statements => val[3]
@@ -1297,19 +1334,19 @@ module_eval <<'.,.,', 'grammar.ra', 349
end
.,.,
- # reduce 89 omitted
+ # reduce 93 omitted
-module_eval <<'.,.,', 'grammar.ra', 354
- def _reduce_90( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 368
+ def _reduce_94( val, _values, result )
result = ast AST::Else, :statements => val[2]
result
end
.,.,
- # reduce 91 omitted
+ # reduce 95 omitted
-module_eval <<'.,.,', 'grammar.ra', 366
- def _reduce_92( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 380
+ def _reduce_96( val, _values, result )
options = val[3]
unless options.instance_of?(AST::ASTArray)
options = ast AST::ASTArray, :children => [val[3]]
@@ -1319,10 +1356,10 @@ module_eval <<'.,.,', 'grammar.ra', 366
end
.,.,
- # reduce 93 omitted
+ # reduce 97 omitted
-module_eval <<'.,.,', 'grammar.ra', 376
- def _reduce_94( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 390
+ def _reduce_98( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
val[0].push val[1]
result = val[0]
@@ -1333,15 +1370,15 @@ module_eval <<'.,.,', 'grammar.ra', 376
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 380
- def _reduce_95( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 394
+ def _reduce_99( val, _values, result )
result = ast AST::CaseOpt, :value => val[0], :statements => val[3]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 385
- def _reduce_96( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 399
+ def _reduce_100( val, _values, result )
result = ast(AST::CaseOpt,
:value => val[0],
:statements => ast(AST::ASTArray)
@@ -1350,10 +1387,10 @@ module_eval <<'.,.,', 'grammar.ra', 385
end
.,.,
- # reduce 97 omitted
+ # reduce 101 omitted
-module_eval <<'.,.,', 'grammar.ra', 395
- def _reduce_98( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 409
+ def _reduce_102( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
val[0].push(val[2])
result = val[0]
@@ -1364,26 +1401,26 @@ module_eval <<'.,.,', 'grammar.ra', 395
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 399
- def _reduce_99( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 413
+ def _reduce_103( val, _values, result )
result = ast AST::Selector, :param => val[0], :values => val[2]
result
end
.,.,
- # reduce 100 omitted
+ # reduce 104 omitted
-module_eval <<'.,.,', 'grammar.ra', 401
- def _reduce_101( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 415
+ def _reduce_105( val, _values, result )
result = val[1]
result
end
.,.,
- # reduce 102 omitted
+ # reduce 106 omitted
-module_eval <<'.,.,', 'grammar.ra', 412
- def _reduce_103( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 426
+ def _reduce_107( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
val[0].push(val[2])
result = val[0]
@@ -1394,34 +1431,34 @@ module_eval <<'.,.,', 'grammar.ra', 412
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 416
- def _reduce_104( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 430
+ def _reduce_108( val, _values, result )
result = ast AST::ResourceParam, :param => val[0], :value => val[2]
result
end
.,.,
- # reduce 105 omitted
+ # reduce 109 omitted
- # reduce 106 omitted
+ # reduce 110 omitted
- # reduce 107 omitted
+ # reduce 111 omitted
- # reduce 108 omitted
+ # reduce 112 omitted
- # reduce 109 omitted
+ # reduce 113 omitted
- # reduce 110 omitted
+ # reduce 114 omitted
-module_eval <<'.,.,', 'grammar.ra', 426
- def _reduce_111( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 440
+ def _reduce_115( val, _values, result )
result = ast AST::Default, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 488
- def _reduce_112( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 502
+ def _reduce_116( val, _values, result )
# importing files
# yuk, i hate keywords
# we'll probably have to have some kind of search path eventually
@@ -1485,8 +1522,8 @@ module_eval <<'.,.,', 'grammar.ra', 488
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 498
- def _reduce_113( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 512
+ def _reduce_117( val, _values, result )
interp.newdefine fqname(val[1]), :arguments => val[2], :code => val[4]
@lexer.indefine = false
result = nil
@@ -1496,8 +1533,8 @@ module_eval <<'.,.,', 'grammar.ra', 498
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 502
- def _reduce_114( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 516
+ def _reduce_118( val, _values, result )
interp.newdefine fqname(val[1]), :arguments => val[2]
@lexer.indefine = false
result = nil
@@ -1505,8 +1542,8 @@ module_eval <<'.,.,', 'grammar.ra', 502
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 510
- def _reduce_115( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 524
+ def _reduce_119( val, _values, result )
# Our class gets defined in the parent namespace, not our own.
@lexer.namepop
interp.newclass fqname(val[1]), :code => val[4], :parent => val[2]
@@ -1515,8 +1552,8 @@ module_eval <<'.,.,', 'grammar.ra', 510
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 515
- def _reduce_116( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 529
+ def _reduce_120( val, _values, result )
# Our class gets defined in the parent namespace, not our own.
@lexer.namepop
interp.newclass fqname(val[1]), :parent => val[2]
@@ -1525,30 +1562,30 @@ module_eval <<'.,.,', 'grammar.ra', 515
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 520
- def _reduce_117( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 534
+ def _reduce_121( val, _values, result )
interp.newnode val[1], :parent => val[2], :code => val[4]
result = nil
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 523
- def _reduce_118( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 537
+ def _reduce_122( val, _values, result )
interp.newnode val[1], :parent => val[2]
result = nil
result
end
.,.,
- # reduce 119 omitted
+ # reduce 123 omitted
- # reduce 120 omitted
+ # reduce 124 omitted
- # reduce 121 omitted
+ # reduce 125 omitted
-module_eval <<'.,.,', 'grammar.ra', 535
- def _reduce_122( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 549
+ def _reduce_126( val, _values, result )
result = val[0]
result = [result] unless result.is_a?(Array)
result << val[2]
@@ -1556,47 +1593,47 @@ module_eval <<'.,.,', 'grammar.ra', 535
end
.,.,
- # reduce 123 omitted
+ # reduce 127 omitted
- # reduce 124 omitted
+ # reduce 128 omitted
- # reduce 125 omitted
+ # reduce 129 omitted
-module_eval <<'.,.,', 'grammar.ra', 543
- def _reduce_126( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 557
+ def _reduce_130( val, _values, result )
result = nil
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 547
- def _reduce_127( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 561
+ def _reduce_131( val, _values, result )
result = ast AST::ASTArray, :children => []
result
end
.,.,
- # reduce 128 omitted
+ # reduce 132 omitted
-module_eval <<'.,.,', 'grammar.ra', 552
- def _reduce_129( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 566
+ def _reduce_133( val, _values, result )
result = nil
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 556
- def _reduce_130( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 570
+ def _reduce_134( val, _values, result )
result = val[1]
result = [result] unless result[0].is_a?(Array)
result
end
.,.,
- # reduce 131 omitted
+ # reduce 135 omitted
-module_eval <<'.,.,', 'grammar.ra', 563
- def _reduce_132( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 577
+ def _reduce_136( val, _values, result )
result = val[0]
result = [result] unless result[0].is_a?(Array)
result << val[2]
@@ -1604,54 +1641,54 @@ module_eval <<'.,.,', 'grammar.ra', 563
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 568
- def _reduce_133( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 582
+ def _reduce_137( val, _values, result )
Puppet.warning addcontext("Deprecation notice: #{val[0].value} must now include '$' in prototype")
result = [val[0], val[2]]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 572
- def _reduce_134( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 586
+ def _reduce_138( val, _values, result )
Puppet.warning addcontext("Deprecation notice: #{val[0].value} must now include '$' in prototype")
result = [val[0]]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 574
- def _reduce_135( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 588
+ def _reduce_139( val, _values, result )
result = [val[0], val[2]]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 576
- def _reduce_136( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 590
+ def _reduce_140( val, _values, result )
result = [val[0]]
result
end
.,.,
- # reduce 137 omitted
+ # reduce 141 omitted
-module_eval <<'.,.,', 'grammar.ra', 581
- def _reduce_138( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 595
+ def _reduce_142( val, _values, result )
result = val[1]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 585
- def _reduce_139( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 599
+ def _reduce_143( val, _values, result )
result = ast AST::Variable, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 593
- def _reduce_140( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 607
+ def _reduce_144( val, _values, result )
if val[1].instance_of?(AST::ASTArray)
result = val[1]
else
@@ -1661,21 +1698,21 @@ module_eval <<'.,.,', 'grammar.ra', 593
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 595
- def _reduce_141( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 609
+ def _reduce_145( val, _values, result )
result = ast AST::ASTArray
result
end
.,.,
- # reduce 142 omitted
+ # reduce 146 omitted
- # reduce 143 omitted
+ # reduce 147 omitted
- # reduce 144 omitted
+ # reduce 148 omitted
-module_eval <<'.,.,', 'grammar.ra', 600
- def _reduce_145( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 614
+ def _reduce_149( val, _values, result )
result = nil
result
end
diff --git a/test/data/snippets/virtualresources.pp b/test/data/snippets/virtualresources.pp
new file mode 100644
index 000000000..a29406b84
--- /dev/null
+++ b/test/data/snippets/virtualresources.pp
@@ -0,0 +1,14 @@
+class one {
+ @file { "/tmp/virtualtest1": content => "one" }
+ @file { "/tmp/virtualtest2": content => "two" }
+ @file { "/tmp/virtualtest3": content => "three" }
+ @file { "/tmp/virtualtest4": content => "four" }
+}
+
+class two {
+ File <| content == "one" |>
+ realize File["/tmp/virtualtest2"]
+ realize(File["/tmp/virtualtest3"], File["/tmp/virtualtest4"])
+}
+
+include one, two
diff --git a/test/language/functions.rb b/test/language/functions.rb
index 76b32138d..21af606db 100755
--- a/test/language/functions.rb
+++ b/test/language/functions.rb
@@ -7,9 +7,11 @@ require 'puppet/parser/interpreter'
require 'puppet/parser/parser'
require 'puppet/client'
require 'puppettest'
+require 'puppettest/resourcetesting'
class TestLangFunctions < Test::Unit::TestCase
include PuppetTest::ParserTesting
+ include PuppetTest::ResourceTesting
def test_functions
assert_raise(Puppet::ParseError) do
Puppet::Parser::AST::Function.new(
@@ -302,6 +304,37 @@ class TestLangFunctions < Test::Unit::TestCase
assert(Puppet::Parser::Scope.method_defined?(:function_autofunc),
"Did not set function correctly")
end
+
+ def test_realize
+ @interp, @scope, @source = mkclassframing
+ # Make a virtual resource
+ virtual = mkresource(:type => "file", :title => "/tmp/virtual",
+ :virtual => true, :params => {:owner => "root"})
+ @scope.setresource virtual
+
+ ref = Puppet::Parser::Resource::Reference.new(
+ :type => "file", :title => "/tmp/virtual",
+ :scope => @scope
+ )
+ # Now call the realize function
+ assert_nothing_raised do
+ @scope.function_realize(ref)
+ end
+
+ # Now make sure the virtual resource is no longer virtual
+ assert(! virtual.virtual?, "Did not make virtual resource real")
+
+ # Make sure we puke on any resource that doesn't exist
+
+ none = Puppet::Parser::Resource::Reference.new(
+ :type => "file", :title => "/tmp/nosuchfile",
+ :scope => @scope
+ )
+
+ assert_raise(Puppet::ParseError) do
+ @scope.function_realize(none)
+ end
+ end
end
# $Id$
diff --git a/test/language/snippets.rb b/test/language/snippets.rb
index 278218e4f..45137f917 100755
--- a/test/language/snippets.rb
+++ b/test/language/snippets.rb
@@ -478,6 +478,13 @@ class TestSnippets < Test::Unit::TestCase
assert(! FileTest.exists?("/tmp/colltest2"), "Incorrectly collected file")
end
+ def snippet_virtualresources(trans)
+ %w{1 2 3 4}.each do |num|
+ assert(FileTest.exists?("/tmp/virtualtest#{num}"),
+ "Did not collect file #{num}")
+ end
+ end
+
def disabled_snippet_dirchmod(trans)
dirs = %w{a b}.collect { |letter|
"/tmp/dirchmodtest%s" % letter