summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-05-17 21:43:51 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-05-17 21:43:51 +0000
commiteed85f41ffc31649032114b7aa89a541d239a257 (patch)
tree72b83438166fec47d107fa6d2c98261bfde76f60 /lib
parent8410c4dc5bfbb450ea740be42e0f0d712bf86e7a (diff)
downloadpuppet-eed85f41ffc31649032114b7aa89a541d239a257.tar.gz
puppet-eed85f41ffc31649032114b7aa89a541d239a257.tar.xz
puppet-eed85f41ffc31649032114b7aa89a541d239a257.zip
Adding #629 -- an undef keyword now exists
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2522 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/parser/ast/leaf.rb3
-rw-r--r--lib/puppet/parser/grammar.ra11
-rw-r--r--lib/puppet/parser/lexer.rb3
-rw-r--r--lib/puppet/parser/parser.rb1155
-rw-r--r--lib/puppet/parser/resource.rb5
-rw-r--r--lib/puppet/parser/scope.rb8
6 files changed, 624 insertions, 561 deletions
diff --git a/lib/puppet/parser/ast/leaf.rb b/lib/puppet/parser/ast/leaf.rb
index ed02c4eef..c2fd0939d 100644
--- a/lib/puppet/parser/ast/leaf.rb
+++ b/lib/puppet/parser/ast/leaf.rb
@@ -66,6 +66,9 @@ class Puppet::Parser::AST
# double-colon separated class names
class ClassName < AST::Leaf; end
+ # undef values; equiv to nil
+ class Undef < AST::Leaf; end
+
# Host names, either fully qualified or just the short name
class HostName < AST::Leaf
def initialize(hash)
diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra
index 16aa10459..6714afab8 100644
--- a/lib/puppet/parser/grammar.ra
+++ b/lib/puppet/parser/grammar.ra
@@ -9,10 +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
-
-# We have 2 shift/reduce conflicts
-#expect 2
+token NOT OR AND UNDEF
rule
program: statements {
@@ -261,6 +258,10 @@ resourceinstances: resourceinst
endsemi: # nothing
| SEMIC
+undef: UNDEF {
+ result = ast AST::Undef, :value => :undef
+}
+
name: NAME {
result = ast AST::Name, :value => val[0]
}
@@ -328,6 +329,7 @@ rvalue: quotedtext
| array
| resourceref
| funcrvalue
+ | undef
# We currently require arguments in these functions.
funcrvalue: NAME LPAREN namestrings RPAREN {
@@ -446,6 +448,7 @@ selectlhand: name
| variable
| funcrvalue
| boolean
+ | undef
| DEFAULT {
result = ast AST::Default, :value => val[0]
}
diff --git a/lib/puppet/parser/lexer.rb b/lib/puppet/parser/lexer.rb
index 0c9594563..9fc1f9a38 100644
--- a/lib/puppet/parser/lexer.rb
+++ b/lib/puppet/parser/lexer.rb
@@ -68,7 +68,8 @@ module Puppet
"node" => :NODE,
"true" => :BOOLEAN,
"and" => :AND,
- "or" => :OR
+ "or" => :OR,
+ "undef" => :UNDEF
}
def clear
diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb
index ee8470a26..f86f7267f 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..id70ce3bc052', 'grammar.ra', 606
+module_eval <<'..end grammar.ra modeval..iddb7b85f023', 'grammar.ra', 609
require 'puppet/parser/functions'
attr_reader :file, :interp
@@ -254,432 +254,467 @@ end
# $Id$
-..end grammar.ra modeval..id70ce3bc052
+..end grammar.ra modeval..iddb7b85f023
##### racc 1.4.5 generates ###
racc_reduce_table = [
0, 0, :racc_error,
- 1, 51, :_reduce_1,
- 1, 51, :_reduce_none,
+ 1, 52, :_reduce_1,
1, 52, :_reduce_none,
- 2, 52, :_reduce_4,
- 1, 54, :_reduce_none,
- 1, 54, :_reduce_none,
- 1, 54, :_reduce_none,
- 1, 54, :_reduce_none,
- 1, 54, :_reduce_none,
- 1, 54, :_reduce_none,
- 1, 54, :_reduce_none,
- 1, 54, :_reduce_none,
- 1, 54, :_reduce_none,
- 1, 54, :_reduce_none,
- 1, 54, :_reduce_none,
- 1, 54, :_reduce_none,
- 4, 62, :_reduce_17,
- 3, 62, :_reduce_18,
- 2, 62, :_reduce_19,
- 1, 67, :_reduce_none,
- 1, 67, :_reduce_none,
+ 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,
- 3, 68, :_reduce_23,
- 1, 70, :_reduce_none,
- 1, 70, :_reduce_none,
- 1, 70, :_reduce_none,
- 1, 70, :_reduce_27,
1, 69, :_reduce_none,
- 3, 69, :_reduce_29,
- 5, 55, :_reduce_30,
- 5, 55, :_reduce_31,
- 5, 55, :_reduce_32,
- 5, 66, :_reduce_33,
- 2, 56, :_reduce_34,
- 1, 80, :_reduce_35,
- 2, 80, :_reduce_36,
- 2, 57, :_reduce_37,
- 1, 81, :_reduce_none,
- 1, 81, :_reduce_none,
- 3, 82, :_reduce_40,
- 3, 82, :_reduce_41,
- 1, 83, :_reduce_none,
- 1, 83, :_reduce_none,
- 3, 83, :_reduce_44,
+ 3, 69, :_reduce_23,
+ 1, 71, :_reduce_none,
+ 1, 71, :_reduce_none,
+ 1, 71, :_reduce_none,
+ 1, 71, :_reduce_27,
+ 1, 70, :_reduce_none,
+ 3, 70, :_reduce_29,
+ 5, 56, :_reduce_30,
+ 5, 56, :_reduce_31,
+ 5, 56, :_reduce_32,
+ 5, 67, :_reduce_33,
+ 2, 57, :_reduce_34,
+ 1, 81, :_reduce_35,
+ 2, 81, :_reduce_36,
+ 2, 58, :_reduce_37,
+ 1, 82, :_reduce_none,
+ 1, 82, :_reduce_none,
+ 3, 83, :_reduce_40,
+ 3, 83, :_reduce_41,
1, 84, :_reduce_none,
- 3, 84, :_reduce_46,
- 1, 85, :_reduce_none,
+ 1, 84, :_reduce_none,
+ 3, 84, :_reduce_44,
1, 85, :_reduce_none,
- 3, 86, :_reduce_49,
- 3, 86, :_reduce_50,
- 1, 87, :_reduce_none,
- 1, 87, :_reduce_none,
- 4, 89, :_reduce_53,
- 1, 76, :_reduce_none,
- 3, 76, :_reduce_55,
- 0, 77, :_reduce_none,
- 1, 77, :_reduce_none,
- 1, 71, :_reduce_58,
- 1, 91, :_reduce_59,
- 1, 90, :_reduce_none,
- 1, 90, :_reduce_none,
- 1, 90, :_reduce_none,
- 1, 90, :_reduce_none,
- 1, 90, :_reduce_none,
- 1, 90, :_reduce_none,
- 3, 58, :_reduce_66,
- 0, 78, :_reduce_67,
- 1, 78, :_reduce_68,
- 3, 78, :_reduce_69,
- 3, 95, :_reduce_70,
- 1, 96, :_reduce_none,
- 3, 96, :_reduce_72,
+ 3, 85, :_reduce_46,
+ 1, 86, :_reduce_none,
+ 1, 86, :_reduce_none,
+ 3, 87, :_reduce_49,
+ 3, 87, :_reduce_50,
1, 88, :_reduce_none,
1, 88, :_reduce_none,
- 1, 88, :_reduce_none,
- 1, 88, :_reduce_none,
- 1, 88, :_reduce_none,
- 1, 88, :_reduce_none,
- 1, 94, :_reduce_none,
- 1, 94, :_reduce_none,
- 1, 94, :_reduce_none,
- 1, 94, :_reduce_none,
- 1, 94, :_reduce_none,
- 1, 94, :_reduce_none,
- 1, 94, :_reduce_none,
- 1, 94, :_reduce_none,
- 1, 94, :_reduce_none,
- 4, 99, :_reduce_88,
- 3, 99, :_reduce_89,
- 1, 73, :_reduce_90,
- 1, 73, :_reduce_91,
- 1, 98, :_reduce_92,
- 4, 74, :_reduce_93,
- 4, 74, :_reduce_94,
- 6, 60, :_reduce_95,
- 0, 101, :_reduce_none,
- 4, 101, :_reduce_97,
- 1, 100, :_reduce_none,
- 5, 59, :_reduce_99,
+ 4, 90, :_reduce_53,
+ 1, 77, :_reduce_none,
+ 3, 77, :_reduce_55,
+ 0, 78, :_reduce_none,
+ 1, 78, :_reduce_none,
+ 1, 92, :_reduce_58,
+ 1, 72, :_reduce_59,
+ 1, 93, :_reduce_60,
+ 1, 91, :_reduce_none,
+ 1, 91, :_reduce_none,
+ 1, 91, :_reduce_none,
+ 1, 91, :_reduce_none,
+ 1, 91, :_reduce_none,
+ 1, 91, :_reduce_none,
+ 3, 59, :_reduce_67,
+ 0, 79, :_reduce_68,
+ 1, 79, :_reduce_69,
+ 3, 79, :_reduce_70,
+ 3, 97, :_reduce_71,
+ 1, 98, :_reduce_none,
+ 3, 98, :_reduce_73,
+ 1, 89, :_reduce_none,
+ 1, 89, :_reduce_none,
+ 1, 89, :_reduce_none,
+ 1, 89, :_reduce_none,
+ 1, 89, :_reduce_none,
+ 1, 89, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 1, 96, :_reduce_none,
+ 4, 101, :_reduce_90,
+ 3, 101, :_reduce_91,
+ 1, 74, :_reduce_92,
+ 1, 74, :_reduce_93,
+ 1, 100, :_reduce_94,
+ 4, 75, :_reduce_95,
+ 4, 75, :_reduce_96,
+ 6, 61, :_reduce_97,
+ 0, 103, :_reduce_none,
+ 4, 103, :_reduce_99,
1, 102, :_reduce_none,
- 2, 102, :_reduce_101,
- 5, 103, :_reduce_102,
- 4, 103, :_reduce_103,
+ 5, 60, :_reduce_101,
1, 104, :_reduce_none,
- 3, 104, :_reduce_105,
- 3, 92, :_reduce_106,
+ 2, 104, :_reduce_103,
+ 5, 105, :_reduce_104,
+ 4, 105, :_reduce_105,
1, 106, :_reduce_none,
- 4, 106, :_reduce_108,
+ 3, 106, :_reduce_107,
+ 3, 94, :_reduce_108,
1, 108, :_reduce_none,
- 3, 108, :_reduce_110,
- 3, 107, :_reduce_111,
- 1, 105, :_reduce_none,
- 1, 105, :_reduce_none,
- 1, 105, :_reduce_none,
- 1, 105, :_reduce_none,
- 1, 105, :_reduce_none,
- 1, 105, :_reduce_none,
- 1, 105, :_reduce_118,
- 1, 109, :_reduce_119,
- 3, 109, :_reduce_120,
- 2, 61, :_reduce_121,
- 6, 63, :_reduce_122,
- 5, 63, :_reduce_123,
- 6, 64, :_reduce_124,
- 5, 64, :_reduce_125,
- 6, 65, :_reduce_126,
- 5, 65, :_reduce_127,
- 1, 75, :_reduce_none,
- 1, 75, :_reduce_none,
- 1, 112, :_reduce_none,
- 3, 112, :_reduce_131,
- 1, 114, :_reduce_none,
- 1, 114, :_reduce_none,
- 1, 114, :_reduce_none,
- 0, 53, :_reduce_135,
- 0, 115, :_reduce_136,
+ 4, 108, :_reduce_110,
1, 110, :_reduce_none,
- 3, 110, :_reduce_138,
- 3, 110, :_reduce_139,
+ 3, 110, :_reduce_112,
+ 3, 109, :_reduce_113,
+ 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_121,
+ 1, 111, :_reduce_122,
+ 3, 111, :_reduce_123,
+ 2, 62, :_reduce_124,
+ 6, 64, :_reduce_125,
+ 5, 64, :_reduce_126,
+ 6, 65, :_reduce_127,
+ 5, 65, :_reduce_128,
+ 6, 66, :_reduce_129,
+ 5, 66, :_reduce_130,
+ 1, 76, :_reduce_none,
+ 1, 76, :_reduce_none,
+ 1, 114, :_reduce_none,
+ 3, 114, :_reduce_134,
1, 116, :_reduce_none,
- 3, 116, :_reduce_141,
- 3, 117, :_reduce_142,
- 1, 117, :_reduce_143,
- 3, 117, :_reduce_144,
- 1, 117, :_reduce_145,
- 1, 113, :_reduce_none,
- 2, 113, :_reduce_147,
- 1, 111, :_reduce_none,
- 2, 111, :_reduce_149,
- 1, 118, :_reduce_none,
+ 1, 116, :_reduce_none,
+ 1, 116, :_reduce_none,
+ 0, 54, :_reduce_138,
+ 0, 117, :_reduce_139,
+ 1, 112, :_reduce_none,
+ 3, 112, :_reduce_141,
+ 3, 112, :_reduce_142,
1, 118, :_reduce_none,
- 1, 119, :_reduce_none,
- 1, 119, :_reduce_none,
- 1, 72, :_reduce_154,
- 3, 93, :_reduce_155,
- 2, 93, :_reduce_156,
- 1, 97, :_reduce_none,
- 1, 97, :_reduce_none,
- 0, 79, :_reduce_none,
- 1, 79, :_reduce_160 ]
-
-racc_reduce_n = 161
-
-racc_shift_n = 263
+ 3, 118, :_reduce_144,
+ 3, 119, :_reduce_145,
+ 1, 119, :_reduce_146,
+ 3, 119, :_reduce_147,
+ 1, 119, :_reduce_148,
+ 1, 115, :_reduce_none,
+ 2, 115, :_reduce_150,
+ 1, 113, :_reduce_none,
+ 2, 113, :_reduce_152,
+ 1, 120, :_reduce_none,
+ 1, 120, :_reduce_none,
+ 1, 121, :_reduce_none,
+ 1, 121, :_reduce_none,
+ 1, 73, :_reduce_157,
+ 3, 95, :_reduce_158,
+ 2, 95, :_reduce_159,
+ 1, 99, :_reduce_none,
+ 1, 99, :_reduce_none,
+ 0, 80, :_reduce_none,
+ 1, 80, :_reduce_163 ]
+
+racc_reduce_n = 164
+
+racc_shift_n = 266
racc_action_table = [
- 49, 51, 53, 41, -128, 51, 53, 51, 53, 51,
- 53, 188, 58, 96, 49, 110, 58, 63, 51, 53,
- 46, 43, 58, 33, 116, 170, 156, 107, 217, 88,
- 4, 45, 163, 74, 116, 45, 55, 45, 93, 45,
- 98, 191, 55, 47, 98, 44, 192, 47, 45, 47,
- 36, 47, 65, 69, 153, 154, 75, 63, 51, 53,
- 33, 233, 187, 63, 51, 53, 113, 4, 79, 63,
- 51, 53, 80, 74, 232, 63, 51, 53, 187, 74,
- 158, 63, 51, 53, 38, 74, 196, 39, 45, 157,
- 191, 74, 65, 69, 45, 192, 75, 74, 65, 69,
- 45, 187, 75, 198, 65, 69, 45, -113, 75, -112,
- 65, 69, 45, 185, 75, 97, 65, 69, 51, 53,
- 75, 63, 51, 53, -115, 205, 45, 63, 51, 53,
- -114, 98, 200, 63, 51, 53, -112, 74, -113, 63,
- 51, 53, 117, 74, -115, 63, 51, 53, 112, 74,
- 153, 154, 45, 167, 247, 74, 65, 69, 45, -116,
- 75, 140, 65, 69, 45, 49, 75, 79, 65, 69,
- 45, 49, 75, -114, 65, 69, 45, 116, 75, 241,
- 65, 174, 33, 218, 75, 63, 51, 53, 224, 4,
- 18, 63, 51, 53, 111, 223, 110, 36, 51, 53,
- 15, 74, 21, 25, 79, 1, 5, 140, 8, 225,
- 13, 121, 17, 140, 26, 161, 45, 4, 240, 228,
- 65, 69, 45, 160, 75, 230, 65, 137, 45, 18,
- 75, 38, 65, 174, 39, 147, 75, 234, 148, 15,
- 231, 21, 25, 97, 1, 5, -117, 8, 18, 13,
- 80, 17, 236, 26, 45, 121, 4, 238, 15, 98,
- 21, 25, 262, 1, 5, 118, 8, 91, 13, 188,
- 17, 97, 26, 18, 166, 4, -113, 33, 167, 169,
- 144, 253, 45, 15, 4, 21, 25, 98, 1, 5,
- 97, 8, 18, 13, -112, 17, -115, 26, 51, 53,
- 4, 45, 15, -114, 21, 25, 98, 1, 5, -117,
- 8, 243, 13, 140, 17, 87, 26, 150, 258, 4,
- 51, 53, 159, 248, 222, 123, 153, 154, 45, 18,
- 51, 53, 65, 174, 84, 140, 75, 51, 53, 15,
- 143, 21, 25, 121, 1, 5, 81, 8, 187, 13,
- 45, 17, 140, 26, 65, 174, 4, 261, 75, 255,
- 256, 126, -160, 121, 124, 32, 229, 45, 18, nil,
- nil, 65, 174, nil, nil, 75, 215, nil, 15, nil,
- 21, 25, nil, 1, 5, nil, 8, 18, 13, nil,
- 17, nil, 26, 51, 53, 4, nil, 15, nil, 21,
- 25, nil, 1, 5, nil, 8, nil, 13, 140, 17,
- nil, 26, nil, nil, 4, 51, 53, 51, 53, nil,
- 177, nil, nil, 45, nil, nil, nil, 65, 174, nil,
- 140, 75, 140, 203, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, 18, 45, nil, 45, nil, 65,
- 174, 65, 174, 75, 15, 75, 21, 25, 201, 1,
- 5, nil, 8, nil, 13, nil, 17, nil, 26, 18,
- nil, 4, nil, 51, 53, nil, nil, nil, nil, 15,
- nil, 21, 25, nil, 1, 5, nil, 8, 140, 13,
- nil, 17, nil, 26, nil, nil, 4, nil, nil, nil,
- 18, nil, nil, 45, nil, nil, nil, 65, 174, nil,
- 15, 75, 21, 25, nil, 1, 5, nil, 8, 18,
- 13, nil, 17, nil, 26, nil, nil, 4, nil, 15,
- nil, 21, 25, nil, 1, 5, nil, 8, 18, 13,
- nil, 17, nil, 26, nil, nil, 4, nil, 15, nil,
- 21, 25, nil, 1, 5, nil, 8, 18, 13, nil,
- 17, nil, 26, nil, nil, 4, nil, 15, nil, 21,
- 25, nil, 1, 5, nil, 8, nil, 13, nil, 17,
- nil, 26, nil, nil, 4 ]
+ 62, 50, 52, 41, 161, 43, 62, 50, 52, 114,
+ 35, 156, 33, 98, 48, 112, 144, 81, -119, 4,
+ 155, 82, 74, 33, 62, 50, 52, 35, 220, 44,
+ 4, 45, 158, 159, 118, 65, 139, 45, 95, 75,
+ 74, 65, 68, 235, 37, 75, 57, 39, 71, 62,
+ 50, 52, 50, 52, 71, 45, 234, 193, 191, 65,
+ 68, 37, 194, 75, 39, 74, 166, 62, 50, 52,
+ 216, 118, 71, 62, 50, 52, 193, 170, 249, 33,
+ 45, 194, 45, 74, 65, 68, 4, 101, 75, 74,
+ 190, 62, 50, 52, 47, 158, 159, 71, 45, 50,
+ 52, 188, 65, 68, 45, 198, 75, 144, 65, 68,
+ 190, 150, 75, 100, 151, 71, 62, 50, 52, 50,
+ 52, 71, 45, 201, 45, 190, 65, 176, 203, 101,
+ 75, 227, 74, 100, 62, 50, 52, 100, 226, 71,
+ 62, 50, 52, -115, 45, -115, 100, 45, 45, 101,
+ 74, 65, 68, 101, -114, 75, 74, 45, 62, 50,
+ 52, -117, 101, 162, 71, 45, -116, 158, 159, 65,
+ 68, 45, -120, 75, 74, 65, 68, 50, 52, 75,
+ 117, -118, 71, 62, 50, 52, 169, -119, 71, 45,
+ 170, 171, 144, 65, 68, 50, 52, 75, -114, 74,
+ -117, 62, 50, 52, 48, 81, 71, 45, 48, 81,
+ 144, 65, 176, 118, 45, 75, 113, 74, 65, 68,
+ 50, 52, 75, 223, 71, 45, 112, 164, 228, 65,
+ 176, 71, 45, 75, 123, 144, 65, 68, 50, 52,
+ 75, 178, 71, 163, 50, 52, 119, 232, 233, 71,
+ 45, 50, 52, 144, 65, 176, -116, 82, 75, 144,
+ 50, 52, 50, 52, 238, 239, 57, 71, 45, 153,
+ 241, 109, 65, 176, 45, 144, 75, 144, 65, 176,
+ 123, 45, 75, 50, 52, 71, 54, 92, 90, 191,
+ 45, 71, 45, 47, 65, 176, 65, 176, 75, -115,
+ 75, 50, 52, 173, -114, 225, -117, 71, -116, 71,
+ 48, 50, 52, 45, -131, 246, 144, 33, 101, 149,
+ 147, 88, 251, 87, 4, 47, 57, 123, 85, 120,
+ 46, 45, 123, 219, 190, 65, 176, 258, 127, 75,
+ 260, 45, -163, 126, 19, 125, 54, 32, 71, 231,
+ nil, nil, 265, 47, 16, nil, 21, 24, nil, 1,
+ 5, nil, 9, 19, 14, nil, 18, nil, 25, nil,
+ nil, 4, nil, 16, nil, 21, 24, 256, 1, 5,
+ nil, 9, nil, 14, nil, 18, nil, 25, 19, nil,
+ 4, nil, nil, nil, nil, nil, 244, nil, 16, nil,
+ 21, 24, nil, 1, 5, nil, 9, 19, 14, nil,
+ 18, nil, 25, nil, nil, 4, nil, 16, nil, 21,
+ 24, 261, 1, 5, nil, 9, nil, 14, nil, 18,
+ nil, 25, 19, nil, 4, nil, nil, nil, nil, nil,
+ 264, nil, 16, nil, 21, 24, nil, 1, 5, nil,
+ 9, 19, 14, nil, 18, nil, 25, nil, nil, 4,
+ nil, 16, nil, 21, 24, 236, 1, 5, nil, 9,
+ nil, 14, nil, 18, nil, 25, 19, nil, 4, nil,
+ nil, nil, nil, nil, 206, nil, 16, nil, 21, 24,
+ nil, 1, 5, nil, 9, 19, 14, nil, 18, nil,
+ 25, nil, nil, 4, nil, 16, nil, 21, 24, 204,
+ 1, 5, nil, 9, nil, 14, nil, 18, nil, 25,
+ 19, nil, 4, nil, nil, nil, nil, nil, 243, nil,
+ 16, nil, 21, 24, nil, 1, 5, nil, 9, 19,
+ 14, nil, 18, nil, 25, nil, nil, 4, nil, 16,
+ nil, 21, 24, nil, 1, 5, nil, 9, 19, 14,
+ nil, 18, nil, 25, nil, nil, 4, nil, 16, nil,
+ 21, 24, nil, 1, 5, nil, 9, 19, 14, nil,
+ 18, nil, 25, nil, nil, 4, nil, 16, nil, 21,
+ 24, nil, 1, 5, nil, 9, 19, 14, nil, 18,
+ nil, 25, nil, nil, 4, nil, 16, nil, 21, 24,
+ nil, 1, 5, nil, 9, 19, 14, nil, 18, nil,
+ 25, nil, nil, 4, nil, 16, nil, 21, 24, nil,
+ 1, 5, nil, 9, nil, 14, nil, 18, nil, 25,
+ nil, nil, 4 ]
racc_action_check = [
- 13, 13, 13, 9, 13, 116, 116, 46, 46, 110,
- 110, 137, 111, 35, 69, 171, 13, 17, 17, 17,
- 13, 11, 46, 9, 137, 116, 101, 46, 171, 27,
- 9, 13, 111, 17, 69, 116, 13, 46, 35, 110,
- 116, 126, 46, 13, 110, 11, 126, 116, 17, 46,
- 8, 110, 17, 17, 101, 101, 17, 49, 49, 49,
- 25, 194, 125, 63, 63, 63, 63, 25, 18, 15,
- 15, 15, 18, 49, 194, 168, 168, 168, 120, 63,
- 105, 79, 79, 79, 8, 15, 127, 8, 49, 105,
- 233, 168, 49, 49, 63, 233, 49, 79, 63, 63,
- 15, 131, 63, 132, 15, 15, 168, 133, 15, 136,
- 168, 168, 79, 119, 168, 44, 79, 79, 21, 21,
- 79, 188, 188, 188, 138, 152, 44, 230, 230, 230,
- 139, 44, 142, 229, 229, 229, 68, 188, 64, 32,
- 32, 32, 70, 230, 72, 200, 200, 200, 62, 229,
- 152, 152, 188, 220, 220, 32, 188, 188, 230, 61,
- 188, 200, 230, 230, 229, 163, 230, 58, 229, 229,
- 32, 55, 229, 73, 32, 32, 200, 174, 32, 204,
- 200, 200, 5, 176, 200, 218, 218, 218, 183, 5,
- 204, 88, 88, 88, 52, 183, 50, 96, 224, 224,
- 204, 218, 204, 204, 74, 204, 204, 88, 204, 186,
- 204, 187, 204, 224, 204, 109, 218, 204, 202, 190,
- 218, 218, 88, 108, 218, 192, 88, 88, 224, 202,
- 88, 96, 224, 224, 96, 93, 224, 196, 93, 202,
- 193, 202, 202, 155, 202, 202, 77, 202, 196, 202,
- 41, 202, 197, 202, 155, 198, 202, 199, 196, 155,
- 196, 196, 260, 196, 196, 78, 196, 34, 196, 121,
- 196, 97, 196, 260, 115, 196, 208, 91, 115, 115,
- 91, 235, 97, 260, 91, 260, 260, 97, 260, 260,
- 43, 260, 235, 260, 210, 260, 211, 260, 246, 246,
- 260, 43, 235, 212, 235, 235, 43, 235, 235, 213,
- 235, 215, 235, 246, 235, 26, 235, 94, 248, 235,
- 181, 181, 106, 223, 181, 81, 106, 106, 246, 248,
- 124, 124, 246, 246, 22, 181, 246, 177, 177, 248,
- 90, 248, 248, 80, 248, 248, 20, 248, 237, 248,
- 181, 248, 177, 248, 181, 181, 248, 259, 181, 243,
- 245, 86, 247, 84, 83, 1, 191, 177, 259, nil,
- nil, 177, 177, nil, nil, 177, 165, nil, 259, nil,
- 259, 259, nil, 259, 259, nil, 259, 165, 259, nil,
- 259, nil, 259, 118, 118, 259, nil, 165, nil, 165,
- 165, nil, 165, 165, nil, 165, nil, 165, 118, 165,
- nil, 165, nil, nil, 165, 157, 157, 117, 117, nil,
- 117, nil, nil, 118, nil, nil, nil, 118, 118, nil,
- 157, 118, 117, 150, nil, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, 150, 157, nil, 117, nil, 157,
- 157, 117, 117, 157, 150, 117, 150, 150, 143, 150,
- 150, nil, 150, nil, 150, nil, 150, nil, 150, 143,
- nil, 150, nil, 158, 158, nil, nil, nil, nil, 143,
- nil, 143, 143, nil, 143, 143, nil, 143, 158, 143,
- nil, 143, nil, 143, nil, nil, 143, nil, nil, nil,
- 112, nil, nil, 158, nil, nil, nil, 158, 158, nil,
- 112, 158, 112, 112, nil, 112, 112, nil, 112, 255,
- 112, nil, 112, nil, 112, nil, nil, 112, nil, 255,
- nil, 255, 255, nil, 255, 255, nil, 255, 24, 255,
- nil, 255, nil, 255, nil, nil, 255, nil, 24, nil,
- 24, 24, nil, 24, 24, nil, 24, 0, 24, nil,
- 24, nil, 24, nil, nil, 24, nil, 0, nil, 0,
- 0, nil, 0, 0, nil, 0, nil, 0, nil, 0,
- nil, 0, nil, nil, 0 ]
+ 90, 90, 90, 11, 104, 13, 62, 62, 62, 62,
+ 9, 99, 5, 36, 68, 174, 90, 19, 208, 5,
+ 99, 19, 62, 11, 168, 168, 168, 98, 174, 13,
+ 11, 90, 104, 104, 68, 90, 90, 62, 36, 90,
+ 168, 62, 62, 196, 9, 62, 113, 9, 90, 48,
+ 48, 48, 112, 112, 62, 168, 196, 127, 139, 168,
+ 168, 98, 127, 168, 98, 48, 113, 191, 191, 191,
+ 157, 139, 168, 231, 231, 231, 235, 221, 221, 24,
+ 48, 235, 112, 191, 48, 48, 24, 112, 48, 231,
+ 122, 201, 201, 201, 112, 157, 157, 48, 191, 21,
+ 21, 121, 191, 191, 231, 128, 191, 201, 231, 231,
+ 130, 95, 231, 43, 95, 191, 16, 16, 16, 125,
+ 125, 231, 201, 131, 43, 135, 201, 201, 136, 43,
+ 201, 186, 16, 160, 18, 18, 18, 44, 186, 201,
+ 32, 32, 32, 138, 160, 67, 100, 16, 44, 160,
+ 18, 16, 16, 44, 141, 16, 32, 100, 223, 223,
+ 223, 143, 100, 108, 16, 18, 145, 108, 108, 18,
+ 18, 32, 66, 18, 223, 32, 32, 227, 227, 32,
+ 64, 63, 18, 232, 232, 232, 116, 61, 32, 223,
+ 116, 116, 227, 223, 223, 178, 178, 223, 70, 232,
+ 73, 81, 81, 81, 166, 57, 223, 227, 54, 74,
+ 178, 227, 227, 176, 232, 227, 53, 81, 232, 232,
+ 156, 156, 232, 181, 227, 178, 51, 111, 189, 178,
+ 178, 232, 81, 178, 190, 156, 81, 81, 119, 119,
+ 81, 119, 178, 110, 247, 247, 76, 194, 195, 81,
+ 156, 46, 46, 119, 156, 156, 78, 41, 156, 247,
+ 120, 120, 155, 155, 199, 200, 46, 156, 119, 96,
+ 202, 46, 119, 119, 247, 120, 119, 155, 247, 247,
+ 203, 46, 247, 118, 118, 119, 46, 34, 29, 123,
+ 120, 247, 155, 46, 120, 120, 155, 155, 120, 210,
+ 155, 184, 184, 118, 212, 184, 213, 120, 214, 155,
+ 14, 14, 14, 118, 14, 219, 184, 92, 118, 93,
+ 92, 26, 226, 25, 92, 118, 14, 82, 23, 80,
+ 14, 184, 88, 172, 242, 184, 184, 246, 86, 184,
+ 248, 14, 249, 85, 172, 83, 14, 1, 184, 193,
+ nil, nil, 263, 14, 172, nil, 172, 172, nil, 172,
+ 172, nil, 172, 263, 172, nil, 172, nil, 172, nil,
+ nil, 172, nil, 263, nil, 263, 263, 237, 263, 263,
+ nil, 263, nil, 263, nil, 263, nil, 263, 237, nil,
+ 263, nil, nil, nil, nil, nil, 207, nil, 237, nil,
+ 237, 237, nil, 237, 237, nil, 237, 207, 237, nil,
+ 237, nil, 237, nil, nil, 237, nil, 207, nil, 207,
+ 207, 251, 207, 207, nil, 207, nil, 207, nil, 207,
+ nil, 207, 251, nil, 207, nil, nil, nil, nil, nil,
+ 262, nil, 251, nil, 251, 251, nil, 251, 251, nil,
+ 251, 262, 251, nil, 251, nil, 251, nil, nil, 251,
+ nil, 262, nil, 262, 262, 198, 262, 262, nil, 262,
+ nil, 262, nil, 262, nil, 262, 198, nil, 262, nil,
+ nil, nil, nil, nil, 153, nil, 198, nil, 198, 198,
+ nil, 198, 198, nil, 198, 153, 198, nil, 198, nil,
+ 198, nil, nil, 198, nil, 153, nil, 153, 153, 149,
+ 153, 153, nil, 153, nil, 153, nil, 153, nil, 153,
+ 149, nil, 153, nil, nil, nil, nil, nil, 205, nil,
+ 149, nil, 149, 149, nil, 149, 149, nil, 149, 205,
+ 149, nil, 149, nil, 149, nil, nil, 149, nil, 205,
+ nil, 205, 205, nil, 205, 205, nil, 205, 258, 205,
+ nil, 205, nil, 205, nil, nil, 205, nil, 258, nil,
+ 258, 258, nil, 258, 258, nil, 258, 117, 258, nil,
+ 258, nil, 258, nil, nil, 258, nil, 117, nil, 117,
+ 117, nil, 117, 117, nil, 117, 28, 117, nil, 117,
+ nil, 117, nil, nil, 117, nil, 28, nil, 28, 28,
+ nil, 28, 28, nil, 28, 0, 28, nil, 28, nil,
+ 28, nil, nil, 28, nil, 0, nil, 0, 0, nil,
+ 0, 0, nil, 0, nil, 0, nil, 0, nil, 0,
+ nil, nil, 0 ]
racc_action_pointer = [
- 539, 352, nil, nil, nil, 144, nil, nil, 46, -15,
- nil, 2, nil, -2, nil, 67, nil, 15, 66, nil,
- 346, 115, 328, nil, 520, 22, 273, 23, nil, nil,
- nil, nil, 137, nil, 232, 3, nil, nil, nil, nil,
- nil, 244, nil, 268, 93, nil, 4, nil, nil, 55,
- 186, nil, 184, nil, nil, 169, nil, nil, 165, nil,
- nil, 138, 142, 61, 117, nil, nil, nil, 115, 12,
- 121, nil, 123, 152, 202, nil, nil, 225, 259, 79,
- 305, 325, nil, 354, 325, nil, 339, nil, 189, nil,
- 334, 239, nil, 197, 311, nil, 193, 249, nil, nil,
- nil, 6, nil, nil, nil, 65, 278, nil, 200, 210,
- 6, -6, 482, nil, nil, 269, 2, 414, 390, 108,
- 68, 260, nil, nil, 327, 52, 8, 80, nil, nil,
- nil, 91, 86, 86, nil, nil, 88, 2, 103, 109,
- nil, nil, 93, 451, nil, nil, nil, nil, nil, nil,
- 426, nil, 102, nil, nil, 221, nil, 412, 470, nil,
- nil, nil, nil, 163, nil, 369, nil, nil, 73, nil,
- nil, 5, nil, nil, 155, nil, 174, 334, nil, nil,
- nil, 317, nil, 178, nil, nil, 202, 173, 119, nil,
- 212, 353, 212, 217, 51, nil, 230, 245, 217, 250,
- 143, nil, 211, nil, 172, nil, nil, nil, 255, nil,
- 273, 275, 282, 288, nil, 282, nil, nil, 183, nil,
- 144, nil, nil, 317, 195, nil, nil, nil, nil, 131,
- 125, nil, nil, 57, nil, 274, nil, 338, nil, nil,
- nil, nil, nil, 353, nil, 353, 295, 355, 311, nil,
- nil, nil, nil, nil, nil, 501, nil, nil, nil, 350,
- 255, nil, nil ]
+ 597, 334, nil, nil, nil, -26, nil, nil, nil, 6,
+ nil, -15, nil, -14, 308, nil, 114, nil, 132, 15,
+ nil, 96, nil, 328, 41, 281, 315, nil, 578, 282,
+ nil, nil, 138, nil, 252, nil, 3, nil, nil, nil,
+ nil, 251, nil, 91, 115, nil, 248, nil, 47, nil,
+ nil, 216, nil, 206, 206, nil, nil, 203, nil, nil,
+ nil, 166, 4, 160, 174, nil, 151, 124, 12, nil,
+ 177, nil, nil, 179, 207, nil, 225, nil, 235, nil,
+ 323, 199, 289, 335, nil, 343, 316, nil, 294, nil,
+ -2, nil, 279, 313, nil, 73, 263, nil, 23, -4,
+ 124, nil, nil, nil, -16, nil, nil, nil, 119, nil,
+ 220, 222, 49, 28, nil, nil, 181, 559, 280, 235,
+ 257, 96, 80, 280, nil, 116, nil, 24, 99, nil,
+ 100, 84, nil, nil, nil, 115, 111, nil, 122, 49,
+ nil, 133, nil, 140, nil, 145, nil, nil, nil, 502,
+ nil, nil, nil, 477, nil, 259, 217, 47, nil, nil,
+ 111, nil, nil, nil, nil, nil, 202, nil, 22, nil,
+ nil, nil, 326, nil, 5, nil, 191, nil, 192, nil,
+ nil, 214, nil, nil, 298, nil, 121, nil, nil, 221,
+ 196, 65, nil, 336, 234, 225, 33, nil, 458, 257,
+ 258, 89, 263, 242, nil, 521, nil, 389, -3, nil,
+ 278, nil, 283, 285, 287, nil, nil, nil, nil, 286,
+ nil, 68, nil, 156, nil, nil, 316, 174, nil, nil,
+ nil, 71, 181, nil, nil, 43, nil, 370, nil, nil,
+ nil, nil, 324, nil, nil, nil, 331, 241, 333, 335,
+ nil, 414, nil, nil, nil, nil, nil, nil, 540, nil,
+ nil, nil, 433, 345, nil, nil ]
racc_action_default = [
- -135, -161, -16, -5, -129, -161, -6, -7, -161, -161,
- -8, -161, -9, -39, -10, -161, -11, -161, -38, -12,
- -161, -161, -161, -13, -1, -161, -35, -161, -14, -2,
- -15, -3, -161, -128, -135, -135, -133, -130, -132, -134,
- -34, -161, -37, -135, -135, -154, -161, -27, -19, -161,
- -20, -90, -21, -91, -22, -58, -24, -25, -161, -26,
- -28, -87, -161, -161, -81, -92, -83, -85, -80, -58,
- -161, -98, -84, -79, -59, -118, -86, -82, -161, -161,
- -67, -161, -119, -121, -67, -4, -135, -36, -67, -66,
- -161, -161, -148, -161, -161, -146, -161, -135, -58, -52,
- -51, -161, -43, -45, -42, -161, -161, -18, -161, -161,
- -161, -161, -161, -156, -71, -161, -161, -161, -161, -161,
- -159, -161, -68, 263, -161, -159, -136, -161, -137, -116,
- -54, -159, -161, -62, -63, -65, -61, -58, -64, -60,
- -59, -117, -56, -161, -153, -152, -149, -150, -151, -147,
- -161, -131, -161, -48, -47, -161, -41, -161, -161, -40,
- -17, -93, -23, -161, -29, -161, -155, -157, -161, -158,
- -89, -161, -113, -112, -58, -115, -161, -161, -114, -106,
- -107, -161, -100, -161, -104, -94, -161, -160, -161, -120,
- -161, -145, -143, -161, -161, -140, -161, -161, -67, -161,
- -57, -125, -161, -127, -161, -46, -44, -49, -75, -77,
- -74, -78, -73, -76, -50, -96, -72, -88, -161, -109,
- -159, -101, -99, -161, -161, -32, -69, -70, -33, -161,
- -161, -138, -139, -161, -123, -161, -31, -159, -30, -55,
- -124, -126, -95, -161, -111, -161, -161, -158, -161, -105,
- -144, -142, -141, -122, -53, -161, -108, -110, -103, -161,
- -161, -102, -97 ]
+ -138, -164, -15, -3, -132, -164, -16, -5, -6, -164,
+ -7, -164, -8, -164, -39, -9, -164, -10, -164, -38,
+ -11, -164, -12, -164, -164, -35, -164, -13, -1, -164,
+ -14, -2, -164, -131, -138, -136, -138, -135, -133, -137,
+ -34, -164, -37, -138, -138, -157, -164, -27, -164, -19,
+ -92, -20, -93, -21, -59, -22, -24, -164, -25, -26,
+ -28, -83, -164, -88, -164, -94, -89, -82, -59, -84,
+ -81, -58, -86, -85, -60, -121, -164, -100, -80, -87,
+ -164, -164, -68, -124, -122, -164, -138, -36, -68, -4,
+ -68, -67, -164, -164, -151, -164, -164, -149, -164, -164,
+ -138, -59, -52, -51, -164, -43, -45, -42, -164, -18,
+ -164, -164, -164, -164, -159, -72, -164, -164, -164, -164,
+ -164, -164, -162, -164, -69, -164, 266, -139, -164, -140,
+ -162, -56, -119, -118, -54, -162, -164, -120, -63, -59,
+ -64, -62, -66, -65, -60, -61, -152, -156, -155, -164,
+ -153, -154, -150, -164, -134, -164, -164, -164, -48, -47,
+ -164, -41, -40, -17, -95, -23, -164, -29, -164, -158,
+ -160, -161, -164, -91, -164, -115, -59, -114, -164, -117,
+ -116, -164, -108, -109, -164, -102, -164, -106, -96, -164,
+ -163, -164, -123, -148, -146, -164, -164, -143, -164, -164,
+ -164, -57, -164, -68, -128, -164, -130, -164, -77, -49,
+ -76, -78, -75, -79, -74, -50, -46, -44, -73, -98,
+ -90, -162, -111, -164, -103, -101, -164, -164, -32, -70,
+ -71, -164, -164, -141, -142, -164, -126, -164, -33, -30,
+ -55, -31, -162, -127, -129, -97, -164, -164, -164, -161,
+ -113, -164, -107, -147, -145, -144, -125, -53, -164, -112,
+ -110, -105, -164, -164, -104, -99 ]
racc_goto_table = [
- 24, 85, 59, 60, 37, 76, 180, 76, 135, 120,
- 82, 182, 57, 125, 71, 20, 78, 131, 195, 176,
- 184, 115, 76, 186, 130, 129, 48, 56, 190, 207,
- 214, 89, 226, 168, 197, 59, 60, 101, 106, 76,
- 206, 42, 100, 100, 62, 57, 242, 181, 109, 199,
- 142, 179, 141, 76, 129, 129, 162, 99, 99, 108,
- 56, 220, 114, 29, 83, 34, 219, 127, 90, 76,
- 35, 94, 171, 193, 221, 194, 40, 139, 119, 176,
- 149, 141, 141, 184, 146, 86, nil, 138, nil, nil,
- 134, 152, 151, nil, 129, 129, 100, 92, 95, 59,
- nil, 164, 136, nil, 133, 59, 178, 178, nil, 57,
- nil, 99, 165, 189, 129, 57, 175, 175, 129, nil,
- 135, 213, 213, 245, 56, 252, 249, 237, nil, nil,
- 56, 173, 173, 172, 172, 257, 239, 129, 246, nil,
- 254, 141, 85, 202, nil, 141, 212, 212, 176, 128,
- 204, 145, nil, nil, 100, nil, 211, 211, 76, 209,
- 209, 129, nil, nil, 141, nil, 178, 216, nil, 99,
- 178, 210, 210, 208, 208, nil, 175, nil, 76, 85,
- 175, 85, nil, 129, nil, nil, nil, 227, 141, 139,
- nil, 173, nil, 172, nil, 173, 235, 172, nil, 138,
- nil, nil, 134, nil, nil, nil, nil, nil, 76, nil,
- 141, nil, 85, 178, 136, nil, 133, 244, nil, 76,
- 76, nil, nil, 175, nil, nil, nil, nil, 250, 251,
- nil, nil, nil, nil, nil, 178, 85, 85, 173, nil,
- 172, nil, nil, nil, nil, 175, nil, nil, 259, nil,
- nil, nil, nil, nil, nil, 260, nil, nil, nil, nil,
- 173, nil, 172 ]
+ 28, 89, 183, 168, 197, 59, 23, 185, 122, 58,
+ 38, 34, 84, 77, 130, 80, 135, 140, 116, 31,
+ 56, 142, 60, 134, 79, 49, 79, 104, 108, 91,
+ 86, 229, 181, 187, 189, 209, 215, 59, 103, 103,
+ 79, 58, 199, 217, 42, 111, 64, 202, 245, 102,
+ 102, 184, 56, 94, 60, 97, 79, 110, 200, 115,
+ 131, 222, 182, 165, 221, 83, 128, 93, 36, 96,
+ 79, 224, 174, 195, 196, 40, 152, 146, 121, nil,
+ nil, 145, 211, 211, 157, 143, nil, nil, nil, 79,
+ nil, 181, nil, 133, nil, 103, 141, 187, 148, 154,
+ nil, nil, nil, 59, nil, 129, 102, 58, 247, 59,
+ 180, 180, 255, 58, 179, 179, 192, 172, 56, nil,
+ nil, 167, 133, 133, 56, 177, 177, nil, 140, 242,
+ 259, nil, 142, 248, 240, nil, nil, nil, nil, nil,
+ 252, nil, nil, nil, nil, 89, 214, 214, nil, 205,
+ 213, 213, nil, 207, 257, 103, nil, nil, 133, 133,
+ 181, 212, 212, nil, nil, 218, 102, nil, nil, 180,
+ nil, nil, nil, 179, nil, 180, 79, nil, 89, 179,
+ 89, 133, 132, nil, 177, nil, nil, 133, 230, nil,
+ 177, nil, 145, nil, 138, nil, 143, 137, 237, 79,
+ nil, nil, nil, nil, 133, nil, nil, 141, nil, nil,
+ 89, 132, 132, nil, nil, nil, nil, nil, 180, nil,
+ 250, nil, 179, 175, 175, nil, 137, 137, 253, 254,
+ 133, 79, nil, 177, nil, 89, 89, nil, 180, 79,
+ 79, nil, 179, nil, nil, nil, nil, 208, 208, nil,
+ 133, 262, nil, 177, nil, nil, nil, nil, 263, 210,
+ 210, nil, 137, 137, nil, nil, nil, nil, nil, nil,
+ 132, nil, nil, nil, nil, nil, 132, nil, nil, nil,
+ nil, nil, 175, nil, nil, 137, nil, nil, 175, nil,
+ nil, 137, nil, 132, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 138, nil, nil, 137, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 132,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 175, nil, nil, 137, nil, nil, nil, nil, 132,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 175, nil, nil, 137 ]
racc_goto_check = [
- 2, 4, 23, 24, 64, 24, 57, 24, 43, 28,
- 23, 53, 22, 28, 44, 1, 44, 28, 67, 55,
- 55, 46, 24, 29, 39, 49, 17, 21, 29, 38,
- 38, 44, 45, 47, 29, 23, 24, 33, 33, 24,
- 34, 32, 22, 22, 50, 22, 51, 52, 44, 27,
- 26, 56, 48, 24, 49, 49, 20, 21, 21, 17,
- 21, 58, 44, 3, 59, 25, 57, 60, 61, 24,
- 62, 63, 18, 65, 53, 66, 5, 23, 44, 55,
- 68, 48, 48, 55, 69, 25, nil, 22, nil, nil,
- 42, 33, 64, nil, 49, 49, 22, 3, 3, 23,
- nil, 24, 21, nil, 41, 23, 23, 23, nil, 22,
- nil, 21, 2, 23, 49, 22, 22, 22, 49, nil,
- 43, 48, 48, 29, 21, 67, 55, 28, nil, nil,
- 21, 21, 21, 41, 41, 57, 39, 49, 47, nil,
- 29, 48, 4, 2, nil, 48, 23, 23, 55, 3,
- 2, 25, nil, nil, 22, nil, 22, 22, 24, 42,
- 42, 49, nil, nil, 48, nil, 23, 44, nil, 21,
- 23, 21, 21, 41, 41, nil, 22, nil, 24, 4,
- 22, 4, nil, 49, nil, nil, nil, 44, 48, 23,
- nil, 21, nil, 41, nil, 21, 2, 41, nil, 22,
- nil, nil, 42, nil, nil, nil, nil, nil, 24, nil,
- 48, nil, 4, 23, 21, nil, 41, 44, nil, 24,
- 24, nil, nil, 22, nil, nil, nil, nil, 44, 44,
- nil, nil, nil, nil, nil, 23, 4, 4, 21, nil,
- 41, nil, nil, nil, nil, 22, nil, nil, 2, nil,
- nil, nil, nil, nil, nil, 2, nil, nil, nil, nil,
- 21, nil, 41 ]
+ 2, 4, 58, 48, 68, 23, 1, 54, 28, 22,
+ 65, 25, 23, 45, 28, 45, 28, 43, 47, 3,
+ 21, 44, 24, 39, 24, 17, 24, 33, 33, 45,
+ 25, 46, 56, 56, 29, 38, 38, 23, 22, 22,
+ 24, 22, 29, 34, 32, 45, 51, 29, 52, 21,
+ 21, 53, 21, 3, 24, 3, 24, 17, 27, 45,
+ 26, 58, 57, 20, 59, 60, 61, 62, 63, 64,
+ 24, 54, 18, 66, 67, 5, 69, 70, 45, nil,
+ nil, 23, 43, 43, 33, 22, nil, nil, nil, 24,
+ nil, 56, nil, 50, nil, 22, 21, 56, 25, 65,
+ nil, nil, nil, 23, nil, 3, 21, 22, 48, 23,
+ 23, 23, 68, 22, 22, 22, 23, 2, 21, nil,
+ nil, 24, 50, 50, 21, 21, 21, nil, 43, 28,
+ 58, nil, 44, 29, 39, nil, nil, nil, nil, nil,
+ 56, nil, nil, nil, nil, 4, 23, 23, nil, 2,
+ 22, 22, nil, 2, 29, 22, nil, nil, 50, 50,
+ 56, 21, 21, nil, nil, 45, 21, nil, nil, 23,
+ nil, nil, nil, 22, nil, 23, 24, nil, 4, 22,
+ 4, 50, 49, nil, 21, nil, nil, 50, 45, nil,
+ 21, nil, 23, nil, 42, nil, 22, 41, 2, 24,
+ nil, nil, nil, nil, 50, nil, nil, 21, nil, nil,
+ 4, 49, 49, nil, nil, nil, nil, nil, 23, nil,
+ 45, nil, 22, 42, 42, nil, 41, 41, 45, 45,
+ 50, 24, nil, 21, nil, 4, 4, nil, 23, 24,
+ 24, nil, 22, nil, nil, nil, nil, 49, 49, nil,
+ 50, 2, nil, 21, nil, nil, nil, nil, 2, 42,
+ 42, nil, 41, 41, nil, nil, nil, nil, nil, nil,
+ 49, nil, nil, nil, nil, nil, 49, nil, nil, nil,
+ nil, nil, 42, nil, nil, 41, nil, nil, 42, nil,
+ nil, 41, nil, 49, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 42, nil, nil, 41, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 49,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 42, nil, nil, 41, nil, nil, nil, nil, 49,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 42, nil, nil, 41 ]
racc_goto_pointer = [
- nil, 15, 0, 63, -23, 67, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, 13, -44, nil,
- -54, 14, -1, -11, -10, 60, -38, -93, -71, -97,
- nil, nil, 30, -6, -115, nil, nil, nil, -128, -64,
- nil, 16, 2, -80, -1, -155, -42, -82, -36, -63,
- 29, -169, -71, -107, nil, -98, -66, -111, -116, 43,
- -19, 34, 62, 36, -4, -53, -51, -108, -13, -7 ]
+ nil, 6, 0, 19, -27, 64, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, 11, -46, nil,
+ -49, 6, -5, -9, 8, 6, -30, -73, -74, -88,
+ nil, nil, 31, -16, -117, nil, nil, nil, -120, -67,
+ nil, 107, 104, -73, -69, -3, -159, -44, -113, 92,
+ 3, 30, -171, -69, -113, nil, -87, -57, -117, -114,
+ 44, -20, 33, 59, 33, 1, -54, -53, -123, -19,
+ -15 ]
racc_goto_default = [
- nil, nil, nil, 104, 31, 3, 6, 7, 10, 12,
- 14, 16, 19, 23, 28, 30, 2, nil, 50, 52,
- 54, 68, 72, 73, 22, 27, nil, nil, nil, nil,
- 9, 11, nil, nil, 102, 155, 103, 105, nil, nil,
- 132, 64, 66, 67, nil, 122, nil, nil, 77, 61,
- nil, nil, nil, nil, 183, 70, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil ]
+ nil, nil, nil, 107, 3, 7, 8, 10, 12, 15,
+ 17, 20, 22, 27, 30, 2, 6, nil, 51, 53,
+ 55, 70, 73, 78, 26, 29, nil, nil, nil, nil,
+ 11, 13, nil, nil, 105, 160, 106, 99, nil, nil,
+ 136, 66, 67, 69, 72, nil, 124, nil, nil, 61,
+ 63, nil, nil, nil, nil, 186, 76, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil ]
racc_token_table = {
false => 0,
@@ -731,11 +766,12 @@ racc_token_table = {
:CLASSREF => 46,
:NOT => 47,
:OR => 48,
- :AND => 49 }
+ :AND => 49,
+ :UNDEF => 50 }
racc_use_result_var = true
-racc_nt_base = 50
+racc_nt_base = 51
Racc_arg = [
racc_action_table,
@@ -804,6 +840,7 @@ Racc_token_to_s_table = [
'NOT',
'OR',
'AND',
+'UNDEF',
'$start',
'program',
'statements',
@@ -845,6 +882,7 @@ Racc_token_to_s_table = [
'simplervalue',
'resourceinst',
'resourcename',
+'undef',
'type',
'selector',
'array',
@@ -881,7 +919,7 @@ Racc_debug_parser = false
# reduce 0 omitted
-module_eval <<'.,.,', 'grammar.ra', 33
+module_eval <<'.,.,', 'grammar.ra', 30
def _reduce_1( val, _values, result )
if val[0]
# Make sure we always return an array.
@@ -905,7 +943,7 @@ module_eval <<'.,.,', 'grammar.ra', 33
# reduce 3 omitted
-module_eval <<'.,.,', 'grammar.ra', 49
+module_eval <<'.,.,', 'grammar.ra', 46
def _reduce_4( val, _values, result )
if val[0] and val[1]
if val[0].instance_of?(AST::ASTArray)
@@ -946,7 +984,7 @@ module_eval <<'.,.,', 'grammar.ra', 49
# reduce 16 omitted
-module_eval <<'.,.,', 'grammar.ra', 71
+module_eval <<'.,.,', 'grammar.ra', 68
def _reduce_17( val, _values, result )
args = aryfy(val[2])
result = ast AST::Function,
@@ -957,7 +995,7 @@ module_eval <<'.,.,', 'grammar.ra', 71
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 77
+module_eval <<'.,.,', 'grammar.ra', 74
def _reduce_18( val, _values, result )
result = ast AST::Function,
:name => val[0],
@@ -967,7 +1005,7 @@ module_eval <<'.,.,', 'grammar.ra', 77
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 84
+module_eval <<'.,.,', 'grammar.ra', 81
def _reduce_19( val, _values, result )
args = aryfy(val[1])
result = ast AST::Function,
@@ -984,7 +1022,7 @@ module_eval <<'.,.,', 'grammar.ra', 84
# reduce 22 omitted
-module_eval <<'.,.,', 'grammar.ra', 94
+module_eval <<'.,.,', 'grammar.ra', 91
def _reduce_23( val, _values, result )
result = aryfy(val[0], val[2])
result.line = @lexer.line
@@ -999,7 +1037,7 @@ module_eval <<'.,.,', 'grammar.ra', 94
# reduce 26 omitted
-module_eval <<'.,.,', 'grammar.ra', 101
+module_eval <<'.,.,', 'grammar.ra', 98
def _reduce_27( val, _values, result )
result = ast AST::Name, :value => val[0]
result
@@ -1008,7 +1046,7 @@ module_eval <<'.,.,', 'grammar.ra', 101
# reduce 28 omitted
-module_eval <<'.,.,', 'grammar.ra', 112
+module_eval <<'.,.,', 'grammar.ra', 109
def _reduce_29( val, _values, result )
unless val[0].is_a?(AST::ASTArray)
val[0] = aryfy(val[0])
@@ -1021,7 +1059,7 @@ module_eval <<'.,.,', 'grammar.ra', 112
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 133
+module_eval <<'.,.,', 'grammar.ra', 130
def _reduce_30( val, _values, result )
array = val[2]
if array.instance_of?(AST::ResourceInst)
@@ -1045,7 +1083,7 @@ module_eval <<'.,.,', 'grammar.ra', 133
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 136
+module_eval <<'.,.,', 'grammar.ra', 133
def _reduce_31( val, _values, result )
# This is a deprecated syntax.
error "All resource specifications require names"
@@ -1053,7 +1091,7 @@ module_eval <<'.,.,', 'grammar.ra', 136
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 139
+module_eval <<'.,.,', 'grammar.ra', 136
def _reduce_32( val, _values, result )
# a defaults setting for a type
result = ast(AST::ResourceDefaults, :type => val[0], :params => val[2])
@@ -1061,14 +1099,14 @@ module_eval <<'.,.,', 'grammar.ra', 139
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 144
+module_eval <<'.,.,', 'grammar.ra', 141
def _reduce_33( val, _values, result )
result = ast AST::ResourceOverride, :object => val[0], :params => val[2]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 171
+module_eval <<'.,.,', 'grammar.ra', 168
def _reduce_34( val, _values, result )
type = val[0]
@@ -1096,21 +1134,21 @@ module_eval <<'.,.,', 'grammar.ra', 171
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 172
+module_eval <<'.,.,', 'grammar.ra', 169
def _reduce_35( val, _values, result )
result = :virtual
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 173
+module_eval <<'.,.,', 'grammar.ra', 170
def _reduce_36( val, _values, result )
result = :exported
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 196
+module_eval <<'.,.,', 'grammar.ra', 193
def _reduce_37( val, _values, result )
if val[0] =~ /^[a-z]/
Puppet.warning addcontext("Collection names must now be capitalized")
@@ -1137,7 +1175,7 @@ module_eval <<'.,.,', 'grammar.ra', 196
# reduce 39 omitted
-module_eval <<'.,.,', 'grammar.ra', 207
+module_eval <<'.,.,', 'grammar.ra', 204
def _reduce_40( val, _values, result )
if val[1]
result = val[1]
@@ -1149,7 +1187,7 @@ module_eval <<'.,.,', 'grammar.ra', 207
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 215
+module_eval <<'.,.,', 'grammar.ra', 212
def _reduce_41( val, _values, result )
if val[1]
result = val[1]
@@ -1165,7 +1203,7 @@ module_eval <<'.,.,', 'grammar.ra', 215
# reduce 43 omitted
-module_eval <<'.,.,', 'grammar.ra', 223
+module_eval <<'.,.,', 'grammar.ra', 220
def _reduce_44( val, _values, result )
result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
result
@@ -1174,7 +1212,7 @@ module_eval <<'.,.,', 'grammar.ra', 223
# reduce 45 omitted
-module_eval <<'.,.,', 'grammar.ra', 229
+module_eval <<'.,.,', 'grammar.ra', 226
def _reduce_46( val, _values, result )
result = val[1]
result.parens = true
@@ -1186,7 +1224,7 @@ module_eval <<'.,.,', 'grammar.ra', 229
# reduce 48 omitted
-module_eval <<'.,.,', 'grammar.ra', 237
+module_eval <<'.,.,', 'grammar.ra', 234
def _reduce_49( val, _values, result )
result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
#result = ast AST::CollExpr
@@ -1195,7 +1233,7 @@ module_eval <<'.,.,', 'grammar.ra', 237
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 242
+module_eval <<'.,.,', 'grammar.ra', 239
def _reduce_50( val, _values, result )
result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
#result = ast AST::CollExpr
@@ -1208,7 +1246,7 @@ module_eval <<'.,.,', 'grammar.ra', 242
# reduce 52 omitted
-module_eval <<'.,.,', 'grammar.ra', 249
+module_eval <<'.,.,', 'grammar.ra', 246
def _reduce_53( val, _values, result )
result = ast AST::ResourceInst, :children => [val[0],val[2]]
result
@@ -1217,7 +1255,7 @@ module_eval <<'.,.,', 'grammar.ra', 249
# reduce 54 omitted
-module_eval <<'.,.,', 'grammar.ra', 259
+module_eval <<'.,.,', 'grammar.ra', 256
def _reduce_55( val, _values, result )
if val[0].instance_of?(AST::ResourceInst)
result = ast AST::ASTArray, :children => [val[0],val[2]]
@@ -1233,21 +1271,26 @@ module_eval <<'.,.,', 'grammar.ra', 259
# reduce 57 omitted
-module_eval <<'.,.,', 'grammar.ra', 266
+module_eval <<'.,.,', 'grammar.ra', 263
def _reduce_58( val, _values, result )
- result = ast AST::Name, :value => val[0]
+ result = ast AST::Undef, :value => :undef
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 270
+module_eval <<'.,.,', 'grammar.ra', 267
def _reduce_59( val, _values, result )
- result = ast AST::Type, :value => val[0]
+ result = ast AST::Name, :value => val[0]
result
end
.,.,
- # reduce 60 omitted
+module_eval <<'.,.,', 'grammar.ra', 271
+ def _reduce_60( val, _values, result )
+ result = ast AST::Type, :value => val[0]
+ result
+ end
+.,.,
# reduce 61 omitted
@@ -1259,8 +1302,10 @@ module_eval <<'.,.,', 'grammar.ra', 270
# reduce 65 omitted
-module_eval <<'.,.,', 'grammar.ra', 286
- def _reduce_66( val, _values, result )
+ # reduce 66 omitted
+
+module_eval <<'.,.,', 'grammar.ra', 287
+ def _reduce_67( val, _values, result )
if val[0] =~ /::/
raise Puppet::ParseError, "Cannot assign to variables in other namespaces"
end
@@ -1271,22 +1316,22 @@ module_eval <<'.,.,', 'grammar.ra', 286
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 291
- def _reduce_67( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 292
+ def _reduce_68( val, _values, result )
result = ast AST::ASTArray
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 291
- def _reduce_68( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 292
+ def _reduce_69( val, _values, result )
result = val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 300
- def _reduce_69( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 301
+ def _reduce_70( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
val[0].push(val[2])
result = val[0]
@@ -1297,17 +1342,17 @@ module_eval <<'.,.,', 'grammar.ra', 300
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 304
- def _reduce_70( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 305
+ def _reduce_71( val, _values, result )
result = ast AST::ResourceParam, :param => val[0], :value => val[2]
result
end
.,.,
- # reduce 71 omitted
+ # reduce 72 omitted
-module_eval <<'.,.,', 'grammar.ra', 313
- def _reduce_72( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 314
+ def _reduce_73( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
result = val[0].push(val[2])
else
@@ -1317,8 +1362,6 @@ module_eval <<'.,.,', 'grammar.ra', 313
end
.,.,
- # reduce 73 omitted
-
# reduce 74 omitted
# reduce 75 omitted
@@ -1347,8 +1390,12 @@ module_eval <<'.,.,', 'grammar.ra', 313
# reduce 87 omitted
-module_eval <<'.,.,', 'grammar.ra', 339
- def _reduce_88( val, _values, result )
+ # reduce 88 omitted
+
+ # reduce 89 omitted
+
+module_eval <<'.,.,', 'grammar.ra', 341
+ def _reduce_90( val, _values, result )
args = aryfy(val[2])
result = ast AST::Function,
:name => val[0],
@@ -1358,8 +1405,8 @@ module_eval <<'.,.,', 'grammar.ra', 339
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 344
- def _reduce_89( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 346
+ def _reduce_91( val, _values, result )
result = ast AST::Function,
:name => val[0],
:arguments => AST::ASTArray.new({}),
@@ -1368,44 +1415,44 @@ module_eval <<'.,.,', 'grammar.ra', 344
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 348
- def _reduce_90( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 350
+ def _reduce_92( val, _values, result )
result = ast AST::String, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 350
- def _reduce_91( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 352
+ def _reduce_93( val, _values, result )
result = ast AST::FlatString, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 354
- def _reduce_92( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 356
+ def _reduce_94( val, _values, result )
result = ast AST::Boolean, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 359
- def _reduce_93( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 361
+ def _reduce_95( 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', 361
- def _reduce_94( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 363
+ def _reduce_96( val, _values, result )
result = ast AST::ResourceRef, :type => val[0], :title => val[2]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 374
- def _reduce_95( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 376
+ def _reduce_97( val, _values, result )
args = {
:test => val[1],
:statements => val[3]
@@ -1420,19 +1467,19 @@ module_eval <<'.,.,', 'grammar.ra', 374
end
.,.,
- # reduce 96 omitted
+ # reduce 98 omitted
-module_eval <<'.,.,', 'grammar.ra', 379
- def _reduce_97( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 381
+ def _reduce_99( val, _values, result )
result = ast AST::Else, :statements => val[2]
result
end
.,.,
- # reduce 98 omitted
+ # reduce 100 omitted
-module_eval <<'.,.,', 'grammar.ra', 391
- def _reduce_99( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 393
+ def _reduce_101( val, _values, result )
options = val[3]
unless options.instance_of?(AST::ASTArray)
options = ast AST::ASTArray, :children => [val[3]]
@@ -1442,10 +1489,10 @@ module_eval <<'.,.,', 'grammar.ra', 391
end
.,.,
- # reduce 100 omitted
+ # reduce 102 omitted
-module_eval <<'.,.,', 'grammar.ra', 401
- def _reduce_101( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 403
+ def _reduce_103( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
val[0].push val[1]
result = val[0]
@@ -1456,15 +1503,15 @@ module_eval <<'.,.,', 'grammar.ra', 401
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 405
- def _reduce_102( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 407
+ def _reduce_104( val, _values, result )
result = ast AST::CaseOpt, :value => val[0], :statements => val[3]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 410
- def _reduce_103( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 412
+ def _reduce_105( val, _values, result )
result = ast(AST::CaseOpt,
:value => val[0],
:statements => ast(AST::ASTArray)
@@ -1473,10 +1520,10 @@ module_eval <<'.,.,', 'grammar.ra', 410
end
.,.,
- # reduce 104 omitted
+ # reduce 106 omitted
-module_eval <<'.,.,', 'grammar.ra', 420
- def _reduce_105( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 422
+ def _reduce_107( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
val[0].push(val[2])
result = val[0]
@@ -1487,26 +1534,26 @@ module_eval <<'.,.,', 'grammar.ra', 420
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 424
- def _reduce_106( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 426
+ def _reduce_108( val, _values, result )
result = ast AST::Selector, :param => val[0], :values => val[2]
result
end
.,.,
- # reduce 107 omitted
+ # reduce 109 omitted
-module_eval <<'.,.,', 'grammar.ra', 426
- def _reduce_108( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 428
+ def _reduce_110( val, _values, result )
result = val[1]
result
end
.,.,
- # reduce 109 omitted
+ # reduce 111 omitted
-module_eval <<'.,.,', 'grammar.ra', 437
- def _reduce_110( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 439
+ def _reduce_112( val, _values, result )
if val[0].instance_of?(AST::ASTArray)
val[0].push(val[2])
result = val[0]
@@ -1517,17 +1564,13 @@ module_eval <<'.,.,', 'grammar.ra', 437
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 441
- def _reduce_111( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 443
+ def _reduce_113( val, _values, result )
result = ast AST::ResourceParam, :param => val[0], :value => val[2]
result
end
.,.,
- # reduce 112 omitted
-
- # reduce 113 omitted
-
# reduce 114 omitted
# reduce 115 omitted
@@ -1536,29 +1579,35 @@ module_eval <<'.,.,', 'grammar.ra', 441
# reduce 117 omitted
-module_eval <<'.,.,', 'grammar.ra', 451
- def _reduce_118( val, _values, result )
+ # reduce 118 omitted
+
+ # reduce 119 omitted
+
+ # reduce 120 omitted
+
+module_eval <<'.,.,', 'grammar.ra', 454
+ def _reduce_121( val, _values, result )
result = ast AST::Default, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 453
- def _reduce_119( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 456
+ def _reduce_122( val, _values, result )
result = [val[0].value]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 457
- def _reduce_120( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 460
+ def _reduce_123( val, _values, result )
results = val[0] << val[2].value
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 465
- def _reduce_121( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 468
+ def _reduce_124( val, _values, result )
val[1].each do |file|
import(file)
end
@@ -1568,8 +1617,8 @@ module_eval <<'.,.,', 'grammar.ra', 465
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 475
- def _reduce_122( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 478
+ def _reduce_125( val, _values, result )
interp.newdefine classname(val[1]), :arguments => val[2], :code => val[4]
@lexer.indefine = false
result = nil
@@ -1579,8 +1628,8 @@ module_eval <<'.,.,', 'grammar.ra', 475
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 479
- def _reduce_123( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 482
+ def _reduce_126( val, _values, result )
interp.newdefine classname(val[1]), :arguments => val[2]
@lexer.indefine = false
result = nil
@@ -1588,8 +1637,8 @@ module_eval <<'.,.,', 'grammar.ra', 479
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 487
- def _reduce_124( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 490
+ def _reduce_127( 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]
@@ -1598,8 +1647,8 @@ module_eval <<'.,.,', 'grammar.ra', 487
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 492
- def _reduce_125( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 495
+ def _reduce_128( val, _values, result )
# Our class gets defined in the parent namespace, not our own.
@lexer.namepop
interp.newclass classname(val[1]), :parent => val[2]
@@ -1608,30 +1657,30 @@ module_eval <<'.,.,', 'grammar.ra', 492
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 497
- def _reduce_126( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 500
+ def _reduce_129( val, _values, result )
interp.newnode val[1], :parent => val[2], :code => val[4]
result = nil
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 500
- def _reduce_127( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 503
+ def _reduce_130( val, _values, result )
interp.newnode val[1], :parent => val[2]
result = nil
result
end
.,.,
- # reduce 128 omitted
+ # reduce 131 omitted
- # reduce 129 omitted
+ # reduce 132 omitted
- # reduce 130 omitted
+ # reduce 133 omitted
-module_eval <<'.,.,', 'grammar.ra', 512
- def _reduce_131( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 515
+ def _reduce_134( val, _values, result )
result = val[0]
result = [result] unless result.is_a?(Array)
result << val[2]
@@ -1639,47 +1688,47 @@ module_eval <<'.,.,', 'grammar.ra', 512
end
.,.,
- # reduce 132 omitted
+ # reduce 135 omitted
- # reduce 133 omitted
+ # reduce 136 omitted
- # reduce 134 omitted
+ # reduce 137 omitted
-module_eval <<'.,.,', 'grammar.ra', 520
- def _reduce_135( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 523
+ def _reduce_138( val, _values, result )
result = nil
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 524
- def _reduce_136( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 527
+ def _reduce_139( val, _values, result )
result = ast AST::ASTArray, :children => []
result
end
.,.,
- # reduce 137 omitted
+ # reduce 140 omitted
-module_eval <<'.,.,', 'grammar.ra', 529
- def _reduce_138( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 532
+ def _reduce_141( val, _values, result )
result = nil
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 533
- def _reduce_139( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 536
+ def _reduce_142( val, _values, result )
result = val[1]
result = [result] unless result[0].is_a?(Array)
result
end
.,.,
- # reduce 140 omitted
+ # reduce 143 omitted
-module_eval <<'.,.,', 'grammar.ra', 540
- def _reduce_141( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 543
+ def _reduce_144( val, _values, result )
result = val[0]
result = [result] unless result[0].is_a?(Array)
result << val[2]
@@ -1687,71 +1736,71 @@ module_eval <<'.,.,', 'grammar.ra', 540
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 545
- def _reduce_142( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 548
+ def _reduce_145( val, _values, result )
Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
result = [val[0], val[2]]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 549
- def _reduce_143( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 552
+ def _reduce_146( val, _values, result )
Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
result = [val[0]]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 551
- def _reduce_144( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 554
+ def _reduce_147( val, _values, result )
result = [val[0], val[2]]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 553
- def _reduce_145( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 556
+ def _reduce_148( val, _values, result )
result = [val[0]]
result
end
.,.,
- # reduce 146 omitted
+ # reduce 149 omitted
-module_eval <<'.,.,', 'grammar.ra', 558
- def _reduce_147( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 561
+ def _reduce_150( val, _values, result )
result = val[1]
result
end
.,.,
- # reduce 148 omitted
+ # reduce 151 omitted
-module_eval <<'.,.,', 'grammar.ra', 563
- def _reduce_149( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 566
+ def _reduce_152( val, _values, result )
result = val[1]
result
end
.,.,
- # reduce 150 omitted
+ # reduce 153 omitted
- # reduce 151 omitted
+ # reduce 154 omitted
- # reduce 152 omitted
+ # reduce 155 omitted
- # reduce 153 omitted
+ # reduce 156 omitted
-module_eval <<'.,.,', 'grammar.ra', 570
- def _reduce_154( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 573
+ def _reduce_157( val, _values, result )
result = ast AST::Variable, :value => val[0]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 578
- def _reduce_155( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 581
+ def _reduce_158( val, _values, result )
if val[1].instance_of?(AST::ASTArray)
result = val[1]
else
@@ -1761,21 +1810,21 @@ module_eval <<'.,.,', 'grammar.ra', 578
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 580
- def _reduce_156( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 583
+ def _reduce_159( val, _values, result )
result = ast AST::ASTArray
result
end
.,.,
- # reduce 157 omitted
+ # reduce 160 omitted
- # reduce 158 omitted
+ # reduce 161 omitted
- # reduce 159 omitted
+ # reduce 162 omitted
-module_eval <<'.,.,', 'grammar.ra', 585
- def _reduce_160( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 588
+ def _reduce_163( val, _values, result )
result = nil
result
end
diff --git a/lib/puppet/parser/resource.rb b/lib/puppet/parser/resource.rb
index d00c8d50f..6dcfd36c3 100644
--- a/lib/puppet/parser/resource.rb
+++ b/lib/puppet/parser/resource.rb
@@ -260,7 +260,10 @@ class Puppet::Parser::Resource
def to_hash
@params.inject({}) do |hash, ary|
param = ary[1]
- hash[param.name] = param.value
+ # Skip "undef" values.
+ if param.value != :undef
+ hash[param.name] = param.value
+ end
hash
end
end
diff --git a/lib/puppet/parser/scope.rb b/lib/puppet/parser/scope.rb
index b792346fa..c7b36e36c 100644
--- a/lib/puppet/parser/scope.rb
+++ b/lib/puppet/parser/scope.rb
@@ -48,7 +48,7 @@ class Puppet::Parser::Scope
# Is the value true? This allows us to control the definition of truth
# in one place.
def self.true?(value)
- if value == false or value == ""
+ if value == false or value == "" or value == :undef
return false
else
return true
@@ -414,7 +414,11 @@ class Puppet::Parser::Scope
end
# We can't use "if @symtable[name]" here because the value might be false
if @symtable.include?(name)
- return @symtable[name]
+ if usestring and @symtable[name] == :undef
+ return ""
+ else
+ return @symtable[name]
+ end
elsif self.parent
return @parent.lookupvar(name, usestring)
elsif usestring