summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/parser.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/parser/parser.rb')
-rw-r--r--lib/puppet/parser/parser.rb739
1 files changed, 330 insertions, 409 deletions
diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb
index 3b42bd8d7..4f689755e 100644
--- a/lib/puppet/parser/parser.rb
+++ b/lib/puppet/parser/parser.rb
@@ -31,7 +31,7 @@ module Puppet
class Parser < Racc::Parser
-module_eval <<'..end grammar.ra modeval..ida89b5273aa', 'grammar.ra', 573
+module_eval <<'..end grammar.ra modeval..id21701493a9', 'grammar.ra', 648
attr_writer :stack
attr_reader :file
@@ -132,279 +132,212 @@ end
def string=(string)
@lexer.string = string
end
-..end grammar.ra modeval..ida89b5273aa
+..end grammar.ra modeval..id21701493a9
##### racc 1.4.4 generates ###
racc_reduce_table = [
0, 0, :racc_error,
- 1, 38, :_reduce_1,
- 1, 39, :_reduce_none,
- 2, 39, :_reduce_3,
- 1, 40, :_reduce_none,
- 1, 40, :_reduce_none,
- 1, 40, :_reduce_none,
- 1, 40, :_reduce_none,
- 1, 40, :_reduce_none,
- 1, 40, :_reduce_none,
- 1, 40, :_reduce_none,
- 5, 41, :_reduce_11,
- 5, 41, :_reduce_12,
- 5, 41, :_reduce_13,
- 3, 54, :_reduce_14,
- 1, 49, :_reduce_none,
- 3, 49, :_reduce_16,
- 0, 50, :_reduce_none,
+ 1, 40, :_reduce_1,
+ 1, 41, :_reduce_none,
+ 2, 41, :_reduce_3,
+ 1, 42, :_reduce_none,
+ 1, 42, :_reduce_none,
+ 1, 42, :_reduce_none,
+ 1, 42, :_reduce_none,
+ 1, 42, :_reduce_none,
+ 1, 42, :_reduce_none,
+ 5, 43, :_reduce_10,
+ 5, 43, :_reduce_11,
+ 5, 43, :_reduce_12,
+ 3, 55, :_reduce_13,
1, 50, :_reduce_none,
- 1, 48, :_reduce_19,
- 1, 53, :_reduce_20,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 1, 55, :_reduce_none,
- 3, 42, :_reduce_26,
- 0, 51, :_reduce_27,
- 1, 51, :_reduce_28,
- 3, 51, :_reduce_29,
- 3, 60, :_reduce_30,
+ 3, 50, :_reduce_15,
+ 0, 51, :_reduce_none,
+ 1, 51, :_reduce_none,
+ 1, 49, :_reduce_18,
+ 1, 54, :_reduce_19,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 1, 56, :_reduce_none,
+ 3, 44, :_reduce_25,
+ 0, 52, :_reduce_26,
+ 1, 52, :_reduce_27,
+ 3, 52, :_reduce_28,
+ 3, 62, :_reduce_29,
+ 1, 63, :_reduce_none,
+ 3, 63, :_reduce_31,
1, 61, :_reduce_none,
- 3, 61, :_reduce_32,
- 1, 59, :_reduce_none,
- 1, 59, :_reduce_none,
- 1, 59, :_reduce_none,
- 1, 59, :_reduce_none,
- 1, 59, :_reduce_none,
- 1, 59, :_reduce_none,
- 1, 59, :_reduce_none,
- 1, 59, :_reduce_none,
- 1, 59, :_reduce_none,
- 1, 56, :_reduce_42,
- 1, 63, :_reduce_43,
- 4, 64, :_reduce_44,
- 5, 44, :_reduce_45,
- 10, 44, :_reduce_46,
- 9, 44, :_reduce_47,
- 5, 66, :_reduce_48,
- 6, 66, :_reduce_49,
- 1, 65, :_reduce_none,
- 3, 65, :_reduce_51,
- 1, 67, :_reduce_none,
- 1, 67, :_reduce_none,
- 1, 67, :_reduce_none,
- 1, 67, :_reduce_none,
- 1, 67, :_reduce_none,
+ 1, 61, :_reduce_none,
+ 1, 61, :_reduce_none,
+ 1, 61, :_reduce_none,
+ 1, 61, :_reduce_none,
+ 1, 61, :_reduce_none,
+ 1, 61, :_reduce_none,
+ 1, 61, :_reduce_none,
+ 1, 61, :_reduce_none,
+ 1, 57, :_reduce_41,
+ 1, 65, :_reduce_42,
+ 4, 66, :_reduce_43,
+ 5, 45, :_reduce_44,
1, 67, :_reduce_none,
- 3, 43, :_reduce_58,
- 1, 68, :_reduce_none,
- 3, 68, :_reduce_60,
- 1, 70, :_reduce_none,
- 3, 70, :_reduce_62,
- 3, 69, :_reduce_63,
- 1, 71, :_reduce_none,
+ 2, 67, :_reduce_46,
+ 5, 68, :_reduce_47,
+ 1, 69, :_reduce_none,
+ 3, 69, :_reduce_49,
+ 3, 58, :_reduce_50,
1, 71, :_reduce_none,
- 1, 71, :_reduce_none,
- 2, 45, :_reduce_67,
- 6, 46, :_reduce_68,
- 7, 47, :_reduce_69,
- 0, 74, :_reduce_70,
- 1, 72, :_reduce_none,
- 3, 72, :_reduce_72,
- 3, 72, :_reduce_73,
- 1, 75, :_reduce_none,
- 3, 75, :_reduce_75,
- 3, 76, :_reduce_76,
- 1, 76, :_reduce_77,
+ 3, 71, :_reduce_52,
1, 73, :_reduce_none,
- 2, 73, :_reduce_79,
- 1, 57, :_reduce_80,
- 3, 58, :_reduce_81,
- 1, 62, :_reduce_none,
- 1, 62, :_reduce_none,
- 0, 52, :_reduce_none,
- 1, 52, :_reduce_85 ]
+ 3, 73, :_reduce_54,
+ 3, 72, :_reduce_55,
+ 1, 70, :_reduce_56,
+ 1, 70, :_reduce_57,
+ 1, 70, :_reduce_58,
+ 1, 70, :_reduce_59,
+ 2, 46, :_reduce_60,
+ 6, 47, :_reduce_61,
+ 7, 48, :_reduce_62,
+ 0, 76, :_reduce_63,
+ 1, 74, :_reduce_none,
+ 3, 74, :_reduce_65,
+ 3, 74, :_reduce_66,
+ 1, 77, :_reduce_none,
+ 3, 77, :_reduce_68,
+ 3, 78, :_reduce_69,
+ 1, 78, :_reduce_70,
+ 1, 75, :_reduce_none,
+ 2, 75, :_reduce_72,
+ 1, 59, :_reduce_73,
+ 3, 60, :_reduce_74,
+ 1, 64, :_reduce_none,
+ 1, 64, :_reduce_none,
+ 0, 53, :_reduce_none,
+ 1, 53, :_reduce_78 ]
-racc_reduce_n = 86
+racc_reduce_n = 79
-racc_shift_n = 153
+racc_shift_n = 134
racc_action_table = [
- 22, 24, 22, 24, 1, 54, 5, 9, 39, 12,
- 14, 22, 24, 22, 24, 82, 3, 7, 116, 84,
- 85, 59, 22, 24, 115, 28, 126, 28, 96, 31,
- 108, 31, 3, 7, 3, 7, 28, 59, 28, 62,
- 31, 7, 31, 3, 7, 3, 7, 28, 22, 24,
- 89, 31, 56, 57, 3, 7, 97, 22, 24, 22,
- 24, 22, 24, 128, 22, 24, 129, 113, 56, 57,
- 22, 24, 114, 28, 98, 22, 24, 31, 59, 103,
- 3, 7, 28, 80, 28, 80, 28, 63, 31, 28,
- 7, 3, 7, 31, 69, 28, 3, 7, 133, 31,
- 28, 121, 3, 7, 31, 22, 24, 3, 7, 56,
- 57, 122, 136, 80, 1, 137, 5, 9, 124, 12,
- 14, 125, 111, 109, 84, 85, 3, 7, 102, 102,
- 28, 78, 63, 55, 31, 44, 134, 3, 7, 1,
- 140, 5, 9, 99, 12, 14, 98, 138, 37, 80,
- 37, 3, 7, 141, 152, 44, 1, 42, 5, 9,
- 144, 12, 14, 41, 146, 40, 39, 38, 3, 7,
- 1, 151, 5, 9, 37, 12, 14, 36, 7, nil,
- nil, nil, 3, 7, nil, 149, nil, 1, nil, 5,
- 9, nil, 12, 14, nil, nil, nil, nil, nil, 3,
- 7, 1, 147, 5, 9, nil, 12, 14, nil, nil,
- nil, nil, nil, 3, 7, nil, nil, nil, 1, nil,
- 5, 9, nil, 12, 14, nil, nil, nil, nil, nil,
- 3, 7, 1, nil, 5, 9, nil, 12, 14, nil,
- nil, nil, nil, nil, 3, 7, 1, nil, 5, 9,
- nil, 12, 14, nil, nil, nil, nil, nil, 3, 7,
- 1, nil, 5, 9, nil, 12, 14, nil, nil, nil,
- nil, nil, 3, 7, 1, nil, 5, 9, nil, 12,
- 14, nil, nil, nil, nil, nil, 3, 7, 1, nil,
- 5, 9, nil, 12, 14, nil, nil, nil, nil, nil,
- 3, 7, 1, nil, 5, 9, nil, 12, 14, nil,
- nil, nil, nil, nil, 3, 7, 1, nil, 5, 9,
- nil, 12, 14, nil, nil, nil, nil, nil, 3, 7,
- 1, nil, 5, 9, nil, 12, 14, nil, nil, nil,
- nil, nil, 3, 7, 48, 49, 50, 51, 52, 53 ]
+ 76, 110, 79, 98, 48, 76, 89, 76, 91, 97,
+ 108, 70, 76, 93, 76, 71, 72, 88, 124, 76,
+ 71, 72, 91, 22, 24, 109, 88, 47, 22, 24,
+ 36, 74, 75, 22, 24, 78, 74, 75, 74, 75,
+ 78, 99, 78, 74, 75, 74, 75, 78, 27, 78,
+ 74, 75, 31, 27, 78, 2, 5, 31, 27, 100,
+ 2, 5, 31, 22, 24, 2, 5, 5, 22, 24,
+ 22, 24, 63, 22, 24, 103, 62, 106, 41, 22,
+ 24, 40, 63, 46, 22, 24, 87, 114, 27, 22,
+ 24, 63, 116, 27, 46, 27, 53, 31, 27, 31,
+ 2, 5, 2, 5, 27, 133, 5, 118, 31, 27,
+ 122, 2, 5, 31, 27, 119, 2, 5, 31, 5,
+ 41, 2, 5, 4, 7, 132, 11, 13, 4, 7,
+ 40, 11, 13, 2, 5, 38, 9, 69, 2, 5,
+ 126, 9, 37, 4, 7, 128, 11, 13, 4, 7,
+ 36, 11, 13, 2, 5, 35, 9, 20, 2, 5,
+ 63, 9, 4, 7, 19, 11, 13, 4, 7, 117,
+ 11, 13, 2, 5, nil, 9, nil, 2, 5, nil,
+ 9, 4, 7, nil, 11, 13, 4, 7, nil, 11,
+ 13, 2, 5, nil, 9, nil, 2, 5, nil, 9 ]
racc_action_check = [
- 1, 1, 83, 83, 96, 27, 96, 96, 27, 96,
- 96, 89, 89, 54, 54, 46, 96, 96, 94, 46,
- 46, 112, 47, 47, 94, 1, 106, 83, 64, 1,
- 87, 83, 1, 1, 83, 83, 89, 37, 54, 37,
- 89, 63, 54, 89, 89, 54, 54, 47, 98, 98,
- 61, 47, 112, 112, 47, 47, 66, 99, 99, 129,
- 129, 39, 39, 109, 113, 113, 109, 92, 37, 37,
- 137, 137, 93, 98, 80, 22, 22, 98, 62, 79,
- 98, 98, 99, 97, 129, 44, 39, 42, 129, 113,
- 99, 129, 129, 113, 39, 137, 113, 113, 117, 137,
- 22, 100, 137, 137, 22, 40, 40, 22, 22, 62,
- 62, 101, 127, 102, 117, 127, 117, 117, 103, 117,
- 117, 104, 91, 88, 91, 91, 117, 117, 81, 74,
- 40, 41, 38, 34, 40, 33, 118, 40, 40, 88,
- 135, 88, 88, 73, 88, 88, 69, 128, 68, 134,
- 23, 88, 88, 136, 150, 18, 135, 14, 135, 135,
- 139, 135, 135, 13, 142, 12, 11, 9, 135, 135,
- 150, 148, 150, 150, 6, 150, 150, 5, 116, nil,
- nil, nil, 150, 150, nil, 145, nil, 148, nil, 148,
- 148, nil, 148, 148, nil, nil, nil, nil, nil, 148,
- 148, 145, 143, 145, 145, nil, 145, 145, nil, nil,
- nil, nil, nil, 145, 145, nil, nil, nil, 143, nil,
- 143, 143, nil, 143, 143, nil, nil, nil, nil, nil,
- 143, 143, 144, nil, 144, 144, nil, 144, 144, nil,
- nil, nil, nil, nil, 144, 144, 141, nil, 141, 141,
- nil, 141, 141, nil, nil, nil, nil, nil, 141, 141,
- 146, nil, 146, 146, nil, 146, 146, nil, nil, nil,
- nil, nil, 146, 146, 55, nil, 55, 55, nil, 55,
- 55, nil, nil, nil, nil, nil, 55, 55, 138, nil,
- 138, 138, nil, 138, 138, nil, nil, nil, nil, nil,
- 138, 138, 15, nil, 15, 15, nil, 15, 15, nil,
- nil, nil, nil, nil, 15, 15, 125, nil, 125, 125,
- nil, 125, 125, nil, nil, nil, nil, nil, 125, 125,
- 0, nil, 0, 0, nil, 0, 0, nil, nil, nil,
- nil, nil, 0, 0, 26, 26, 26, 26, 26, 26 ]
+ 46, 85, 46, 65, 30, 48, 58, 83, 60, 65,
+ 83, 45, 110, 61, 125, 45, 45, 63, 105, 79,
+ 105, 105, 64, 103, 103, 85, 53, 29, 9, 9,
+ 29, 46, 46, 73, 73, 46, 48, 48, 83, 83,
+ 48, 67, 83, 110, 110, 125, 125, 110, 103, 125,
+ 79, 79, 103, 9, 79, 103, 103, 9, 73, 68,
+ 9, 9, 73, 36, 36, 73, 73, 41, 99, 99,
+ 22, 22, 40, 89, 89, 77, 38, 82, 37, 35,
+ 35, 34, 87, 55, 88, 88, 51, 90, 36, 47,
+ 47, 91, 92, 99, 26, 22, 36, 99, 89, 22,
+ 99, 99, 22, 22, 35, 131, 89, 94, 35, 88,
+ 101, 35, 35, 88, 47, 96, 88, 88, 47, 98,
+ 20, 47, 47, 131, 131, 129, 131, 131, 101, 101,
+ 17, 101, 101, 131, 131, 14, 131, 42, 101, 101,
+ 109, 101, 13, 129, 129, 111, 129, 129, 118, 118,
+ 12, 118, 118, 129, 129, 11, 129, 7, 118, 118,
+ 128, 118, 69, 69, 4, 69, 69, 15, 15, 93,
+ 15, 15, 69, 69, nil, 69, nil, 15, 15, nil,
+ 15, 126, 126, nil, 126, 126, 0, 0, nil, 0,
+ 0, 126, 126, nil, 126, nil, 0, 0, nil, 0 ]
racc_action_pointer = [
- 308, -2, nil, nil, nil, 174, 161, nil, nil, 132,
- nil, 161, 153, 163, 122, 280, nil, nil, 150, nil,
- nil, nil, 73, 137, nil, nil, 328, 3, nil, nil,
- nil, nil, nil, 130, 128, nil, nil, 34, 118, 59,
- 103, 131, 73, nil, 50, nil, 11, 20, nil, nil,
- nil, nil, nil, nil, 11, 252, nil, nil, nil, nil,
- nil, 42, 75, 6, 23, nil, 23, nil, 135, 138,
- nil, nil, nil, 107, 120, nil, nil, nil, nil, 50,
- 66, 119, nil, 0, nil, nil, nil, 26, 117, 9,
- nil, 116, 55, 57, 9, nil, -18, 48, 46, 55,
- 95, 105, 78, 83, 116, nil, 20, nil, nil, 40,
- nil, nil, 18, 62, nil, nil, 143, 92, 127, nil,
- nil, nil, nil, nil, nil, 294, nil, 89, 142, 57,
- nil, nil, nil, nil, 114, 134, 148, 68, 266, 155,
- nil, 224, 159, 196, 210, 179, 238, nil, 165, nil,
- 148, nil, nil ]
+ 162, nil, nil, nil, 161, nil, nil, 122, nil, 26,
+ nil, 143, 145, 107, 135, 143, nil, 125, nil, nil,
+ 106, nil, 68, nil, nil, nil, 81, nil, nil, 25,
+ -1, nil, nil, nil, 76, 77, 61, 64, 76, nil,
+ 37, 32, 132, nil, nil, 7, -3, 87, 2, nil,
+ nil, 53, nil, 18, nil, 70, nil, nil, -30, nil,
+ -1, -16, nil, 9, 13, -6, nil, 29, 44, 138,
+ nil, nil, nil, 31, nil, nil, nil, 67, nil, 16,
+ nil, nil, 73, 4, nil, -8, nil, 47, 82, 71,
+ 81, 56, 86, 134, 102, nil, 109, nil, 84, 66,
+ nil, 104, nil, 21, nil, 12, nil, nil, nil, 135,
+ 9, 136, nil, nil, nil, nil, nil, nil, 124, nil,
+ nil, nil, nil, nil, nil, 11, 157, nil, 125, 119,
+ nil, 99, nil, nil ]
racc_action_default = [
- -86, -86, -7, -20, -8, -86, -86, -19, -9, -86,
- -10, -86, -80, -86, -86, -1, -2, -4, -86, -5,
- -6, -33, -86, -39, -42, -40, -50, -34, -80, -38,
- -36, -43, -41, -35, -86, -37, -67, -86, -70, -27,
- -86, -86, -70, -3, -27, -31, -86, -86, -52, -53,
- -54, -55, -56, -57, -86, -86, -65, -64, -58, -66,
- -59, -86, -86, -70, -86, -71, -86, -21, -24, -19,
- -25, -22, -28, -17, -84, -23, -15, -26, 153, -70,
- -86, -84, -81, -86, -82, -83, -51, -86, -86, -86,
- -61, -86, -77, -86, -86, -74, -86, -27, -86, -18,
- -86, -86, -85, -86, -86, -78, -86, -32, -44, -45,
- -63, -60, -86, -86, -72, -73, -86, -86, -14, -30,
- -16, -11, -12, -29, -79, -86, -13, -86, -86, -86,
- -62, -76, -75, -68, -86, -86, -86, -86, -86, -86,
- -69, -86, -86, -86, -86, -86, -86, -47, -86, -46,
- -86, -48, -49 ]
+ -79, -5, -19, -6, -79, -18, -7, -79, -8, -79,
+ -9, -79, -79, -79, -79, -1, -2, -79, -4, -60,
+ -63, -40, -79, -32, -41, -36, -38, -73, -39, -33,
+ -79, -42, -37, -35, -34, -79, -26, -63, -79, -3,
+ -26, -63, -79, -64, -30, -79, -79, -79, -79, -25,
+ -14, -79, -20, -18, -22, -23, -24, -21, -16, -27,
+ -77, -63, 134, -79, -77, -79, -67, -70, -79, -79,
+ -74, -75, -76, -79, -57, -56, -58, -79, -59, -79,
+ -50, -51, -79, -79, -45, -79, -48, -26, -79, -17,
+ -79, -78, -79, -79, -79, -71, -79, -66, -79, -79,
+ -65, -79, -31, -79, -53, -79, -43, -46, -44, -79,
+ -79, -13, -29, -15, -10, -28, -11, -72, -79, -12,
+ -68, -69, -61, -55, -52, -79, -79, -49, -79, -79,
+ -54, -79, -62, -47 ]
racc_goto_table = [
- 15, 29, 76, 33, 60, 70, 23, 34, 67, 123,
- 93, 74, 83, 95, 45, 64, 81, 58, 101, 79,
- 47, 127, 29, 73, 33, 106, 105, 23, 91, 90,
- 100, 104, 77, 46, 43, 94, 13, nil, nil, 86,
- 29, 123, 33, nil, 68, 23, 87, 29, nil, 33,
- nil, nil, 23, nil, 29, 88, 33, 112, nil, 23,
- nil, nil, 120, 35, nil, 70, 132, nil, 67, 118,
- nil, nil, nil, nil, nil, 107, nil, nil, nil, 130,
- nil, 110, nil, 29, 35, 33, nil, nil, 23, 29,
- 119, 33, nil, nil, 23, nil, 117, nil, 29, nil,
- 33, 75, 35, 23, 68, 131, nil, 43, nil, 35,
- nil, nil, nil, 29, nil, 33, 35, nil, 23, 27,
- nil, nil, nil, nil, nil, 135, nil, nil, nil, 29,
- nil, 33, nil, nil, 23, 139, 43, 29, 143, 33,
- 27, 145, 23, 142, 148, 35, 150, nil, nil, nil,
- nil, 35, nil, nil, 43, nil, nil, 71, 27, nil,
- 35, 75, 43, nil, 43, 27, nil, 43, nil, 43,
- nil, nil, 27, nil, nil, 35, nil, nil, nil, nil,
- nil, 92, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, 35, nil, nil, nil, nil, nil, nil, nil, 35,
- nil, 27, nil, nil, nil, nil, nil, 27, nil, nil,
- nil, nil, nil, nil, nil, nil, 27, 71, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, 27, nil, nil, 92, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, 27, nil, nil,
- nil, nil, nil, nil, nil, 27 ]
+ 15, 39, 29, 73, 32, 81, 50, 30, 86, 34,
+ 66, 52, 54, 115, 84, 29, 68, 32, 105, 56,
+ 44, 55, 34, 80, 42, 58, 90, 60, 29, 57,
+ 32, 64, 45, 49, 67, 34, 95, 94, 104, 83,
+ 29, 61, 32, 86, 92, 82, 65, 34, 96, 107,
+ 115, 14, nil, nil, nil, nil, nil, nil, nil, 113,
+ nil, nil, nil, 125, 52, 54, 29, 120, 32, 101,
+ 127, 102, 56, 34, 55, nil, nil, nil, 111, nil,
+ nil, 29, 57, 32, 130, nil, 112, 39, 34, nil,
+ nil, 67, 29, nil, 32, nil, 29, 121, 32, 34,
+ nil, 123, nil, 34, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 39, nil, 39, 129, nil,
+ nil, nil, nil, nil, nil, nil, 131 ]
racc_goto_check = [
- 2, 4, 17, 16, 32, 21, 20, 28, 19, 23,
- 37, 14, 25, 39, 22, 35, 14, 31, 15, 35,
- 30, 29, 4, 12, 16, 15, 37, 20, 33, 32,
- 13, 36, 22, 24, 3, 38, 1, nil, nil, 22,
- 4, 23, 16, nil, 20, 20, 22, 4, nil, 16,
- nil, nil, 20, nil, 4, 2, 16, 25, nil, 20,
- nil, nil, 17, 6, nil, 21, 39, nil, 19, 14,
- nil, nil, nil, nil, nil, 22, nil, nil, nil, 32,
- nil, 22, nil, 4, 6, 16, nil, nil, 20, 4,
- 22, 16, nil, nil, 20, nil, 2, nil, 4, nil,
- 16, 6, 6, 20, 20, 22, nil, 3, nil, 6,
- nil, nil, nil, 4, nil, 16, 6, nil, 20, 11,
- nil, nil, nil, nil, nil, 2, nil, nil, nil, 4,
- nil, 16, nil, nil, 20, 28, 3, 4, 2, 16,
- 11, 2, 20, 28, 2, 6, 2, nil, nil, nil,
- nil, 6, nil, nil, 3, nil, nil, 11, 11, nil,
- 6, 6, 3, nil, 3, 11, nil, 3, nil, 3,
- nil, nil, 11, nil, nil, 6, nil, nil, nil, nil,
- nil, 11, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, 6, nil, nil, nil, nil, nil, nil, nil, 6,
- nil, 11, nil, nil, nil, nil, nil, 11, nil, nil,
- nil, nil, nil, nil, nil, nil, 11, 11, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
- nil, 11, nil, nil, 11, nil, nil, nil, nil, nil,
- nil, nil, nil, nil, nil, nil, nil, 11, nil, nil,
- nil, nil, nil, nil, nil, 11 ]
+ 2, 3, 10, 25, 4, 33, 16, 22, 31, 15,
+ 39, 18, 19, 23, 29, 10, 37, 4, 34, 21,
+ 22, 20, 15, 32, 35, 11, 12, 13, 10, 10,
+ 4, 13, 24, 22, 10, 15, 37, 36, 33, 28,
+ 10, 35, 4, 31, 14, 22, 38, 15, 14, 29,
+ 23, 1, nil, nil, nil, nil, nil, nil, nil, 16,
+ nil, nil, nil, 25, 18, 19, 10, 39, 4, 2,
+ 31, 22, 21, 15, 20, nil, nil, nil, 13, nil,
+ nil, 10, 10, 4, 33, nil, 22, 3, 15, nil,
+ nil, 10, 10, nil, 4, nil, 10, 22, 4, 15,
+ nil, 22, nil, 15, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, 3, nil, 3, 2, nil,
+ nil, nil, nil, nil, nil, nil, 2 ]
racc_goto_pointer = [
- nil, 36, 0, 19, 0, nil, 62, nil, nil, nil,
- nil, 118, -16, -43, -28, -56, 2, -37, nil, -31,
- 5, -34, -8, -93, 11, -34, nil, nil, 6, -88,
- -6, -20, -33, -34, nil, -23, -48, -53, -28, -50 ]
+ nil, 51, 0, -14, -5, nil, nil, nil, nil, nil,
+ -7, -11, -32, -9, -16, 0, -30, nil, -25, -24,
+ -15, -17, -2, -78, 10, -42, nil, nil, -9, -34,
+ nil, -40, -23, -41, -61, 4, -24, -25, 5, -31 ]
racc_goto_default = [
- nil, nil, nil, 16, 17, 19, 20, 2, 4, 8,
- 10, 11, nil, nil, nil, nil, 18, nil, 66, 21,
- 6, 25, 26, 72, nil, nil, 30, 32, nil, nil,
- nil, nil, nil, nil, 61, nil, nil, 65, nil, nil ]
+ nil, nil, nil, 16, 18, 1, 3, 6, 8, 10,
+ 12, nil, nil, nil, nil, 17, nil, 51, 23, 25,
+ 26, 28, nil, 59, nil, nil, 33, 21, nil, nil,
+ 85, 77, nil, nil, nil, nil, nil, 43, nil, nil ]
racc_token_table = {
false => 0,
@@ -443,11 +376,13 @@ racc_token_table = {
:COLON => 33,
:TYPE => 34,
:NAME => 35,
- :SEMIC => 36 }
+ :SEMIC => 36,
+ :CASE => 37,
+ :DEFAULT => 38 }
racc_use_result_var = true
-racc_nt_base = 37
+racc_nt_base = 39
Racc_arg = [
racc_action_table,
@@ -503,14 +438,15 @@ Racc_token_to_s_table = [
'TYPE',
'NAME',
'SEMIC',
+'CASE',
+'DEFAULT',
'$start',
'program',
'statements',
'statement',
'object',
'assignment',
-'selector',
-'iftest',
+'casestatement',
'import',
'definition',
'hostclass',
@@ -523,6 +459,7 @@ Racc_token_to_s_table = [
'objectinst',
'objectname',
'quotedtext',
+'selector',
'variable',
'array',
'rvalue',
@@ -531,13 +468,13 @@ Racc_token_to_s_table = [
'comma',
'boolean',
'objectref',
-'test',
-'elsifs',
-'testop',
+'caseopts',
+'caseopt',
+'casevalues',
+'selectlhand',
'svalues',
'selectval',
'sintvalues',
-'selectlhand',
'argumentlist',
'parent',
'nothing',
@@ -609,10 +546,8 @@ module_eval <<'.,.,', 'grammar.ra', 54
# reduce 9 omitted
- # reduce 10 omitted
-
module_eval <<'.,.,', 'grammar.ra', 89
- def _reduce_11( val, _values, result )
+ def _reduce_10( val, _values, result )
ary = val[2]
if val[0].is_a?(AST::ASTArray)
Puppet.notice "invalid name"
@@ -641,7 +576,7 @@ module_eval <<'.,.,', 'grammar.ra', 89
.,.,
module_eval <<'.,.,', 'grammar.ra', 113
- def _reduce_12( val, _values, result )
+ def _reduce_11( val, _values, result )
if val[0].is_a?(AST::ASTArray)
Puppet.notice "invalid name"
raise Puppet::ParseError, "Invalid name"
@@ -670,7 +605,7 @@ module_eval <<'.,.,', 'grammar.ra', 113
.,.,
module_eval <<'.,.,', 'grammar.ra', 126
- def _reduce_13( val, _values, result )
+ def _reduce_12( val, _values, result )
# a template setting for a type
if val[0].is_a?(AST::ASTArray)
Puppet.notice "invalid type"
@@ -688,7 +623,7 @@ module_eval <<'.,.,', 'grammar.ra', 126
.,.,
module_eval <<'.,.,', 'grammar.ra', 134
- def _reduce_14( val, _values, result )
+ def _reduce_13( val, _values, result )
result = AST::ASTArray.new(
:line => @lexer.line,
:file => @lexer.file,
@@ -698,10 +633,10 @@ module_eval <<'.,.,', 'grammar.ra', 134
end
.,.,
- # reduce 15 omitted
+ # reduce 14 omitted
module_eval <<'.,.,', 'grammar.ra', 148
- def _reduce_16( val, _values, result )
+ def _reduce_15( val, _values, result )
if val[0][0].is_a?(AST::ASTArray)
val[0].push val[2]
result = val[0]
@@ -716,12 +651,12 @@ module_eval <<'.,.,', 'grammar.ra', 148
end
.,.,
- # reduce 17 omitted
+ # reduce 16 omitted
- # reduce 18 omitted
+ # reduce 17 omitted
module_eval <<'.,.,', 'grammar.ra', 159
- def _reduce_19( val, _values, result )
+ def _reduce_18( val, _values, result )
result = AST::Name.new(
:line => @lexer.line,
:file => @lexer.file,
@@ -732,7 +667,7 @@ module_eval <<'.,.,', 'grammar.ra', 159
.,.,
module_eval <<'.,.,', 'grammar.ra', 167
- def _reduce_20( val, _values, result )
+ def _reduce_19( val, _values, result )
result = AST::Type.new(
:line => @lexer.line,
:file => @lexer.file,
@@ -742,6 +677,8 @@ module_eval <<'.,.,', 'grammar.ra', 167
end
.,.,
+ # reduce 20 omitted
+
# reduce 21 omitted
# reduce 22 omitted
@@ -750,10 +687,8 @@ module_eval <<'.,.,', 'grammar.ra', 167
# reduce 24 omitted
- # reduce 25 omitted
-
module_eval <<'.,.,', 'grammar.ra', 189
- def _reduce_26( val, _values, result )
+ def _reduce_25( val, _values, result )
# this is distinct from referencing a variable
variable = AST::Name.new(
:line => @lexer.line,
@@ -772,7 +707,7 @@ module_eval <<'.,.,', 'grammar.ra', 189
.,.,
module_eval <<'.,.,', 'grammar.ra', 198
- def _reduce_27( val, _values, result )
+ def _reduce_26( val, _values, result )
result = AST::ASTArray.new(
:line => @lexer.line,
:file => @lexer.file,
@@ -783,14 +718,14 @@ module_eval <<'.,.,', 'grammar.ra', 198
.,.,
module_eval <<'.,.,', 'grammar.ra', 198
- def _reduce_28( val, _values, result )
+ def _reduce_27( val, _values, result )
result = val[0]
result
end
.,.,
module_eval <<'.,.,', 'grammar.ra', 211
- def _reduce_29( val, _values, result )
+ def _reduce_28( val, _values, result )
if val[0].is_a?(AST::ASTArray)
val[0].push(val[2])
result = val[0]
@@ -806,7 +741,7 @@ module_eval <<'.,.,', 'grammar.ra', 211
.,.,
module_eval <<'.,.,', 'grammar.ra', 226
- def _reduce_30( val, _values, result )
+ def _reduce_29( val, _values, result )
leaf = AST::String.new(
:line => @lexer.line,
:file => @lexer.file,
@@ -823,10 +758,10 @@ module_eval <<'.,.,', 'grammar.ra', 226
end
.,.,
- # reduce 31 omitted
+ # reduce 30 omitted
module_eval <<'.,.,', 'grammar.ra', 239
- def _reduce_32( val, _values, result )
+ def _reduce_31( val, _values, result )
if val[0].is_a?(AST::ASTArray)
result = val[0].push(val[2])
else
@@ -840,6 +775,8 @@ module_eval <<'.,.,', 'grammar.ra', 239
end
.,.,
+ # reduce 32 omitted
+
# reduce 33 omitted
# reduce 34 omitted
@@ -856,10 +793,8 @@ module_eval <<'.,.,', 'grammar.ra', 239
# reduce 40 omitted
- # reduce 41 omitted
-
module_eval <<'.,.,', 'grammar.ra', 257
- def _reduce_42( val, _values, result )
+ def _reduce_41( val, _values, result )
result = AST::String.new(
:line => @lexer.line,
:file => @lexer.file,
@@ -870,7 +805,7 @@ module_eval <<'.,.,', 'grammar.ra', 257
.,.,
module_eval <<'.,.,', 'grammar.ra', 265
- def _reduce_43( val, _values, result )
+ def _reduce_42( val, _values, result )
result = AST::Boolean.new(
:line => @lexer.line,
:file => @lexer.file,
@@ -881,7 +816,7 @@ module_eval <<'.,.,', 'grammar.ra', 265
.,.,
module_eval <<'.,.,', 'grammar.ra', 275
- def _reduce_44( val, _values, result )
+ def _reduce_43( val, _values, result )
result = AST::ObjectRef.new(
:pin => '[]',
:line => @lexer.line,
@@ -893,124 +828,77 @@ module_eval <<'.,.,', 'grammar.ra', 275
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 285
- def _reduce_45( val, _values, result )
- result = AST::If.new(
- :pin => "if",
+module_eval <<'.,.,', 'grammar.ra', 292
+ def _reduce_44( val, _values, result )
+ options = val[3]
+ unless options.is_a?(AST::ASTArray)
+ options = AST::ASTArray.new(
+ :line => @lexer.line,
+ :file => @lexer.file,
+ :children => [val[3]]
+ )
+ end
+ result = AST::CaseStatement.new(
:test => val[1],
+ :options => val[3],
:file => @lexer.file,
- :line => @lexer.line,
- :statements => val[3]
+ :line => @lexer.line
)
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 307
+ # reduce 45 omitted
+
+module_eval <<'.,.,', 'grammar.ra', 306
def _reduce_46( val, _values, result )
- # make sure our elsifs are an array, as it will save lots of
- # effort later
- unless val[5].is_a?(AST::ASTArray)
- val[5] = AST::ASTArray.new(
+ if val[0].is_a?(AST::ASTArray)
+ val[0].push val[1]
+ result = val[0]
+ else
+ result = AST::ASTArray.new(
:line => @lexer.line,
:file => @lexer.file,
- :children => [val[5]]
+ :children => [val[0], val[1]]
)
end
-
- result = AST::If.new(
- :pin => "if",
- :test => val[1],
- :statements => val[3],
- :file => @lexer.file,
- :line => @lexer.line,
- :else => val[8],
- :elsif => val[5]
- )
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 318
+module_eval <<'.,.,', 'grammar.ra', 316
def _reduce_47( val, _values, result )
- result = AST::If.new(
- :pin => "if",
- :test => val[1],
- :statements => val[3],
+ result = AST::CaseOpt.new(
+ :pin => ":",
+ :value => val[0],
:file => @lexer.file,
:line => @lexer.line,
- :else => val[7]
+ :statements => val[3]
)
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 328
- def _reduce_48( val, _values, result )
- result = AST::If.new(
- :pin => "elseif",
- :test => val[1],
- :file => @lexer.file,
- :statements => val[3],
- :line => @lexer.line
- )
- result
- end
-.,.,
+ # reduce 48 omitted
-module_eval <<'.,.,', 'grammar.ra', 348
+module_eval <<'.,.,', 'grammar.ra', 330
def _reduce_49( val, _values, result )
- second = AST::If.new(
- :pin => "elsif",
- :test => val[2],
- :statements => val[4],
- :file => @lexer.file,
- :line => @lexer.line
- )
-
if val[0].is_a?(AST::ASTArray)
- val[0].push(second)
+ val[0].push(val[2])
result = val[0]
else
result = AST::ASTArray.new(
:line => @lexer.line,
:file => @lexer.file,
- :children => [val[0],second]
+ :children => [val[0],val[2]]
)
end
result
end
.,.,
- # reduce 50 omitted
-
-module_eval <<'.,.,', 'grammar.ra', 359
- def _reduce_51( val, _values, result )
- result = AST::Test.new(
- :pin => val[1],
- :line => @lexer.line,
- :file => @lexer.file,
- :lhs => val[0],
- :rhs => val[2]
- )
- result
- end
-.,.,
-
- # reduce 52 omitted
-
- # reduce 53 omitted
-
- # reduce 54 omitted
-
- # reduce 55 omitted
-
- # reduce 56 omitted
-
- # reduce 57 omitted
-
-module_eval <<'.,.,', 'grammar.ra', 376
- def _reduce_58( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 431
+ def _reduce_50( val, _values, result )
result = AST::Selector.new(
:pin => "?",
:line => @lexer.line,
@@ -1022,19 +910,19 @@ module_eval <<'.,.,', 'grammar.ra', 376
end
.,.,
- # reduce 59 omitted
+ # reduce 51 omitted
-module_eval <<'.,.,', 'grammar.ra', 378
- def _reduce_60( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 433
+ def _reduce_52( val, _values, result )
result = val[1]
result
end
.,.,
- # reduce 61 omitted
+ # reduce 53 omitted
-module_eval <<'.,.,', 'grammar.ra', 393
- def _reduce_62( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 448
+ def _reduce_54( val, _values, result )
if val[0].is_a?(AST::ASTArray)
val[0].push(val[2])
result = val[0]
@@ -1049,32 +937,65 @@ module_eval <<'.,.,', 'grammar.ra', 393
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 408
- def _reduce_63( val, _values, result )
- leaf = AST::String.new(
- :line => @lexer.line,
- :file => @lexer.file,
- :value => val[0]
- )
+module_eval <<'.,.,', 'grammar.ra', 458
+ def _reduce_55( val, _values, result )
result = AST::ObjectParam.new(
:pin => "=>",
:line => @lexer.line,
:file => @lexer.file,
- :param => leaf,
+ :param => val[0],
:value => val[2]
)
result
end
.,.,
- # reduce 64 omitted
+module_eval <<'.,.,', 'grammar.ra', 466
+ def _reduce_56( val, _values, result )
+ result = AST::String.new(
+ :line => @lexer.line,
+ :file => @lexer.file,
+ :value => val[0]
+ )
+ result
+ end
+.,.,
- # reduce 65 omitted
+module_eval <<'.,.,', 'grammar.ra', 473
+ def _reduce_57( val, _values, result )
+ result = AST::String.new(
+ :line => @lexer.line,
+ :file => @lexer.file,
+ :value => val[0]
+ )
+ result
+ end
+.,.,
+
+module_eval <<'.,.,', 'grammar.ra', 480
+ def _reduce_58( val, _values, result )
+ result = AST::String.new(
+ :line => @lexer.line,
+ :file => @lexer.file,
+ :value => val[0]
+ )
+ result
+ end
+.,.,
- # reduce 66 omitted
+module_eval <<'.,.,', 'grammar.ra', 487
+ def _reduce_59( val, _values, result )
+ result = AST::Default.new(
+ :line => @lexer.line,
+ :file => @lexer.file,
+ :value => val[0]
+ )
+ result
+ end
+.,.,
-module_eval <<'.,.,', 'grammar.ra', 437
- def _reduce_67( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 512
+ def _reduce_60( val, _values, result )
# importing files
# yuk, i hate keywords
# we'll probably have to have some kind of search path eventually
@@ -1101,8 +1022,8 @@ module_eval <<'.,.,', 'grammar.ra', 437
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 447
- def _reduce_68( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 522
+ def _reduce_61( val, _values, result )
result = AST::CompDef.new(
:name => AST::Name.new(:value => val[1], :line => @lexer.line),
:args => val[2],
@@ -1114,8 +1035,8 @@ module_eval <<'.,.,', 'grammar.ra', 447
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 458
- def _reduce_69( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 533
+ def _reduce_62( val, _values, result )
result = AST::ClassDef.new(
:name => AST::Name.new(:value => val[1], :line => @lexer.line),
:args => val[2],
@@ -1128,8 +1049,8 @@ module_eval <<'.,.,', 'grammar.ra', 458
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 473
- def _reduce_70( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 548
+ def _reduce_63( val, _values, result )
result = AST::ASTArray.new(
:line => @lexer.line,
:file => @lexer.file,
@@ -1139,17 +1060,17 @@ module_eval <<'.,.,', 'grammar.ra', 473
end
.,.,
- # reduce 71 omitted
+ # reduce 64 omitted
-module_eval <<'.,.,', 'grammar.ra', 478
- def _reduce_72( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 553
+ def _reduce_65( val, _values, result )
result = val[1]
result
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 489
- def _reduce_73( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 564
+ def _reduce_66( val, _values, result )
if val[1].is_a?(AST::ASTArray)
result = val[1]
else
@@ -1163,10 +1084,10 @@ module_eval <<'.,.,', 'grammar.ra', 489
end
.,.,
- # reduce 74 omitted
+ # reduce 67 omitted
-module_eval <<'.,.,', 'grammar.ra', 503
- def _reduce_75( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 578
+ def _reduce_68( val, _values, result )
if val[0].is_a?(AST::ASTArray)
val[0].push(val[2])
result = val[0]
@@ -1181,8 +1102,8 @@ module_eval <<'.,.,', 'grammar.ra', 503
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 511
- def _reduce_76( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 586
+ def _reduce_69( val, _values, result )
result = AST::ASTArray.new(
:line => @lexer.line,
:file => @lexer.file,
@@ -1192,8 +1113,8 @@ module_eval <<'.,.,', 'grammar.ra', 511
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 518
- def _reduce_77( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 593
+ def _reduce_70( val, _values, result )
result = AST::ASTArray.new(
:line => @lexer.line,
:file => @lexer.file,
@@ -1203,10 +1124,10 @@ module_eval <<'.,.,', 'grammar.ra', 518
end
.,.,
- # reduce 78 omitted
+ # reduce 71 omitted
-module_eval <<'.,.,', 'grammar.ra', 527
- def _reduce_79( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 602
+ def _reduce_72( val, _values, result )
result = AST::Name.new(
:value => val[1],
:file => @lexer.file,
@@ -1216,8 +1137,8 @@ module_eval <<'.,.,', 'grammar.ra', 527
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 536
- def _reduce_80( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 611
+ def _reduce_73( val, _values, result )
name = val[0].sub(/^\$/,'')
result = AST::Variable.new(
:line => @lexer.line,
@@ -1228,8 +1149,8 @@ module_eval <<'.,.,', 'grammar.ra', 536
end
.,.,
-module_eval <<'.,.,', 'grammar.ra', 545
- def _reduce_81( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 620
+ def _reduce_74( val, _values, result )
if val[1].is_a?(AST::ASTArray)
result = val[1]
else
@@ -1240,14 +1161,14 @@ module_eval <<'.,.,', 'grammar.ra', 545
end
.,.,
- # reduce 82 omitted
+ # reduce 75 omitted
- # reduce 83 omitted
+ # reduce 76 omitted
- # reduce 84 omitted
+ # reduce 77 omitted
-module_eval <<'.,.,', 'grammar.ra', 550
- def _reduce_85( val, _values, result )
+module_eval <<'.,.,', 'grammar.ra', 625
+ def _reduce_78( val, _values, result )
result = nil
result
end