~ubuntu-branches/ubuntu/oneiric/puppet/oneiric-security

« back to all changes in this revision

Viewing changes to lib/puppet/parser/parser.rb

  • Committer: Bazaar Package Importer
  • Author(s): Micah Anderson
  • Date: 2008-07-26 15:43:45 UTC
  • mto: (3.1.1 lenny) (1.3.1 upstream)
  • mto: This revision was merged to the branch mainline in revision 16.
  • Revision ID: james.westby@ubuntu.com-20080726154345-1fmgo76b4l72ulvc
ImportĀ upstreamĀ versionĀ 0.24.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
 
9
9
 
10
10
require 'puppet'
11
 
require 'puppet/loadedfile'
 
11
require 'puppet/util/loadedfile'
12
12
require 'puppet/parser/lexer'
13
13
require 'puppet/parser/ast'
14
14
#require 'puppet/parser/interpreter'
15
15
 
16
16
module Puppet
17
17
    class ParseError < Puppet::Error; end
18
 
 
19
18
    class ImportError < Racc::ParseError; end
 
19
    class AlreadyImportedError < ImportError; end
20
20
end
21
21
 
22
22
Puppet[:typecheck] = true
29
29
 
30
30
    class Parser < Racc::Parser
31
31
 
32
 
module_eval <<'..end grammar.ra modeval..id77a61a6f39', 'grammar.ra', 628
33
 
require 'puppet/parser/functions'
34
 
 
35
 
attr_reader :file, :interp
36
 
attr_accessor :files
37
 
 
38
 
# Add context to a message; useful for error messages and such.
39
 
def addcontext(message, obj = nil)
40
 
    obj ||= @lexer
41
 
 
42
 
    message += " on line %s" % obj.line
43
 
    if file = obj.file
44
 
        message += " in file %s" % file
45
 
    end
46
 
 
47
 
    return message
48
 
end
49
 
 
50
 
# Create an AST array out of all of the args
51
 
def aryfy(*args)
52
 
    if args[0].instance_of?(AST::ASTArray)
53
 
        result = args.shift
54
 
        args.each { |arg|
55
 
            result.push arg
56
 
        }
57
 
    else
58
 
        result = ast AST::ASTArray, :children => args
59
 
    end
60
 
 
61
 
    return result
62
 
end
63
 
 
64
 
# Create an AST object, and automatically add the file and line information if
65
 
# available.
66
 
def ast(klass, hash = nil)
67
 
    hash ||= {}
68
 
    unless hash[:line]
69
 
        hash[:line] = @lexer.line
70
 
    end
71
 
 
72
 
    unless hash[:file]
73
 
        if file = @lexer.file
74
 
            hash[:file] = file
75
 
        end
76
 
    end
77
 
 
78
 
    return klass.new(hash)
79
 
end
80
 
 
81
 
# Raise a Parse error.
82
 
def error(message)
83
 
    except = Puppet::ParseError.new(message)
84
 
    except.line = @lexer.line
85
 
    if @lexer.file
86
 
        except.file = @lexer.file
87
 
    end
88
 
 
89
 
    raise except
90
 
end
91
 
 
92
 
def file=(file)
93
 
    unless FileTest.exists?(file)
94
 
        unless file =~ /\.pp$/
95
 
            file = file + ".pp"
96
 
        end
97
 
        unless FileTest.exists?(file)
98
 
            raise Puppet::Error, "Could not find file %s" % file
99
 
        end
100
 
    end
101
 
    if @files.detect { |f| f.file == file }
102
 
        raise Puppet::ImportError.new("Import loop detected")
103
 
    else
104
 
        @files << Puppet::LoadedFile.new(file)
105
 
        @lexer.file = file
106
 
    end
107
 
end
108
 
 
109
 
def initialize(interpreter)
110
 
    @interp = interpreter
111
 
    initvars()
112
 
end
113
 
 
114
 
# Initialize or reset all of our variables.
115
 
def initvars
116
 
    @lexer = Puppet::Parser::Lexer.new()
117
 
    @files = []
118
 
end
119
 
 
120
 
# The fully qualifed name, with the full namespace.
121
 
def fqname(name)
122
 
    [@lexer.namespace, name].join("::").sub(/^::/, '')
123
 
end
124
 
 
125
 
def on_error(token,value,stack)
126
 
    #on '%s' at '%s' in\n'%s'" % [token,value,stack]
127
 
    #error = "line %s: parse error after '%s'" %
128
 
    #    [@lexer.line,@lexer.last]
129
 
    error = "Syntax error at '%s'" % [value]
130
 
 
131
 
    except = Puppet::ParseError.new(error)
132
 
    except.line = @lexer.line
133
 
    if @lexer.file
134
 
        except.file = @lexer.file
135
 
    end
136
 
 
137
 
    raise except
138
 
end
139
 
 
140
 
# how should I do error handling here?
141
 
def parse(string = nil)
142
 
    if string
143
 
        self.string = string
144
 
    end
145
 
    begin
146
 
        main = yyparse(@lexer,:scan)
147
 
    rescue Racc::ParseError => except
148
 
        error = Puppet::ParseError.new(except)
149
 
        error.line = @lexer.line
150
 
        error.file = @lexer.file
151
 
        error.set_backtrace except.backtrace
152
 
        raise error
153
 
    rescue Puppet::ParseError => except
154
 
        except.line ||= @lexer.line
155
 
        except.file ||= @lexer.file
156
 
        raise except
157
 
    rescue Puppet::Error => except
158
 
        # and this is a framework error
159
 
        except.line ||= @lexer.line
160
 
        except.file ||= @lexer.file
161
 
        raise except
162
 
    rescue Puppet::DevError => except
163
 
        except.line ||= @lexer.line
164
 
        except.file ||= @lexer.file
165
 
        raise except
166
 
    rescue => except
167
 
        error = Puppet::DevError.new(except.message)
168
 
        error.line = @lexer.line
169
 
        error.file = @lexer.file
170
 
        error.set_backtrace except.backtrace
171
 
        raise error
172
 
    end
173
 
    if main
174
 
        # Store the results as the top-level class.
175
 
        interp.newclass("", :code => main)
176
 
        return main
177
 
    end
178
 
ensure
179
 
    @lexer.clear
180
 
end
181
 
 
182
 
# See if any of the files have changed.
183
 
def reparse?
184
 
    if file = @files.detect { |file| file.changed?  }
185
 
        return file.stamp
186
 
    else
187
 
        return false
188
 
    end
189
 
end
190
 
 
191
 
def string=(string)
192
 
    @lexer.string = string
193
 
end
 
32
module_eval <<'..end grammar.ra modeval..id9145566289', 'grammar.ra', 638
 
33
 
 
34
# It got too annoying having code in a file that needs to be compiled.
 
35
require 'puppet/parser/parser_support'
194
36
 
195
37
# Make emacs happy
196
38
# Local Variables:
197
39
# mode: ruby
198
40
# End:
199
41
 
200
 
# $Id: parser.rb 1849 2006-11-09 22:12:59Z luke $
 
42
# $Id$
201
43
 
202
 
..end grammar.ra modeval..id77a61a6f39
 
44
..end grammar.ra modeval..id9145566289
203
45
 
204
46
##### racc 1.4.5 generates ###
205
47
 
206
48
racc_reduce_table = [
207
49
 0, 0, :racc_error,
208
 
 1, 51, :_reduce_1,
209
 
 1, 51, :_reduce_none,
 
50
 1, 52, :_reduce_1,
210
51
 1, 52, :_reduce_none,
211
 
 2, 52, :_reduce_4,
212
 
 1, 54, :_reduce_none,
213
 
 1, 54, :_reduce_none,
214
 
 1, 54, :_reduce_none,
215
 
 1, 54, :_reduce_none,
216
 
 1, 54, :_reduce_none,
217
 
 1, 54, :_reduce_none,
218
 
 1, 54, :_reduce_none,
219
 
 1, 54, :_reduce_none,
220
 
 1, 54, :_reduce_none,
221
 
 1, 54, :_reduce_none,
222
 
 1, 54, :_reduce_none,
223
 
 1, 54, :_reduce_none,
224
 
 4, 62, :_reduce_17,
225
 
 2, 62, :_reduce_18,
226
 
 1, 67, :_reduce_none,
227
 
 1, 67, :_reduce_none,
228
 
 1, 68, :_reduce_none,
229
 
 3, 68, :_reduce_22,
230
 
 1, 70, :_reduce_none,
231
 
 1, 70, :_reduce_none,
232
 
 1, 70, :_reduce_none,
 
52
 1, 53, :_reduce_none,
 
53
 2, 53, :_reduce_4,
 
54
 1, 55, :_reduce_none,
 
55
 1, 55, :_reduce_none,
 
56
 1, 55, :_reduce_none,
 
57
 1, 55, :_reduce_none,
 
58
 1, 55, :_reduce_none,
 
59
 1, 55, :_reduce_none,
 
60
 1, 55, :_reduce_none,
 
61
 1, 55, :_reduce_none,
 
62
 1, 55, :_reduce_none,
 
63
 1, 55, :_reduce_none,
 
64
 1, 55, :_reduce_none,
 
65
 1, 55, :_reduce_none,
 
66
 4, 63, :_reduce_17,
 
67
 3, 63, :_reduce_18,
 
68
 2, 63, :_reduce_19,
 
69
 1, 68, :_reduce_none,
 
70
 1, 68, :_reduce_none,
233
71
 1, 69, :_reduce_none,
234
 
 3, 69, :_reduce_27,
235
 
 5, 55, :_reduce_28,
236
 
 5, 55, :_reduce_29,
237
 
 5, 55, :_reduce_30,
238
 
 4, 66, :_reduce_31,
239
 
 2, 56, :_reduce_32,
240
 
 1, 79, :_reduce_33,
241
 
 2, 79, :_reduce_34,
242
 
 2, 57, :_reduce_35,
243
 
 1, 80, :_reduce_none,
244
 
 1, 80, :_reduce_none,
245
 
 3, 81, :_reduce_38,
246
 
 3, 81, :_reduce_39,
247
 
 1, 82, :_reduce_none,
248
 
 1, 82, :_reduce_none,
249
 
 3, 82, :_reduce_42,
250
 
 1, 83, :_reduce_none,
251
 
 3, 83, :_reduce_44,
252
 
 1, 84, :_reduce_none,
253
 
 1, 84, :_reduce_none,
254
 
 3, 85, :_reduce_47,
255
 
 3, 85, :_reduce_48,
256
 
 1, 86, :_reduce_none,
257
 
 1, 86, :_reduce_none,
258
 
 4, 88, :_reduce_51,
259
 
 1, 75, :_reduce_none,
260
 
 3, 75, :_reduce_53,
261
 
 0, 76, :_reduce_none,
262
 
 1, 76, :_reduce_none,
263
 
 1, 71, :_reduce_56,
264
 
 1, 90, :_reduce_57,
265
 
 1, 89, :_reduce_none,
266
 
 1, 89, :_reduce_none,
267
 
 1, 89, :_reduce_none,
268
 
 1, 89, :_reduce_none,
269
 
 1, 89, :_reduce_none,
270
 
 1, 89, :_reduce_none,
271
 
 3, 58, :_reduce_64,
272
 
 0, 77, :_reduce_65,
273
 
 1, 77, :_reduce_66,
274
 
 3, 77, :_reduce_67,
275
 
 3, 94, :_reduce_68,
276
 
 1, 95, :_reduce_none,
277
 
 3, 95, :_reduce_70,
278
 
 1, 87, :_reduce_none,
279
 
 1, 87, :_reduce_none,
280
 
 1, 87, :_reduce_none,
281
 
 1, 87, :_reduce_none,
282
 
 1, 87, :_reduce_none,
283
 
 1, 87, :_reduce_none,
284
 
 1, 93, :_reduce_none,
285
 
 1, 93, :_reduce_none,
286
 
 1, 93, :_reduce_none,
287
 
 1, 93, :_reduce_none,
288
 
 1, 93, :_reduce_none,
289
 
 1, 93, :_reduce_none,
290
 
 1, 93, :_reduce_none,
291
 
 1, 93, :_reduce_none,
292
 
 1, 93, :_reduce_none,
293
 
 4, 98, :_reduce_86,
294
 
 1, 73, :_reduce_87,
295
 
 1, 73, :_reduce_88,
296
 
 1, 97, :_reduce_89,
297
 
 4, 74, :_reduce_90,
298
 
 4, 74, :_reduce_91,
299
 
 6, 60, :_reduce_92,
300
 
 0, 100, :_reduce_none,
301
 
 4, 100, :_reduce_94,
302
 
 1, 99, :_reduce_none,
303
 
 5, 59, :_reduce_96,
304
 
 1, 101, :_reduce_none,
305
 
 2, 101, :_reduce_98,
306
 
 5, 102, :_reduce_99,
307
 
 4, 102, :_reduce_100,
 
72
 3, 69, :_reduce_23,
 
73
 1, 71, :_reduce_none,
 
74
 1, 71, :_reduce_none,
 
75
 1, 71, :_reduce_none,
 
76
 1, 71, :_reduce_none,
 
77
 1, 71, :_reduce_none,
 
78
 1, 71, :_reduce_none,
 
79
 1, 71, :_reduce_none,
 
80
 1, 71, :_reduce_31,
 
81
 1, 70, :_reduce_none,
 
82
 3, 70, :_reduce_33,
 
83
 5, 56, :_reduce_34,
 
84
 5, 56, :_reduce_35,
 
85
 5, 56, :_reduce_36,
 
86
 5, 67, :_reduce_37,
 
87
 2, 57, :_reduce_38,
 
88
 1, 87, :_reduce_39,
 
89
 2, 87, :_reduce_40,
 
90
 2, 58, :_reduce_41,
 
91
 3, 88, :_reduce_42,
 
92
 3, 88, :_reduce_43,
 
93
 1, 89, :_reduce_none,
 
94
 1, 89, :_reduce_none,
 
95
 3, 89, :_reduce_46,
 
96
 1, 90, :_reduce_none,
 
97
 3, 90, :_reduce_48,
 
98
 1, 91, :_reduce_none,
 
99
 1, 91, :_reduce_none,
 
100
 3, 92, :_reduce_51,
 
101
 3, 92, :_reduce_52,
 
102
 1, 93, :_reduce_none,
 
103
 1, 93, :_reduce_none,
 
104
 4, 95, :_reduce_55,
 
105
 1, 81, :_reduce_none,
 
106
 3, 81, :_reduce_57,
 
107
 0, 82, :_reduce_none,
 
108
 1, 82, :_reduce_none,
 
109
 1, 97, :_reduce_60,
 
110
 1, 72, :_reduce_61,
 
111
 1, 74, :_reduce_62,
 
112
 1, 96, :_reduce_none,
 
113
 1, 96, :_reduce_none,
 
114
 1, 96, :_reduce_none,
 
115
 1, 96, :_reduce_none,
 
116
 1, 96, :_reduce_none,
 
117
 1, 96, :_reduce_none,
 
118
 3, 59, :_reduce_69,
 
119
 0, 83, :_reduce_70,
 
120
 1, 83, :_reduce_71,
 
121
 3, 83, :_reduce_72,
 
122
 3, 100, :_reduce_73,
 
123
 3, 101, :_reduce_74,
 
124
 1, 102, :_reduce_none,
 
125
 1, 102, :_reduce_none,
 
126
 0, 86, :_reduce_77,
 
127
 1, 86, :_reduce_78,
 
128
 3, 86, :_reduce_79,
308
129
 1, 103, :_reduce_none,
309
 
 3, 103, :_reduce_102,
310
 
 3, 91, :_reduce_103,
 
130
 3, 103, :_reduce_81,
 
131
 1, 94, :_reduce_none,
 
132
 1, 94, :_reduce_none,
 
133
 1, 94, :_reduce_none,
 
134
 1, 94, :_reduce_none,
 
135
 1, 94, :_reduce_none,
 
136
 1, 94, :_reduce_none,
 
137
 1, 99, :_reduce_none,
 
138
 1, 99, :_reduce_none,
 
139
 1, 99, :_reduce_none,
 
140
 1, 99, :_reduce_none,
 
141
 1, 99, :_reduce_none,
 
142
 1, 99, :_reduce_none,
 
143
 1, 99, :_reduce_none,
 
144
 1, 99, :_reduce_none,
 
145
 1, 99, :_reduce_none,
 
146
 1, 99, :_reduce_none,
 
147
 4, 76, :_reduce_98,
 
148
 3, 76, :_reduce_99,
 
149
 1, 78, :_reduce_100,
 
150
 1, 78, :_reduce_101,
 
151
 1, 75, :_reduce_102,
 
152
 4, 79, :_reduce_103,
 
153
 4, 79, :_reduce_104,
 
154
 6, 61, :_reduce_105,
 
155
 0, 106, :_reduce_none,
 
156
 4, 106, :_reduce_107,
311
157
 1, 105, :_reduce_none,
312
 
 3, 105, :_reduce_105,
 
158
 5, 60, :_reduce_109,
313
159
 1, 107, :_reduce_none,
314
 
 3, 107, :_reduce_107,
315
 
 3, 106, :_reduce_108,
316
 
 1, 104, :_reduce_none,
317
 
 1, 104, :_reduce_none,
318
 
 1, 104, :_reduce_none,
319
 
 1, 104, :_reduce_none,
320
 
 1, 104, :_reduce_none,
321
 
 1, 104, :_reduce_none,
322
 
 1, 104, :_reduce_115,
323
 
 2, 61, :_reduce_116,
324
 
 6, 63, :_reduce_117,
325
 
 5, 63, :_reduce_118,
326
 
 6, 64, :_reduce_119,
327
 
 5, 64, :_reduce_120,
328
 
 6, 65, :_reduce_121,
329
 
 5, 65, :_reduce_122,
330
 
 1, 108, :_reduce_none,
331
 
 1, 108, :_reduce_none,
 
160
 2, 107, :_reduce_111,
 
161
 5, 108, :_reduce_112,
 
162
 4, 108, :_reduce_113,
 
163
 1, 109, :_reduce_none,
 
164
 3, 109, :_reduce_115,
 
165
 3, 77, :_reduce_116,
332
166
 1, 111, :_reduce_none,
333
 
 3, 111, :_reduce_126,
334
 
 1, 112, :_reduce_none,
335
 
 1, 112, :_reduce_none,
336
 
 1, 112, :_reduce_none,
337
 
 0, 53, :_reduce_130,
338
 
 0, 113, :_reduce_131,
339
 
 1, 109, :_reduce_none,
340
 
 3, 109, :_reduce_133,
341
 
 3, 109, :_reduce_134,
342
 
 1, 114, :_reduce_none,
343
 
 3, 114, :_reduce_136,
344
 
 3, 115, :_reduce_137,
345
 
 1, 115, :_reduce_138,
346
 
 3, 115, :_reduce_139,
347
 
 1, 115, :_reduce_140,
348
 
 1, 110, :_reduce_none,
349
 
 2, 110, :_reduce_142,
350
 
 1, 72, :_reduce_143,
351
 
 3, 92, :_reduce_144,
352
 
 2, 92, :_reduce_145,
353
 
 1, 96, :_reduce_none,
354
 
 1, 96, :_reduce_none,
355
 
 0, 78, :_reduce_none,
356
 
 1, 78, :_reduce_149 ]
357
 
 
358
 
racc_reduce_n = 150
359
 
 
360
 
racc_shift_n = 248
 
167
 4, 111, :_reduce_118,
 
168
 1, 113, :_reduce_none,
 
169
 3, 113, :_reduce_120,
 
170
 3, 112, :_reduce_121,
 
171
 1, 110, :_reduce_none,
 
172
 1, 110, :_reduce_none,
 
173
 1, 110, :_reduce_none,
 
174
 1, 110, :_reduce_none,
 
175
 1, 110, :_reduce_none,
 
176
 1, 110, :_reduce_none,
 
177
 1, 110, :_reduce_none,
 
178
 1, 110, :_reduce_129,
 
179
 1, 114, :_reduce_130,
 
180
 3, 114, :_reduce_131,
 
181
 2, 62, :_reduce_132,
 
182
 6, 64, :_reduce_133,
 
183
 5, 64, :_reduce_134,
 
184
 6, 65, :_reduce_135,
 
185
 5, 65, :_reduce_136,
 
186
 6, 66, :_reduce_137,
 
187
 5, 66, :_reduce_138,
 
188
 1, 85, :_reduce_none,
 
189
 1, 80, :_reduce_none,
 
190
 1, 80, :_reduce_none,
 
191
 1, 117, :_reduce_none,
 
192
 3, 117, :_reduce_143,
 
193
 1, 119, :_reduce_none,
 
194
 1, 119, :_reduce_none,
 
195
 1, 119, :_reduce_none,
 
196
 1, 119, :_reduce_none,
 
197
 0, 54, :_reduce_148,
 
198
 0, 120, :_reduce_149,
 
199
 1, 115, :_reduce_none,
 
200
 3, 115, :_reduce_151,
 
201
 3, 115, :_reduce_152,
 
202
 1, 121, :_reduce_none,
 
203
 3, 121, :_reduce_154,
 
204
 3, 122, :_reduce_155,
 
205
 1, 122, :_reduce_156,
 
206
 3, 122, :_reduce_157,
 
207
 1, 122, :_reduce_158,
 
208
 1, 118, :_reduce_none,
 
209
 2, 118, :_reduce_160,
 
210
 1, 116, :_reduce_none,
 
211
 2, 116, :_reduce_162,
 
212
 1, 123, :_reduce_none,
 
213
 1, 123, :_reduce_none,
 
214
 1, 73, :_reduce_165,
 
215
 3, 98, :_reduce_166,
 
216
 2, 98, :_reduce_167,
 
217
 1, 104, :_reduce_none,
 
218
 1, 104, :_reduce_none,
 
219
 0, 84, :_reduce_none,
 
220
 1, 84, :_reduce_171 ]
 
221
 
 
222
racc_reduce_n = 172
 
223
 
 
224
racc_shift_n = 276
361
225
 
362
226
racc_action_table = [
363
 
    62,    50,    52,    50,    52,    92,    62,    50,    52,    58,
364
 
   157,    79,    62,    50,    52,    80,    73,  -110,    62,    50,
365
 
    52,   158,    73,   127,    62,    50,    52,    79,    73,   152,
366
 
    89,    45,    43,    45,   118,    65,    70,    45,    94,    74,
367
 
   118,    65,    70,    45,  -111,    74,   145,    65,    70,    45,
368
 
  -112,    74,   179,    65,   168,    45,    44,    74,   155,    65,
369
 
   114,    50,    52,    74,    62,    50,    52,    48,   193,   157,
370
 
    62,    50,    52,  -111,   142,   143,    62,    50,    52,  -113,
371
 
    73,   188,    62,    50,    52,  -109,    73,   127,    62,    50,
372
 
    52,    45,    73,   142,   143,    45,    94,   105,    73,    65,
373
 
    70,    45,    36,    74,    73,    65,    70,    45,  -109,    74,
374
 
   214,    65,    70,    45,   126,    74,   147,    65,    70,    45,
375
 
   223,    74,    35,    65,    70,   146,  -110,    74,    62,    50,
376
 
    52,   123,    32,   222,    62,    50,    52,  -110,    32,    31,
377
 
    62,    50,    52,   181,    73,    31,   182,    50,    52,   122,
378
 
    73,   218,   183,    50,    52,    48,    73,   186,   217,    45,
379
 
    39,   203,   118,    65,    70,    45,    39,    74,   118,    65,
380
 
    70,    45,   131,    74,   131,    65,    70,    45,    79,    74,
381
 
    48,    65,   168,    45,   208,    74,   106,    65,   168,    50,
382
 
    52,    74,   105,   183,    40,    50,    52,    41,   186,   211,
383
 
    40,    50,    52,    41,   118,   233,   127,   163,   164,   156,
384
 
   118,    50,    52,   155,   170,   128,   118,    50,    52,    45,
385
 
   150,   216,   219,    65,   168,    45,   118,    74,   131,    65,
386
 
   168,    45,   118,    74,   220,    65,   168,    93,   221,    74,
387
 
   149,    45,    50,    52,   224,    65,   168,    45,    45,    74,
388
 
    80,    65,   168,    94,    93,    74,    56,   118,    48,    50,
389
 
    52,    89,    56,  -114,   247,    45,    50,    52,    93,  -109,
390
 
    94,  -112,    45,  -111,    58,    17,    65,   168,    46,    45,
391
 
    74,    58,    50,    52,    94,    14,  -114,    20,    24,    45,
392
 
     1,     4,   209,     8,    54,    12,    45,    16,   155,    25,
393
 
   148,    54,   231,    17,   142,   143,    93,   161,    86,   246,
394
 
   131,   163,   164,    14,   235,    20,    24,    45,     1,     4,
395
 
    17,     8,    94,    12,   131,    16,   225,    25,    83,   132,
396
 
    14,   139,    20,    24,    81,     1,     4,    17,     8,   241,
397
 
    12,   138,    16,   227,    25,   137,   134,    14,    30,    20,
398
 
    24,  -112,     1,     4,    17,     8,   nil,    12,   nil,    16,
399
 
   228,    25,   nil,   nil,    14,   nil,    20,    24,   nil,     1,
400
 
     4,    17,     8,   nil,    12,   nil,    16,   240,    25,   nil,
401
 
   nil,    14,   nil,    20,    24,   nil,     1,     4,    17,     8,
402
 
   nil,    12,   nil,    16,   243,    25,   nil,   nil,    14,   nil,
403
 
    20,    24,   nil,     1,     4,    17,     8,   nil,    12,   nil,
404
 
    16,   189,    25,   nil,   nil,    14,   nil,    20,    24,   nil,
405
 
     1,     4,    17,     8,   nil,    12,   nil,    16,   191,    25,
406
 
   nil,   nil,    14,   nil,    20,    24,   nil,     1,     4,    17,
407
 
     8,   nil,    12,   nil,    16,   nil,    25,   nil,   nil,    14,
408
 
   nil,    20,    24,   nil,     1,     4,    17,     8,   nil,    12,
409
 
   nil,    16,   nil,    25,   nil,   nil,    14,   nil,    20,    24,
410
 
   nil,     1,     4,    17,     8,   nil,    12,   nil,    16,   nil,
411
 
    25,   nil,   nil,    14,   nil,    20,    24,   nil,     1,     4,
412
 
    17,     8,   nil,    12,   nil,    16,   nil,    25,   nil,   nil,
413
 
    14,   nil,    20,    24,   nil,     1,     4,    17,     8,   nil,
414
 
    12,   nil,    16,   nil,    25,   nil,   nil,    14,   nil,    20,
415
 
    24,   nil,     1,     4,   nil,     8,   nil,    12,   nil,    16,
416
 
   nil,    25 ]
 
227
    71,    51,    53,   184,   162,   102,    71,    51,    53,   132,
 
228
   149,     5,   209,    47,  -127,    87,    71,    51,    53,    88,
 
229
   208,    65,    71,    51,    53,   162,   144,    34,    35,    99,
 
230
    65,    89,   126,  -127,    50,    54,    65,   126,    59,  -123,
 
231
    50,    54,   207,    45,    59,   161,    65,    56,  -126,    45,
 
232
    50,    54,    65,    56,    59,    90,    50,    54,   185,    45,
 
233
    59,    36,   169,    56,    37,    45,    71,    51,    53,    56,
 
234
   204,   206,    47,    51,    53,   200,   149,    51,    53,    33,
 
235
   199,  -122,    71,    51,    53,   238,     1,    65,    71,    51,
 
236
    53,    67,   144,    34,    35,    87,    65,   237,   234,  -123,
 
237
    50,    54,    65,   200,    59,   233,    50,    54,   199,    45,
 
238
    59,   252,    65,    56,    43,    45,    50,    54,    65,    56,
 
239
    59,    33,    50,    54,   156,    45,    59,    36,     1,    56,
 
240
    37,    45,    71,    51,    53,    56,   204,   206,    71,    51,
 
241
    53,   149,   149,    34,    35,   188,   259,   196,    71,    51,
 
242
    53,  -125,    65,    65,    71,    51,    53,   144,   144,    51,
 
243
    53,   202,    65,   162,    33,   168,    50,    54,    65,   137,
 
244
    59,     1,    50,    54,   168,    45,    59,    36,    65,    56,
 
245
    37,    45,    50,   174,    65,    56,    59,  -122,    50,    54,
 
246
   165,   111,    59,  -125,  -122,    56,   127,    45,    71,    51,
 
247
    53,    56,    33,   211,    71,    51,    53,   204,   206,     1,
 
248
     5,   135,   218,   186,    71,    51,    53,   188,   189,   106,
 
249
   125,    51,    53,   221,   222,   231,   140,   140,    65,   225,
 
250
   126,  -124,    50,    54,    65,   228,    59,    47,    50,    54,
 
251
  -139,    45,    59,   123,    65,    56,   106,    45,    50,   112,
 
252
    65,    56,    59,  -124,    50,   174,   134,   111,    59,    51,
 
253
    53,    56,   164,   111,   239,    51,    53,    56,   240,   241,
 
254
   242,  -124,    96,   140,  -126,    51,    53,    93,   179,   168,
 
255
    91,    51,    53,   159,   181,   260,   262,    85,    65,   157,
 
256
    88,   133,    50,   174,    65,    41,    59,  -124,    50,    54,
 
257
   128,   111,    59,  -122,    65,    56,    43,    45,    50,   174,
 
258
    65,    56,    59,  -125,    50,    54,  -123,   111,    59,    51,
 
259
    53,    56,    43,    45,  -127,    51,    53,    56,   176,    40,
 
260
   269,  -171,   270,  -128,  -123,    51,    53,   152,  -125,   nil,
 
261
   nil,    51,    53,   nil,   nil,   nil,   nil,   nil,    65,   nil,
 
262
   nil,   nil,    50,   174,    65,   nil,    59,   nil,    50,   174,
 
263
    43,   111,    59,   nil,    65,    56,   nil,   111,    50,   174,
 
264
    65,    56,    59,   254,    50,   174,   nil,   111,    59,    51,
 
265
    53,    56,   nil,   111,   nil,    51,    53,    56,   nil,   nil,
 
266
   nil,   nil,   nil,    15,   nil,    19,    21,   nil,    28,     2,
 
267
   nil,     8,   nil,    13,   nil,    17,   nil,    22,    65,   nil,
 
268
     1,     5,    50,   174,    65,   264,    59,   nil,    50,   174,
 
269
   nil,   111,    59,   nil,   nil,    56,   nil,   111,   nil,   nil,
 
270
   nil,    56,   nil,   nil,   271,    15,   nil,    19,    21,   nil,
 
271
    28,     2,   nil,     8,   nil,    13,   nil,    17,   nil,    22,
 
272
   nil,   nil,     1,     5,    15,   212,    19,    21,   nil,    28,
 
273
     2,   nil,     8,   nil,    13,   nil,    17,   nil,    22,   nil,
 
274
   nil,     1,     5,   nil,   230,    15,   nil,    19,    21,   nil,
 
275
    28,     2,   nil,     8,   nil,    13,   nil,    17,   nil,    22,
 
276
   nil,   nil,     1,     5,    15,   253,    19,    21,   nil,    28,
 
277
     2,   nil,     8,   nil,    13,   nil,    17,   nil,    22,   nil,
 
278
   nil,     1,     5,   nil,   214,    15,   nil,    19,    21,   nil,
 
279
    28,     2,   nil,     8,   nil,    13,   nil,    17,   nil,    22,
 
280
   nil,   nil,     1,     5,    15,   274,    19,    21,   nil,    28,
 
281
     2,   nil,     8,   nil,    13,   nil,    17,   nil,    22,   nil,
 
282
   nil,     1,     5,   nil,   235,    15,   nil,    19,    21,   nil,
 
283
    28,     2,   nil,     8,   nil,    13,   nil,    17,   nil,    22,
 
284
   nil,   nil,     1,     5,    15,   275,    19,    21,   nil,    28,
 
285
     2,   nil,     8,   nil,    13,   nil,    17,   nil,    22,   nil,
 
286
   nil,     1,     5,   nil,   nil,    15,   nil,    19,    21,   nil,
 
287
    28,     2,   nil,     8,   nil,    13,   nil,    17,   nil,    22,
 
288
   nil,   nil,     1,     5,    15,   nil,    19,    21,   nil,    28,
 
289
     2,   nil,     8,   nil,    13,   nil,    17,   nil,    22,   nil,
 
290
   nil,     1,     5,    15,   nil,    19,    21,   nil,    28,     2,
 
291
   nil,     8,   nil,    13,   nil,    17,   nil,    22,   nil,   nil,
 
292
     1,     5,    15,   nil,    19,    21,   nil,    28,     2,   nil,
 
293
     8,   nil,    13,   nil,    17,   nil,    22,   nil,   nil,     1,
 
294
     5,    15,   nil,    19,    21,   nil,    28,     2,   nil,     8,
 
295
   nil,    13,   nil,    17,   nil,    22,   nil,   nil,     1,     5 ]
417
296
 
418
297
racc_action_check = [
419
 
    48,    48,    48,   105,   105,    37,    79,    79,    79,   106,
420
 
   114,    17,   162,   162,   162,    17,    48,   195,   158,   158,
421
 
   158,   120,    79,   114,    56,    56,    56,    73,   162,   106,
422
 
    37,    48,     9,   105,   158,    48,    48,    79,   105,    48,
423
 
    56,    79,    79,   162,    72,    79,    96,   162,   162,   158,
424
 
    71,   162,   129,   158,   158,    56,     9,   158,   130,    56,
425
 
    56,   127,   127,    56,   157,   157,   157,    70,   141,   131,
426
 
    30,    30,    30,   117,    96,    96,    14,    14,    14,    77,
427
 
   157,   136,    16,    16,    16,   113,    30,    70,   211,   211,
428
 
   211,   127,    14,   141,   141,   157,   127,   174,    16,   157,
429
 
   157,    30,     6,   157,   211,    30,    30,    14,    69,    30,
430
 
   174,    14,    14,    16,    67,    14,   100,    16,    16,   211,
431
 
   185,    16,     6,   211,   211,   100,   110,   211,    62,    62,
432
 
    62,    62,     4,   185,   224,   224,   224,    63,    24,     4,
433
 
   220,   220,   220,   133,    62,    24,   133,   146,   146,    61,
434
 
   224,   177,   134,   218,   218,   152,   220,   134,   177,    62,
435
 
     8,   154,   146,    62,    62,   224,    92,    62,   218,   224,
436
 
   224,   220,   155,   224,   156,   220,   220,   146,    58,   220,
437
 
    54,   146,   146,   218,   159,   146,    51,   218,   218,   234,
438
 
   234,   218,    49,   223,     8,   170,   170,     8,   223,   167,
439
 
    92,   147,   147,    92,   234,   213,   168,   213,   213,   109,
440
 
   170,   126,   126,   108,   126,    78,   147,   175,   175,   234,
441
 
   104,   175,   180,   234,   234,   170,   126,   234,   182,   170,
442
 
   170,   147,   175,   170,   183,   147,   147,    44,   184,   147,
443
 
   103,   126,   128,   128,   186,   126,   126,   175,    44,   126,
444
 
    36,   175,   175,    44,    93,   175,    35,   128,    12,    12,
445
 
    12,    33,    12,    76,   245,    93,    46,    46,   144,   197,
446
 
    93,   198,   128,   199,    12,   245,   128,   128,    12,   144,
447
 
   128,    46,    20,    20,   144,   245,   200,   245,   245,    12,
448
 
   245,   245,   160,   245,    12,   245,    46,   245,   205,   245,
449
 
   102,    46,   209,   160,   102,   102,    43,   125,    25,   244,
450
 
    80,   125,   125,   160,   217,   160,   160,    43,   160,   160,
451
 
   244,   160,    43,   160,    83,   160,   188,   160,    21,    81,
452
 
   244,    91,   244,   244,    19,   244,   244,   188,   244,   231,
453
 
   244,    89,   244,   190,   244,    88,    85,   188,     1,   188,
454
 
   188,   116,   188,   188,   190,   188,   nil,   188,   nil,   188,
455
 
   192,   188,   nil,   nil,   190,   nil,   190,   190,   nil,   190,
456
 
   190,   192,   190,   nil,   190,   nil,   190,   226,   190,   nil,
457
 
   nil,   192,   nil,   192,   192,   nil,   192,   192,   226,   192,
458
 
   nil,   192,   nil,   192,   235,   192,   nil,   nil,   226,   nil,
459
 
   226,   226,   nil,   226,   226,   235,   226,   nil,   226,   nil,
460
 
   226,   137,   226,   nil,   nil,   235,   nil,   235,   235,   nil,
461
 
   235,   235,   137,   235,   nil,   235,   nil,   235,   139,   235,
462
 
   nil,   nil,   137,   nil,   137,   137,   nil,   137,   137,   139,
463
 
   137,   nil,   137,   nil,   137,   nil,   137,   nil,   nil,   139,
464
 
   nil,   139,   139,   nil,   139,   139,   241,   139,   nil,   139,
465
 
   nil,   139,   nil,   139,   nil,   nil,   241,   nil,   241,   241,
466
 
   nil,   241,   241,    23,   241,   nil,   241,   nil,   241,   nil,
467
 
   241,   nil,   nil,    23,   nil,    23,    23,   nil,    23,    23,
468
 
   122,    23,   nil,    23,   nil,    23,   nil,    23,   nil,   nil,
469
 
   122,   nil,   122,   122,   nil,   122,   122,     0,   122,   nil,
470
 
   122,   nil,   122,   nil,   122,   nil,   nil,     0,   nil,     0,
471
 
     0,   nil,     0,     0,   nil,     0,   nil,     0,   nil,     0,
472
 
   nil,     0 ]
 
298
    93,    93,    93,   127,   106,    38,    71,    71,    71,    71,
 
299
    90,   127,   146,    54,    78,    23,    87,    87,    87,    23,
 
300
   146,    90,   161,   161,   161,   112,    90,   102,   102,    38,
 
301
    93,    23,    54,    64,    93,    93,    71,   112,    93,    62,
 
302
    71,    71,   142,    93,    71,   106,    87,    93,    66,    71,
 
303
    87,    87,   161,    71,    87,    23,   161,   161,   129,    87,
 
304
   161,   102,   119,    87,   102,   161,   240,   240,   240,   161,
 
305
   142,   142,    13,    13,    13,   238,   149,   135,   135,     2,
 
306
   238,    74,    15,    15,    15,   197,     2,   149,    17,    17,
 
307
    17,    13,   149,    99,    99,    61,   240,   197,   194,   118,
 
308
   240,   240,    13,   137,   240,   194,    13,    13,   137,   240,
 
309
    13,   210,    15,   240,    13,    13,    15,    15,    17,    13,
 
310
    15,    96,    17,    17,    96,    15,    17,    99,    96,    15,
 
311
    99,    17,   239,   239,   239,    17,   210,   210,   162,   162,
 
312
   162,    89,   205,     8,     8,   227,   227,   136,   165,   165,
 
313
   165,   116,    89,   205,    47,    47,    47,    89,   205,    19,
 
314
    19,   139,   239,   140,    21,   141,   239,   239,   162,    84,
 
315
   239,    21,   162,   162,   115,   239,   162,     8,   165,   239,
 
316
     8,   162,   165,   165,    47,   162,   165,   114,    47,    47,
 
317
   113,   165,    47,    60,    58,   165,    55,    47,   225,   225,
 
318
   225,    47,    29,   151,   187,   187,   187,   151,   151,    29,
 
319
    29,    83,   163,   131,    41,    41,    41,   131,   131,   164,
 
320
    52,   192,   192,   166,   167,   192,   168,   169,   225,   170,
 
321
   174,    46,   225,   225,   187,   182,   225,   184,   187,   187,
 
322
    45,   225,   187,    42,    41,   225,    40,   187,    41,    41,
 
323
   192,   187,    41,   110,   192,   192,    81,    41,   192,   208,
 
324
   208,    41,   107,   192,   199,   126,   126,   192,   200,   201,
 
325
   203,    70,    32,    88,    79,   209,   209,    28,   124,   224,
 
326
    25,    67,    67,   100,   126,   230,   233,    22,   208,    97,
 
327
    95,    73,   208,   208,   126,    11,   208,   245,   126,   126,
 
328
    67,   208,   126,   246,   209,   208,   126,   126,   209,   209,
 
329
    67,   126,   209,   248,    67,    67,   249,   209,    67,   125,
 
330
   125,   209,    67,    67,   250,   123,   123,    67,   123,     9,
 
331
   258,   259,   260,    77,    76,   176,   176,    91,    75,   nil,
 
332
   nil,   134,   134,   nil,   nil,   nil,   nil,   nil,   125,   nil,
 
333
   nil,   nil,   125,   125,   123,   nil,   125,   nil,   123,   123,
 
334
   125,   125,   123,   nil,   176,   125,   nil,   123,   176,   176,
 
335
   134,   123,   176,   215,   134,   134,   nil,   176,   134,   234,
 
336
   234,   176,   nil,   134,   nil,   257,   257,   134,   nil,   nil,
 
337
   nil,   nil,   nil,   215,   nil,   215,   215,   nil,   215,   215,
 
338
   nil,   215,   nil,   215,   nil,   215,   nil,   215,   234,   nil,
 
339
   215,   215,   234,   234,   257,   236,   234,   nil,   257,   257,
 
340
   nil,   234,   257,   nil,   nil,   234,   nil,   257,   nil,   nil,
 
341
   nil,   257,   nil,   nil,   262,   236,   nil,   236,   236,   nil,
 
342
   236,   236,   nil,   236,   nil,   236,   nil,   236,   nil,   236,
 
343
   nil,   nil,   236,   236,   262,   157,   262,   262,   nil,   262,
 
344
   262,   nil,   262,   nil,   262,   nil,   262,   nil,   262,   nil,
 
345
   nil,   262,   262,   nil,   190,   157,   nil,   157,   157,   nil,
 
346
   157,   157,   nil,   157,   nil,   157,   nil,   157,   nil,   157,
 
347
   nil,   nil,   157,   157,   190,   213,   190,   190,   nil,   190,
 
348
   190,   nil,   190,   nil,   190,   nil,   190,   nil,   190,   nil,
 
349
   nil,   190,   190,   nil,   159,   213,   nil,   213,   213,   nil,
 
350
   213,   213,   nil,   213,   nil,   213,   nil,   213,   nil,   213,
 
351
   nil,   nil,   213,   213,   159,   272,   159,   159,   nil,   159,
 
352
   159,   nil,   159,   nil,   159,   nil,   159,   nil,   159,   nil,
 
353
   nil,   159,   159,   nil,   196,   272,   nil,   272,   272,   nil,
 
354
   272,   272,   nil,   272,   nil,   272,   nil,   272,   nil,   272,
 
355
   nil,   nil,   272,   272,   196,   273,   196,   196,   nil,   196,
 
356
   196,   nil,   196,   nil,   196,   nil,   196,   nil,   196,   nil,
 
357
   nil,   196,   196,   nil,   nil,   273,   nil,   273,   273,   nil,
 
358
   273,   273,   nil,   273,   nil,   273,   nil,   273,   nil,   273,
 
359
   nil,   nil,   273,   273,   133,   nil,   133,   133,   nil,   133,
 
360
   133,   nil,   133,   nil,   133,   nil,   133,   nil,   133,   nil,
 
361
   nil,   133,   133,   270,   nil,   270,   270,   nil,   270,   270,
 
362
   nil,   270,   nil,   270,   nil,   270,   nil,   270,   nil,   nil,
 
363
   270,   270,    27,   nil,    27,    27,   nil,    27,    27,   nil,
 
364
    27,   nil,    27,   nil,    27,   nil,    27,   nil,   nil,    27,
 
365
    27,     0,   nil,     0,     0,   nil,     0,     0,   nil,     0,
 
366
   nil,     0,   nil,     0,   nil,     0,   nil,   nil,     0,     0 ]
473
367
 
474
368
racc_action_pointer = [
475
 
   489,   335,   nil,   nil,    94,   nil,    84,   nil,   156,    13,
476
 
   nil,   nil,   256,   nil,    74,   nil,    80,     9,   nil,   334,
477
 
   279,   322,   nil,   455,   100,   266,   nil,   nil,   nil,   nil,
478
 
    68,   nil,   nil,   226,   nil,   250,   244,    -5,   nil,   nil,
479
 
   nil,   nil,   nil,   284,   215,   nil,   263,   nil,    -2,   182,
480
 
   nil,   176,   nil,   nil,   178,   nil,    22,   nil,   176,   nil,
481
 
   nil,   143,   126,   116,   nil,   nil,   nil,    93,   nil,    87,
482
 
    65,    29,    23,    25,   nil,   nil,   242,    58,   209,     4,
483
 
   272,   329,   nil,   286,   nil,   324,   nil,   nil,   339,   303,
484
 
   nil,   325,   162,   232,   nil,   nil,    26,   nil,   nil,   nil,
485
 
   101,   nil,   256,   217,   215,     0,    -9,   nil,   203,   192,
486
 
   105,   nil,   nil,    64,     1,   nil,   330,    52,   nil,   nil,
487
 
   -18,   nil,   472,   nil,   nil,   302,   208,    58,   239,    47,
488
 
    48,    60,   nil,   136,   119,   nil,    75,   404,   nil,   421,
489
 
   nil,    45,   nil,   nil,   246,   nil,   144,   198,   nil,   nil,
490
 
   nil,   nil,   153,   nil,   154,   134,   136,    62,    16,   177,
491
 
   285,   nil,    10,   nil,   nil,   nil,   nil,   190,   184,   nil,
492
 
   192,   nil,   nil,   nil,    87,   214,   nil,   141,   nil,   nil,
493
 
   215,   nil,   190,   221,   215,   110,   231,   nil,   319,   nil,
494
 
   336,   nil,   353,   nil,   nil,    -4,   nil,   248,   250,   252,
495
 
   265,   nil,   nil,   nil,   nil,   288,   nil,   nil,   nil,   273,
496
 
   nil,    86,   nil,   198,   nil,   nil,   nil,   308,   150,   nil,
497
 
   138,   nil,   nil,   160,   132,   nil,   370,   nil,   nil,   nil,
498
 
   nil,   333,   nil,   nil,   186,   387,   nil,   nil,   nil,   nil,
499
 
   nil,   438,   nil,   nil,   302,   257,   nil,   nil ]
 
369
   644,   nil,    42,   nil,   nil,   nil,   nil,   nil,   140,   323,
 
370
   nil,   289,   nil,    70,   nil,    80,   nil,    86,   nil,   156,
 
371
   nil,   127,   246,    13,   nil,   280,   nil,   625,   264,   165,
 
372
   nil,   nil,   238,   nil,   nil,   nil,   nil,   nil,    -5,   nil,
 
373
   209,   212,   223,   nil,   nil,   238,   211,   152,   nil,   nil,
 
374
   nil,   nil,   210,   nil,    11,   186,   nil,   nil,   174,   nil,
 
375
   173,    93,    19,   nil,    13,   nil,    28,   278,   nil,   nil,
 
376
   251,     4,   nil,   285,    61,   318,   314,   313,    -6,   254,
 
377
   nil,   250,   nil,   201,   148,   nil,   nil,    14,   236,   120,
 
378
   -11,   337,   nil,    -2,   nil,   284,    84,   283,   nil,    90,
 
379
   277,   nil,    24,   nil,   nil,   nil,    -5,   252,   nil,   nil,
 
380
   233,   nil,    16,   152,   167,   164,   131,   nil,    79,    45,
 
381
   nil,   nil,   nil,   322,   273,   316,   262,   -34,   nil,    36,
 
382
   nil,   208,   nil,   587,   338,    74,   141,    71,   nil,   156,
 
383
   154,   155,    23,   nil,   nil,   nil,    -3,   nil,   nil,    55,
 
384
   nil,   160,   nil,   nil,   nil,   nil,   nil,   448,   nil,   507,
 
385
   nil,    20,   136,   205,   182,   146,   216,   217,   189,   190,
 
386
   220,   nil,   nil,   nil,   209,   nil,   332,   nil,   nil,   nil,
 
387
   nil,   nil,   213,   nil,   235,   nil,   nil,   202,   nil,   nil,
 
388
   467,   nil,   218,   nil,    88,   nil,   547,    75,   nil,   251,
 
389
   255,   247,   nil,   263,   nil,   121,   nil,   nil,   256,   272,
 
390
    89,   nil,   nil,   488,   nil,   366,   nil,   nil,   nil,   nil,
 
391
   nil,   nil,   nil,   nil,   269,   196,   nil,   136,   nil,   nil,
 
392
   257,   nil,   nil,   280,   376,   nil,   408,   nil,    43,   130,
 
393
    64,   nil,   nil,   nil,   nil,   277,   283,   nil,   293,   296,
 
394
   304,   nil,   nil,   nil,   nil,   nil,   nil,   382,   323,   324,
 
395
   326,   nil,   427,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 
396
   606,   nil,   528,   568,   nil,   nil ]
500
397
 
501
398
racc_action_default = [
502
 
  -130,  -150,   -16,    -5,  -150,    -6,  -150,    -7,  -150,  -150,
503
 
    -8,    -9,   -37,   -10,  -150,   -11,  -150,   -36,   -12,  -150,
504
 
  -150,  -150,   -13,    -1,  -150,   -33,   -14,    -2,   -15,    -3,
505
 
  -150,  -124,  -123,  -130,   -32,  -150,  -150,  -130,  -125,  -128,
506
 
  -127,  -129,   -35,  -130,  -130,  -143,  -150,   -18,  -150,   -19,
507
 
   -87,   -20,   -88,   -21,   -56,   -23,   -65,   -24,  -150,   -25,
508
 
   -26,  -150,  -150,   -79,   -81,   -89,   -83,  -150,   -95,   -78,
509
 
   -56,   -82,   -77,   -57,  -115,   -84,   -80,   -85,  -150,  -150,
510
 
   -65,  -150,  -116,   -65,    -4,  -130,   -34,   -64,  -150,  -150,
511
 
  -141,  -150,  -150,  -130,   -56,   -50,  -150,   -49,   -41,   -43,
512
 
  -150,   -40,  -150,  -150,  -150,  -150,  -150,   -52,  -148,  -150,
513
 
   -60,   -61,   -63,   -59,   -56,   -66,   -62,   -58,   -57,  -114,
514
 
   -54,  -113,  -150,  -145,   -69,  -150,  -150,  -150,  -150,  -150,
515
 
  -148,  -150,   248,  -150,  -131,  -132,  -150,  -150,  -142,  -150,
516
 
  -126,  -150,   -46,   -45,  -150,   -39,  -150,  -150,   -38,   -17,
517
 
   -90,   -22,  -150,   -27,  -150,  -149,   -65,  -150,   -55,  -150,
518
 
  -150,  -144,  -150,  -146,  -147,  -110,  -109,  -150,   -56,  -112,
519
 
  -150,  -103,  -111,  -104,  -150,  -150,   -97,  -150,  -101,   -91,
520
 
  -150,   -31,  -150,  -140,  -150,  -150,  -138,  -135,  -150,  -120,
521
 
  -150,  -122,  -150,   -44,   -42,   -73,   -75,   -72,   -76,   -71,
522
 
   -74,   -47,   -48,   -29,   -67,  -148,   -68,   -53,   -28,   -93,
523
 
   -70,  -150,  -106,  -150,   -86,   -98,   -96,  -150,  -150,   -30,
524
 
  -150,  -133,  -134,  -150,  -150,  -118,  -150,  -119,  -121,   -51,
525
 
   -92,  -150,  -108,  -105,  -150,  -150,  -102,  -139,  -136,  -137,
526
 
  -117,  -150,  -107,  -100,  -150,  -150,   -99,   -94 ]
 
399
  -148,  -141,  -172,   -15,    -3,  -139,   -16,    -5,  -172,  -172,
 
400
    -6,  -172,    -7,  -140,    -8,  -172,    -9,  -172,   -10,  -172,
 
401
   -11,  -172,   -39,  -172,   -12,  -172,   -13,    -1,  -172,  -172,
 
402
   -14,    -2,  -148,  -140,  -146,  -145,  -144,  -147,  -148,  -142,
 
403
   -77,   -70,  -172,   -31,   -29,   -62,   -30,  -172,   -32,   -19,
 
404
  -102,  -100,   -20,  -101,   -61,   -21,   -60,   -22,   -24,  -129,
 
405
   -25,  -172,   -26,  -128,   -27,  -165,   -28,  -172,  -108,   -92,
 
406
   -88,  -172,   -95,  -172,   -89,   -93,   -90,   -97,   -91,   -96,
 
407
   -94,  -172,  -130,  -132,  -148,   -40,   -41,  -172,   -70,  -148,
 
408
  -148,  -172,    -4,  -172,   -38,  -172,  -172,  -172,  -161,  -172,
 
409
  -172,  -159,  -172,   -75,   -76,   -78,  -172,  -170,   -66,   -71,
 
410
   -63,   -62,   -61,   -58,   -64,  -170,   -67,   -56,   -65,  -172,
 
411
  -127,  -126,   -68,  -172,  -172,  -172,  -172,  -172,   -18,  -172,
 
412
   -80,  -172,  -167,  -172,  -172,  -172,  -172,  -149,  -150,  -172,
 
413
  -172,  -170,  -172,   -45,   -61,   -47,  -172,   -54,   -53,  -148,
 
414
   -44,  -172,   276,   -69,  -162,  -163,  -164,  -172,  -160,  -172,
 
415
  -143,  -172,  -172,  -172,  -171,   -59,  -172,  -172,  -171,   -70,
 
416
  -172,  -124,  -116,  -117,   -61,  -122,  -172,  -125,  -123,  -103,
 
417
   -23,   -99,  -172,   -33,  -172,   -17,  -166,  -172,  -168,  -169,
 
418
  -172,  -114,  -172,  -110,  -172,  -131,  -172,  -172,  -153,  -156,
 
419
  -158,  -172,  -104,  -172,   -50,  -172,   -49,   -43,  -172,  -172,
 
420
  -172,   -42,  -136,  -172,  -138,  -172,   -74,   -73,   -37,   -79,
 
421
   -57,   -34,   -35,   -72,  -170,  -172,  -119,  -170,   -98,   -81,
 
422
  -106,  -109,  -111,  -172,  -172,  -134,  -172,  -152,  -172,  -172,
 
423
  -172,  -151,   -36,   -46,   -86,   -82,   -83,   -51,   -87,   -84,
 
424
   -85,   -52,   -48,  -135,  -137,   -55,  -121,  -172,  -172,  -169,
 
425
  -172,  -105,  -172,  -115,  -133,  -154,  -155,  -157,  -120,  -118,
 
426
  -172,  -113,  -172,  -172,  -112,  -107 ]
527
427
 
528
428
racc_goto_table = [
529
 
    23,    59,   173,    84,   107,   108,    38,   187,    33,    82,
530
 
    57,   112,   167,   204,   178,   154,    55,   111,    96,   102,
531
 
   176,    88,   175,   162,    47,    91,   201,   202,    85,   130,
532
 
   125,    61,   133,   230,   174,    59,   151,   180,    27,    34,
533
 
   204,    97,    97,   171,    57,   117,   212,    95,    95,   120,
534
 
    55,   213,   159,    68,   116,    78,   167,   136,   103,    42,
535
 
   113,   178,    37,   194,   184,   185,    19,   215,   141,    87,
536
 
   nil,    90,   nil,   nil,   nil,    90,   nil,   nil,   nil,   nil,
537
 
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   104,   nil,   nil,
538
 
   140,    97,   nil,   nil,    59,   119,   238,    95,   nil,   nil,
539
 
   nil,   124,   nil,    57,   236,   205,   207,   196,   196,    55,
540
 
   242,   234,   229,   112,   nil,   172,    59,   172,   129,   111,
541
 
   167,   nil,   160,   135,   169,    57,   169,   nil,   nil,   nil,
542
 
   166,    55,   166,   nil,   nil,   199,   199,   190,   nil,   192,
543
 
    84,   nil,    97,   nil,   198,   198,   nil,   117,    95,   nil,
544
 
   197,   197,   nil,    60,   nil,    75,   116,    75,   121,   172,
545
 
   nil,   nil,   113,   nil,   172,   119,   nil,   119,   169,   nil,
546
 
    84,    75,    84,   169,   166,   nil,   nil,   nil,   nil,   166,
547
 
   nil,   nil,   nil,   nil,   nil,   200,   200,    60,   226,    75,
548
 
   nil,   nil,   110,   nil,   nil,   nil,   206,   119,   nil,   nil,
549
 
   nil,   210,   nil,    75,   nil,   nil,    84,   172,   nil,   119,
550
 
   nil,   nil,   nil,   nil,   119,   nil,   169,   nil,   nil,   nil,
551
 
    75,   nil,   166,   172,    84,    84,   nil,   nil,   121,   nil,
552
 
   121,   nil,   169,   nil,   nil,   244,   nil,   nil,   166,   nil,
553
 
   nil,   245,   nil,   nil,   nil,   nil,   nil,   153,   121,   121,
554
 
   232,   nil,   nil,   nil,   nil,   nil,   nil,   119,   nil,   237,
555
 
   121,   nil,   165,   239,   165,   nil,   nil,   nil,   nil,   nil,
556
 
   nil,   nil,   121,   119,   nil,   nil,   nil,   121,   nil,   nil,
557
 
   nil,   nil,   195,   195,   nil,   nil,   nil,   nil,   nil,   nil,
558
 
   nil,   nil,   nil,   nil,   110,   nil,   nil,   nil,    75,   nil,
559
 
   nil,   nil,   nil,    75,   nil,   nil,   165,   nil,   nil,   nil,
560
 
   nil,   165,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
561
 
   121,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
562
 
   nil,   nil,   nil,   nil,   nil,   nil,   121,   nil,   nil,   nil,
563
 
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
564
 
   nil,   nil,    75,   nil,   165,   nil,   nil,   nil,   nil,   nil,
565
 
   nil,    75,   nil,   nil,   nil,    75,   nil,   nil,   nil,   nil,
566
 
   165 ]
 
429
    23,    27,   122,    92,   173,   105,   198,    49,   117,    46,
 
430
   187,    39,    31,   170,    32,    82,   193,   103,   115,    25,
 
431
   142,   151,   243,    44,   191,   247,   251,    23,   131,    95,
 
432
    64,    86,    73,    84,   261,   192,   107,   110,   166,   172,
 
433
   113,   227,    83,    62,    98,   163,   136,    97,    38,   100,
 
434
   101,   108,   180,   167,   201,   197,    94,   226,   120,   154,
 
435
   nil,   129,   nil,    46,    66,   141,   170,   nil,   nil,   nil,
 
436
   nil,   118,   nil,   nil,   232,   nil,   nil,    44,   nil,   203,
 
437
   210,   nil,   191,   nil,    64,   nil,   nil,   nil,   nil,   nil,
 
438
   nil,   nil,   121,   nil,   nil,   nil,   138,    62,   nil,   nil,
 
439
   nil,   nil,   158,   nil,   nil,   160,   257,   265,   155,   nil,
 
440
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    66,   171,
 
441
   182,    46,    46,   nil,   263,   nil,   122,   nil,   nil,   219,
 
442
   171,   195,   220,    23,   190,    44,    44,   nil,   268,   nil,
 
443
   120,   103,    64,    64,   nil,   223,   224,   170,   nil,   nil,
 
444
   nil,   120,   nil,   178,   nil,    62,    62,    23,   213,    23,
 
445
   215,   110,   255,   nil,   178,   258,    92,   nil,   nil,   nil,
 
446
    60,   nil,   171,   nil,   121,   108,    66,    66,   nil,   nil,
 
447
    58,   nil,   120,   nil,   nil,   121,   nil,   nil,   171,    92,
 
448
    23,    92,   nil,   120,   nil,   118,    23,   236,   116,   nil,
 
449
   nil,   nil,   nil,   nil,   245,   245,   178,   nil,   114,   120,
 
450
   nil,   nil,    92,    23,   nil,    23,   121,   nil,   244,   244,
 
451
   nil,   nil,   178,   nil,    60,   250,   250,   121,   nil,   nil,
 
452
   171,   nil,   nil,   nil,    58,   nil,    23,   nil,   249,   249,
 
453
   nil,   nil,   nil,   121,   nil,   nil,   148,   148,    92,    92,
 
454
   nil,   120,   nil,   171,   nil,   nil,   147,   147,   nil,   121,
 
455
   121,   nil,    23,   272,   178,   nil,   nil,   nil,   nil,   nil,
 
456
    23,   273,    23,    23,   120,    68,   nil,    81,   nil,    77,
 
457
   177,    77,    60,    60,    48,   121,    72,   178,    72,   nil,
 
458
   175,   177,    58,    58,   nil,   nil,   nil,   nil,   nil,   nil,
 
459
   nil,   175,   nil,   nil,   nil,   nil,   148,   124,   121,   nil,
 
460
   nil,    77,   nil,   nil,   nil,   nil,   147,   nil,    72,   nil,
 
461
   nil,   nil,   116,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 
462
   nil,   130,   114,   177,   nil,    77,   nil,   nil,    48,   nil,
 
463
   nil,   nil,    72,   175,   nil,   nil,   nil,   139,   nil,   177,
 
464
   nil,    77,   nil,   153,   nil,   nil,   nil,    77,    72,   175,
 
465
   nil,   nil,   148,   nil,    72,   248,   248,   nil,   nil,   nil,
 
466
   nil,   nil,   147,   nil,   nil,   246,   246,   nil,   nil,   nil,
 
467
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 
468
   nil,   177,   nil,   nil,   nil,   nil,   nil,    48,   183,   nil,
 
469
   nil,   175,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 
470
   nil,   nil,   nil,   nil,   177,   nil,   nil,   nil,   nil,   nil,
 
471
   nil,   216,   217,   nil,   175,    77,    77,   nil,   nil,   nil,
 
472
   nil,   nil,    72,    72,   nil,   nil,   nil,   nil,   nil,   nil,
 
473
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   229,   nil,   nil,
 
474
   nil,    77,   nil,   nil,   nil,   nil,   nil,   nil,    72,   nil,
 
475
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 
476
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 
477
   nil,   nil,   nil,   nil,   nil,   256,   nil,   nil,   nil,    77,
 
478
   nil,   nil,   nil,   nil,   nil,   nil,    72,   nil,   nil,   266,
 
479
   267,   nil,   nil,    77,    77,   nil,   nil,   nil,   nil,   nil,
 
480
    72,    72 ]
567
481
 
568
482
racc_goto_check = [
569
 
     2,    23,    56,     4,    38,    27,    62,    65,    58,    23,
570
 
    22,    42,    54,    44,    54,    28,    21,    41,    32,    32,
571
 
    52,    60,    51,    46,    17,    60,    37,    37,    58,    27,
572
 
    45,    49,    27,    50,    18,    23,    20,    28,     3,     5,
573
 
    44,    22,    22,    55,    22,    23,    56,    21,    21,    25,
574
 
    21,    57,    26,    43,    22,    43,    54,    59,    17,    31,
575
 
    21,    54,    61,    33,    63,    64,     1,    52,    32,    43,
576
 
   nil,     3,   nil,   nil,   nil,     3,   nil,   nil,   nil,   nil,
577
 
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    43,   nil,   nil,
578
 
    62,    22,   nil,   nil,    23,    47,    65,    21,   nil,   nil,
579
 
   nil,    43,   nil,    22,    54,    27,    38,    41,    41,    21,
580
 
    56,    46,    28,    42,   nil,    23,    23,    23,    43,    41,
581
 
    54,   nil,     2,     3,    22,    22,    22,   nil,   nil,   nil,
582
 
    21,    21,    21,   nil,   nil,    23,    23,     2,   nil,     2,
583
 
     4,   nil,    22,   nil,    22,    22,   nil,    23,    21,   nil,
584
 
    21,    21,   nil,    24,   nil,    24,    22,    24,    48,    23,
585
 
   nil,   nil,    21,   nil,    23,    47,   nil,    47,    22,   nil,
586
 
     4,    24,     4,    22,    21,   nil,   nil,   nil,   nil,    21,
587
 
   nil,   nil,   nil,   nil,   nil,    47,    47,    24,     2,    24,
588
 
   nil,   nil,    40,   nil,   nil,   nil,    43,    47,   nil,   nil,
589
 
   nil,    43,   nil,    24,   nil,   nil,     4,    23,   nil,    47,
590
 
   nil,   nil,   nil,   nil,    47,   nil,    22,   nil,   nil,   nil,
591
 
    24,   nil,    21,    23,     4,     4,   nil,   nil,    48,   nil,
592
 
    48,   nil,    22,   nil,   nil,     2,   nil,   nil,    21,   nil,
593
 
   nil,     2,   nil,   nil,   nil,   nil,   nil,    24,    48,    48,
594
 
    43,   nil,   nil,   nil,   nil,   nil,   nil,    47,   nil,    43,
595
 
    48,   nil,    40,    43,    40,   nil,   nil,   nil,   nil,   nil,
596
 
   nil,   nil,    48,    47,   nil,   nil,   nil,    48,   nil,   nil,
597
 
   nil,   nil,    40,    40,   nil,   nil,   nil,   nil,   nil,   nil,
598
 
   nil,   nil,   nil,   nil,    40,   nil,   nil,   nil,    24,   nil,
599
 
   nil,   nil,   nil,    24,   nil,   nil,    40,   nil,   nil,   nil,
600
 
   nil,    40,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
601
 
    48,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
602
 
   nil,   nil,   nil,   nil,   nil,   nil,    48,   nil,   nil,   nil,
603
 
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
604
 
   nil,   nil,    24,   nil,    40,   nil,   nil,   nil,   nil,   nil,
605
 
   nil,    24,   nil,   nil,   nil,    24,   nil,   nil,   nil,   nil,
606
 
    40 ]
 
483
    34,     2,    47,     4,    61,    51,    71,    17,    44,    27,
 
484
    53,    68,     3,    59,    29,    27,    57,    49,    32,     1,
 
485
    38,    38,    39,    26,    59,    43,    43,    34,    52,    34,
 
486
    24,    37,    54,    29,    55,    56,    35,    27,    31,    60,
 
487
    30,    62,    63,    23,     3,    33,    64,    65,    66,    67,
 
488
     3,    26,    20,    33,    69,    70,     5,    61,    24,    72,
 
489
   nil,    17,   nil,    27,    25,    32,    59,   nil,   nil,   nil,
 
490
   nil,    23,   nil,   nil,    57,   nil,   nil,    26,   nil,    33,
 
491
    38,   nil,    59,   nil,    24,   nil,   nil,   nil,   nil,   nil,
 
492
   nil,   nil,    25,   nil,   nil,   nil,     3,    23,   nil,   nil,
 
493
   nil,   nil,    68,   nil,   nil,    68,    53,    71,    29,   nil,
 
494
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    25,    27,
 
495
    17,    27,    27,   nil,    59,   nil,    47,   nil,   nil,    51,
 
496
    27,    27,    44,    34,     2,    26,    26,   nil,    61,   nil,
 
497
    24,    49,    24,    24,   nil,    49,    32,    59,   nil,   nil,
 
498
   nil,    24,   nil,    23,   nil,    23,    23,    34,     2,    34,
 
499
     2,    27,    33,   nil,    23,    33,     4,   nil,   nil,   nil,
 
500
    22,   nil,    27,   nil,    25,    26,    25,    25,   nil,   nil,
 
501
    21,   nil,    24,   nil,   nil,    25,   nil,   nil,    27,     4,
 
502
    34,     4,   nil,    24,   nil,    23,    34,     2,    22,   nil,
 
503
   nil,   nil,   nil,   nil,    27,    27,    23,   nil,    21,    24,
 
504
   nil,   nil,     4,    34,   nil,    34,    25,   nil,    26,    26,
 
505
   nil,   nil,    23,   nil,    22,    24,    24,    25,   nil,   nil,
 
506
    27,   nil,   nil,   nil,    21,   nil,    34,   nil,    23,    23,
 
507
   nil,   nil,   nil,    25,   nil,   nil,    22,    22,     4,     4,
 
508
   nil,    24,   nil,    27,   nil,   nil,    21,    21,   nil,    25,
 
509
    25,   nil,    34,     2,    23,   nil,   nil,   nil,   nil,   nil,
 
510
    34,     2,    34,    34,    24,    48,   nil,    48,   nil,    46,
 
511
    22,    46,    22,    22,    28,    25,    28,    23,    28,   nil,
 
512
    21,    22,    21,    21,   nil,   nil,   nil,   nil,   nil,   nil,
 
513
   nil,    21,   nil,   nil,   nil,   nil,    22,    48,    25,   nil,
 
514
   nil,    46,   nil,   nil,   nil,   nil,    21,   nil,    28,   nil,
 
515
   nil,   nil,    22,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 
516
   nil,    48,    21,    22,   nil,    46,   nil,   nil,    28,   nil,
 
517
   nil,   nil,    28,    21,   nil,   nil,   nil,    48,   nil,    22,
 
518
   nil,    46,   nil,    48,   nil,   nil,   nil,    46,    28,    21,
 
519
   nil,   nil,    22,   nil,    28,    22,    22,   nil,   nil,   nil,
 
520
   nil,   nil,    21,   nil,   nil,    21,    21,   nil,   nil,   nil,
 
521
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 
522
   nil,    22,   nil,   nil,   nil,   nil,   nil,    28,    28,   nil,
 
523
   nil,    21,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 
524
   nil,   nil,   nil,   nil,    22,   nil,   nil,   nil,   nil,   nil,
 
525
   nil,    48,    48,   nil,    21,    46,    46,   nil,   nil,   nil,
 
526
   nil,   nil,    28,    28,   nil,   nil,   nil,   nil,   nil,   nil,
 
527
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    48,   nil,   nil,
 
528
   nil,    46,   nil,   nil,   nil,   nil,   nil,   nil,    28,   nil,
 
529
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 
530
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 
531
   nil,   nil,   nil,   nil,   nil,    48,   nil,   nil,   nil,    46,
 
532
   nil,   nil,   nil,   nil,   nil,   nil,    28,   nil,   nil,    48,
 
533
    48,   nil,   nil,    46,    46,   nil,   nil,   nil,   nil,   nil,
 
534
    28,    28 ]
607
535
 
608
536
racc_goto_pointer = [
609
 
   nil,    66,     0,    38,   -20,    33,   nil,   nil,   nil,   nil,
610
 
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    12,   -93,   nil,
611
 
   -69,     4,    -2,   -11,   141,    -7,   -68,   -51,   -93,   nil,
612
 
   nil,    50,   -25,   -81,   nil,   nil,   nil,  -120,   -52,   nil,
613
 
   136,   -39,   -45,    39,  -142,   -32,  -102,    39,   102,    17,
614
 
  -176,  -106,  -108,   nil,  -114,   -83,  -124,  -119,     4,   -28,
615
 
   -12,    54,    -2,   -70,   -69,  -127 ]
 
537
   nil,    19,     1,    12,   -24,    27,   nil,   nil,   nil,   nil,
 
538
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    -6,   nil,   nil,
 
539
   -73,   167,   157,    30,    17,    51,    10,    -4,   271,    12,
 
540
    -1,   -75,   -23,   -62,     0,    -4,   nil,     8,   -69,  -183,
 
541
   nil,   nil,   nil,  -183,   -33,   nil,   264,   -39,   260,   -23,
 
542
   nil,   -35,   -43,  -121,    17,  -196,   -99,  -118,   nil,  -110,
 
543
   -84,  -119,  -135,    23,   -38,    15,    40,    11,     3,   -83,
 
544
   -82,  -131,   -37 ]
616
545
 
617
546
racc_goto_default = [
618
 
   nil,   nil,   nil,   101,    29,     3,     5,     7,    10,    11,
619
 
    13,    15,    18,    22,    26,    28,     2,   nil,    49,    51,
620
 
    53,    69,    71,    72,    21,   nil,   nil,   nil,   nil,     6,
621
 
     9,   nil,   nil,    98,   144,    99,   100,   nil,   nil,   109,
622
 
    63,    64,    66,   nil,   115,   nil,   nil,    76,    77,   nil,
623
 
   nil,   nil,   nil,   177,    67,   nil,   nil,   nil,   nil,   nil,
624
 
   nil,   nil,   nil,   nil,   nil,   nil ]
 
547
   nil,   nil,   nil,   150,     4,     7,    10,    12,    14,    16,
 
548
    18,    20,    24,    26,    30,     3,     6,   nil,    52,    55,
 
549
    57,    74,    75,    76,    78,    79,    69,    70,     9,    11,
 
550
   nil,   nil,   nil,   nil,    61,   nil,    29,   nil,   nil,   143,
 
551
   205,   145,   146,   nil,   nil,   119,    63,    80,   nil,   109,
 
552
   104,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   194,    42,
 
553
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
 
554
   nil,   nil,   nil ]
625
555
 
626
556
racc_token_table = {
627
557
 false => 0,
642
572
 :NOTEQUAL => 15,
643
573
 :DOT => 16,
644
574
 :COLON => 17,
645
 
 :TYPE => 18,
646
 
 :LLCOLLECT => 19,
647
 
 :RRCOLLECT => 20,
648
 
 :QMARK => 21,
649
 
 :LPAREN => 22,
650
 
 :RPAREN => 23,
651
 
 :ISEQUAL => 24,
652
 
 :GREATEREQUAL => 25,
653
 
 :GREATERTHAN => 26,
654
 
 :LESSTHAN => 27,
655
 
 :IF => 28,
656
 
 :ELSE => 29,
657
 
 :IMPORT => 30,
658
 
 :DEFINE => 31,
659
 
 :ELSIF => 32,
660
 
 :VARIABLE => 33,
661
 
 :CLASS => 34,
662
 
 :INHERITS => 35,
663
 
 :NODE => 36,
664
 
 :BOOLEAN => 37,
665
 
 :NAME => 38,
666
 
 :SEMIC => 39,
667
 
 :CASE => 40,
668
 
 :DEFAULT => 41,
669
 
 :AT => 42,
670
 
 :LCOLLECT => 43,
671
 
 :RCOLLECT => 44,
672
 
 :CLASSNAME => 45,
673
 
 :CLASSREF => 46,
674
 
 :NOT => 47,
675
 
 :OR => 48,
676
 
 :AND => 49 }
 
575
 :LLCOLLECT => 18,
 
576
 :RRCOLLECT => 19,
 
577
 :QMARK => 20,
 
578
 :LPAREN => 21,
 
579
 :RPAREN => 22,
 
580
 :ISEQUAL => 23,
 
581
 :GREATEREQUAL => 24,
 
582
 :GREATERTHAN => 25,
 
583
 :LESSTHAN => 26,
 
584
 :IF => 27,
 
585
 :ELSE => 28,
 
586
 :IMPORT => 29,
 
587
 :DEFINE => 30,
 
588
 :ELSIF => 31,
 
589
 :VARIABLE => 32,
 
590
 :CLASS => 33,
 
591
 :INHERITS => 34,
 
592
 :NODE => 35,
 
593
 :BOOLEAN => 36,
 
594
 :NAME => 37,
 
595
 :SEMIC => 38,
 
596
 :CASE => 39,
 
597
 :DEFAULT => 40,
 
598
 :AT => 41,
 
599
 :LCOLLECT => 42,
 
600
 :RCOLLECT => 43,
 
601
 :CLASSNAME => 44,
 
602
 :CLASSREF => 45,
 
603
 :NOT => 46,
 
604
 :OR => 47,
 
605
 :AND => 48,
 
606
 :UNDEF => 49,
 
607
 :PARROW => 50 }
677
608
 
678
609
racc_use_result_var = true
679
610
 
680
 
racc_nt_base = 50
 
611
racc_nt_base = 51
681
612
 
682
613
Racc_arg = [
683
614
 racc_action_table,
714
645
'NOTEQUAL',
715
646
'DOT',
716
647
'COLON',
717
 
'TYPE',
718
648
'LLCOLLECT',
719
649
'RRCOLLECT',
720
650
'QMARK',
746
676
'NOT',
747
677
'OR',
748
678
'AND',
 
679
'UNDEF',
 
680
'PARROW',
749
681
'$start',
750
682
'program',
751
683
'statements',
769
701
'namestring',
770
702
'name',
771
703
'variable',
 
704
'type',
 
705
'boolean',
 
706
'funcrvalue',
 
707
'selector',
772
708
'quotedtext',
773
709
'resourceref',
 
710
'classname',
774
711
'resourceinstances',
775
712
'endsemi',
776
713
'params',
777
714
'endcomma',
 
715
'classref',
 
716
'anyparams',
778
717
'at',
779
 
'collectname',
780
718
'collectrhand',
781
719
'collstatements',
782
720
'collstatement',
786
724
'simplervalue',
787
725
'resourceinst',
788
726
'resourcename',
789
 
'type',
790
 
'selector',
 
727
'undef',
791
728
'array',
792
729
'rvalue',
793
730
'param',
 
731
'addparam',
 
732
'anyparam',
794
733
'rvalues',
795
734
'comma',
796
 
'boolean',
797
 
'funcrvalue',
798
735
'iftest',
799
736
'else',
800
737
'caseopts',
804
741
'svalues',
805
742
'selectval',
806
743
'sintvalues',
807
 
'fqname',
 
744
'qtexts',
808
745
'argumentlist',
809
 
'parent',
 
746
'classparent',
810
747
'hostnames',
 
748
'nodeparent',
811
749
'hostname',
812
750
'nothing',
813
751
'arguments',
814
 
'argument']
 
752
'argument',
 
753
'classnameordefault']
815
754
 
816
755
Racc_debug_parser = false
817
756
 
819
758
 
820
759
 # reduce 0 omitted
821
760
 
822
 
module_eval <<'.,.,', 'grammar.ra', 33
 
761
module_eval <<'.,.,', 'grammar.ra', 30
823
762
  def _reduce_1( val, _values, result )
824
763
    if val[0]
825
764
        # Make sure we always return an array.
843
782
 
844
783
 # reduce 3 omitted
845
784
 
846
 
module_eval <<'.,.,', 'grammar.ra', 49
 
785
module_eval <<'.,.,', 'grammar.ra', 46
847
786
  def _reduce_4( val, _values, result )
848
787
    if val[0] and val[1]
849
788
        if val[0].instance_of?(AST::ASTArray)
884
823
 
885
824
 # reduce 16 omitted
886
825
 
887
 
module_eval <<'.,.,', 'grammar.ra', 71
 
826
module_eval <<'.,.,', 'grammar.ra', 68
888
827
  def _reduce_17( val, _values, result )
889
828
    args = aryfy(val[2])
890
829
    result = ast AST::Function,
895
834
  end
896
835
.,.,
897
836
 
898
 
module_eval <<'.,.,', 'grammar.ra', 78
 
837
module_eval <<'.,.,', 'grammar.ra', 74
899
838
  def _reduce_18( val, _values, result )
 
839
    result = ast AST::Function,
 
840
        :name => val[0],
 
841
        :arguments => AST::ASTArray.new({}),
 
842
        :ftype => :statement
 
843
   result
 
844
  end
 
845
.,.,
 
846
 
 
847
module_eval <<'.,.,', 'grammar.ra', 81
 
848
  def _reduce_19( val, _values, result )
900
849
    args = aryfy(val[1])
901
850
    result = ast AST::Function,
902
851
        :name => val[0],
906
855
  end
907
856
.,.,
908
857
 
909
 
 # reduce 19 omitted
910
 
 
911
858
 # reduce 20 omitted
912
859
 
913
860
 # reduce 21 omitted
914
861
 
915
 
module_eval <<'.,.,', 'grammar.ra', 88
916
 
  def _reduce_22( val, _values, result )
 
862
 # reduce 22 omitted
 
863
 
 
864
module_eval <<'.,.,', 'grammar.ra', 91
 
865
  def _reduce_23( val, _values, result )
917
866
    result = aryfy(val[0], val[2])
918
867
    result.line = @lexer.line
919
868
    result.file = @lexer.file
921
870
  end
922
871
.,.,
923
872
 
924
 
 # reduce 23 omitted
925
 
 
926
873
 # reduce 24 omitted
927
874
 
928
875
 # reduce 25 omitted
929
876
 
930
877
 # reduce 26 omitted
931
878
 
932
 
module_eval <<'.,.,', 'grammar.ra', 103
933
 
  def _reduce_27( val, _values, result )
 
879
 # reduce 27 omitted
 
880
 
 
881
 # reduce 28 omitted
 
882
 
 
883
 # reduce 29 omitted
 
884
 
 
885
 # reduce 30 omitted
 
886
 
 
887
module_eval <<'.,.,', 'grammar.ra', 104
 
888
  def _reduce_31( val, _values, result )
 
889
                    result = ast AST::Name, :value => val[0]
 
890
   result
 
891
  end
 
892
.,.,
 
893
 
 
894
 # reduce 32 omitted
 
895
 
 
896
module_eval <<'.,.,', 'grammar.ra', 115
 
897
  def _reduce_33( val, _values, result )
934
898
    unless val[0].is_a?(AST::ASTArray)
935
899
        val[0] = aryfy(val[0])
936
900
    end
942
906
  end
943
907
.,.,
944
908
 
945
 
module_eval <<'.,.,', 'grammar.ra', 127
946
 
  def _reduce_28( val, _values, result )
947
 
    if val[0].instance_of?(AST::ASTArray)
948
 
        error "Invalid name"
949
 
    end
 
909
module_eval <<'.,.,', 'grammar.ra', 136
 
910
  def _reduce_34( val, _values, result )
950
911
    array = val[2]
951
 
    if array.instance_of?(AST::ResourceInst)
 
912
    if array.instance_of?(AST::ResourceInstance)
952
913
        array = [array]
953
914
    end
954
915
    result = ast AST::ASTArray
955
916
 
956
917
    # this iterates across each specified resourceinstance
957
918
    array.each { |instance|
958
 
        unless instance.instance_of?(AST::ResourceInst)
 
919
        unless instance.instance_of?(AST::ResourceInstance)
959
920
            raise Puppet::Dev, "Got something that isn't an instance"
960
921
        end
961
922
        # now, i need to somehow differentiate between those things with
962
923
        # arrays in their names, and normal things
963
 
        result.push ast(AST::ResourceDef,
 
924
        result.push ast(AST::Resource,
964
925
            :type => val[0],
965
926
            :title => instance[0],
966
927
            :params => instance[1])
969
930
  end
970
931
.,.,
971
932
 
972
 
module_eval <<'.,.,', 'grammar.ra', 130
973
 
  def _reduce_29( val, _values, result )
 
933
module_eval <<'.,.,', 'grammar.ra', 139
 
934
  def _reduce_35( val, _values, result )
974
935
    # This is a deprecated syntax.
975
936
    error "All resource specifications require names"
976
937
   result
977
938
  end
978
939
.,.,
979
940
 
980
 
module_eval <<'.,.,', 'grammar.ra', 136
981
 
  def _reduce_30( val, _values, result )
982
 
    # a template setting for a type
983
 
    if val[0].instance_of?(AST::ASTArray)
984
 
        error "Invalid type"
985
 
    end
 
941
module_eval <<'.,.,', 'grammar.ra', 142
 
942
  def _reduce_36( val, _values, result )
 
943
    # a defaults setting for a type
986
944
    result = ast(AST::ResourceDefaults, :type => val[0], :params => val[2])
987
945
   result
988
946
  end
989
947
.,.,
990
948
 
991
 
module_eval <<'.,.,', 'grammar.ra', 141
992
 
  def _reduce_31( val, _values, result )
 
949
module_eval <<'.,.,', 'grammar.ra', 147
 
950
  def _reduce_37( val, _values, result )
993
951
    result = ast AST::ResourceOverride, :object => val[0], :params => val[2]
994
952
   result
995
953
  end
996
954
.,.,
997
955
 
998
 
module_eval <<'.,.,', 'grammar.ra', 168
999
 
  def _reduce_32( val, _values, result )
 
956
module_eval <<'.,.,', 'grammar.ra', 174
 
957
  def _reduce_38( val, _values, result )
1000
958
    type = val[0]
1001
959
 
1002
 
    if type == :exported and ! Puppet[:storeconfigs]
1003
 
        error "You cannot collect without storeconfigs being set"
 
960
    if (type == :exported and ! Puppet[:storeconfigs]) and ! Puppet[:parseonly]
 
961
        Puppet.warning addcontext("You cannot collect without storeconfigs being set")
1004
962
    end
1005
963
 
1006
964
    if val[1].is_a? AST::ResourceDefaults
1023
981
  end
1024
982
.,.,
1025
983
 
1026
 
module_eval <<'.,.,', 'grammar.ra', 169
1027
 
  def _reduce_33( val, _values, result )
 
984
module_eval <<'.,.,', 'grammar.ra', 175
 
985
  def _reduce_39( val, _values, result )
1028
986
 result = :virtual
1029
987
   result
1030
988
  end
1031
989
.,.,
1032
990
 
1033
 
module_eval <<'.,.,', 'grammar.ra', 170
1034
 
  def _reduce_34( val, _values, result )
 
991
module_eval <<'.,.,', 'grammar.ra', 176
 
992
  def _reduce_40( val, _values, result )
1035
993
 result = :exported
1036
994
   result
1037
995
  end
1038
996
.,.,
1039
997
 
1040
 
module_eval <<'.,.,', 'grammar.ra', 193
1041
 
  def _reduce_35( val, _values, result )
 
998
module_eval <<'.,.,', 'grammar.ra', 199
 
999
  def _reduce_41( val, _values, result )
1042
1000
    if val[0] =~ /^[a-z]/
1043
1001
        Puppet.warning addcontext("Collection names must now be capitalized")
1044
1002
    end
1052
1010
    else
1053
1011
        args[:form] = val[1]
1054
1012
    end
1055
 
    if args[:form] == :exported and ! Puppet[:storeconfigs]
1056
 
        error "You cannot collect exported resources without storeconfigs being set"
 
1013
    if args[:form] == :exported and ! Puppet[:storeconfigs] and ! Puppet[:parseonly]
 
1014
        Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored")
1057
1015
    end
1058
1016
    result = ast AST::Collection, args
1059
1017
   result
1060
1018
  end
1061
1019
.,.,
1062
1020
 
1063
 
 # reduce 36 omitted
1064
 
 
1065
 
 # reduce 37 omitted
1066
 
 
1067
 
module_eval <<'.,.,', 'grammar.ra', 204
1068
 
  def _reduce_38( val, _values, result )
 
1021
module_eval <<'.,.,', 'grammar.ra', 209
 
1022
  def _reduce_42( val, _values, result )
1069
1023
    if val[1]
1070
1024
        result = val[1]
1071
1025
        result.form = :virtual
1076
1030
  end
1077
1031
.,.,
1078
1032
 
1079
 
module_eval <<'.,.,', 'grammar.ra', 212
1080
 
  def _reduce_39( val, _values, result )
 
1033
module_eval <<'.,.,', 'grammar.ra', 217
 
1034
  def _reduce_43( val, _values, result )
1081
1035
    if val[1]
1082
1036
        result = val[1]
1083
1037
        result.form = :exported
1088
1042
  end
1089
1043
.,.,
1090
1044
 
1091
 
 # reduce 40 omitted
1092
 
 
1093
 
 # reduce 41 omitted
1094
 
 
1095
 
module_eval <<'.,.,', 'grammar.ra', 220
1096
 
  def _reduce_42( val, _values, result )
1097
 
    result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
1098
 
   result
1099
 
  end
1100
 
.,.,
1101
 
 
1102
 
 # reduce 43 omitted
1103
 
 
1104
 
module_eval <<'.,.,', 'grammar.ra', 226
1105
 
  def _reduce_44( val, _values, result )
1106
 
    result = val[1]
1107
 
    result.parens = true
1108
 
   result
1109
 
  end
1110
 
.,.,
 
1045
 # reduce 44 omitted
1111
1046
 
1112
1047
 # reduce 45 omitted
1113
1048
 
1114
 
 # reduce 46 omitted
1115
 
 
1116
 
module_eval <<'.,.,', 'grammar.ra', 234
1117
 
  def _reduce_47( val, _values, result )
 
1049
module_eval <<'.,.,', 'grammar.ra', 225
 
1050
  def _reduce_46( val, _values, result )
1118
1051
    result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
1119
 
    #result = ast AST::CollExpr
1120
 
    #result.push *val
1121
1052
   result
1122
1053
  end
1123
1054
.,.,
1124
1055
 
1125
 
module_eval <<'.,.,', 'grammar.ra', 239
 
1056
 # reduce 47 omitted
 
1057
 
 
1058
module_eval <<'.,.,', 'grammar.ra', 231
1126
1059
  def _reduce_48( val, _values, result )
1127
 
    result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
1128
 
    #result = ast AST::CollExpr
1129
 
    #result.push *val
 
1060
    result = val[1]
 
1061
    result.parens = true
1130
1062
   result
1131
1063
  end
1132
1064
.,.,
1135
1067
 
1136
1068
 # reduce 50 omitted
1137
1069
 
1138
 
module_eval <<'.,.,', 'grammar.ra', 246
 
1070
module_eval <<'.,.,', 'grammar.ra', 239
1139
1071
  def _reduce_51( val, _values, result )
1140
 
    result = ast AST::ResourceInst, :children => [val[0],val[2]]
1141
 
   result
1142
 
  end
1143
 
.,.,
1144
 
 
1145
 
 # reduce 52 omitted
1146
 
 
1147
 
module_eval <<'.,.,', 'grammar.ra', 256
1148
 
  def _reduce_53( val, _values, result )
1149
 
    if val[0].instance_of?(AST::ResourceInst)
1150
 
        result = ast AST::ASTArray, :children => [val[0],val[2]]
1151
 
    else
1152
 
        val[0].push val[2]
1153
 
        result = val[0]
1154
 
    end
1155
 
   result
1156
 
  end
1157
 
.,.,
 
1072
    result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
 
1073
    #result = ast AST::CollExpr
 
1074
    #result.push *val
 
1075
   result
 
1076
  end
 
1077
.,.,
 
1078
 
 
1079
module_eval <<'.,.,', 'grammar.ra', 244
 
1080
  def _reduce_52( val, _values, result )
 
1081
    result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]
 
1082
    #result = ast AST::CollExpr
 
1083
    #result.push *val
 
1084
   result
 
1085
  end
 
1086
.,.,
 
1087
 
 
1088
 # reduce 53 omitted
1158
1089
 
1159
1090
 # reduce 54 omitted
1160
1091
 
1161
 
 # reduce 55 omitted
1162
 
 
1163
 
module_eval <<'.,.,', 'grammar.ra', 263
1164
 
  def _reduce_56( val, _values, result )
1165
 
    result = ast AST::Name, :value => val[0]
 
1092
module_eval <<'.,.,', 'grammar.ra', 251
 
1093
  def _reduce_55( val, _values, result )
 
1094
    result = ast AST::ResourceInstance, :children => [val[0],val[2]]
1166
1095
   result
1167
1096
  end
1168
1097
.,.,
1169
1098
 
1170
 
module_eval <<'.,.,', 'grammar.ra', 267
 
1099
 # reduce 56 omitted
 
1100
 
 
1101
module_eval <<'.,.,', 'grammar.ra', 261
1171
1102
  def _reduce_57( val, _values, result )
1172
 
    result = ast AST::Type, :value => val[0]
 
1103
    if val[0].instance_of?(AST::ResourceInstance)
 
1104
        result = ast AST::ASTArray, :children => [val[0],val[2]]
 
1105
    else
 
1106
        val[0].push val[2]
 
1107
        result = val[0]
 
1108
    end
1173
1109
   result
1174
1110
  end
1175
1111
.,.,
1178
1114
 
1179
1115
 # reduce 59 omitted
1180
1116
 
1181
 
 # reduce 60 omitted
1182
 
 
1183
 
 # reduce 61 omitted
1184
 
 
1185
 
 # reduce 62 omitted
 
1117
module_eval <<'.,.,', 'grammar.ra', 268
 
1118
  def _reduce_60( val, _values, result )
 
1119
    result = ast AST::Undef, :value => :undef
 
1120
   result
 
1121
  end
 
1122
.,.,
 
1123
 
 
1124
module_eval <<'.,.,', 'grammar.ra', 272
 
1125
  def _reduce_61( val, _values, result )
 
1126
    result = ast AST::Name, :value => val[0]
 
1127
   result
 
1128
  end
 
1129
.,.,
 
1130
 
 
1131
module_eval <<'.,.,', 'grammar.ra', 276
 
1132
  def _reduce_62( val, _values, result )
 
1133
    result = ast AST::Type, :value => val[0]
 
1134
   result
 
1135
  end
 
1136
.,.,
1186
1137
 
1187
1138
 # reduce 63 omitted
1188
1139
 
1189
 
module_eval <<'.,.,', 'grammar.ra', 280
1190
 
  def _reduce_64( val, _values, result )
 
1140
 # reduce 64 omitted
 
1141
 
 
1142
 # reduce 65 omitted
 
1143
 
 
1144
 # reduce 66 omitted
 
1145
 
 
1146
 # reduce 67 omitted
 
1147
 
 
1148
 # reduce 68 omitted
 
1149
 
 
1150
module_eval <<'.,.,', 'grammar.ra', 292
 
1151
  def _reduce_69( val, _values, result )
 
1152
    if val[0] =~ /::/
 
1153
        raise Puppet::ParseError, "Cannot assign to variables in other namespaces"
 
1154
    end
1191
1155
    # this is distinct from referencing a variable
1192
1156
    variable = ast AST::Name, :value => val[0]
1193
1157
    result = ast AST::VarDef, :name => variable, :value => val[2]
1195
1159
  end
1196
1160
.,.,
1197
1161
 
1198
 
module_eval <<'.,.,', 'grammar.ra', 285
1199
 
  def _reduce_65( val, _values, result )
1200
 
    result = ast AST::ASTArray
1201
 
   result
1202
 
  end
1203
 
.,.,
1204
 
 
1205
 
module_eval <<'.,.,', 'grammar.ra', 285
1206
 
  def _reduce_66( val, _values, result )
1207
 
 result = val[0]
1208
 
   result
1209
 
  end
1210
 
.,.,
1211
 
 
1212
 
module_eval <<'.,.,', 'grammar.ra', 294
1213
 
  def _reduce_67( val, _values, result )
1214
 
    if val[0].instance_of?(AST::ASTArray)
1215
 
        val[0].push(val[2])
1216
 
        result = val[0]
1217
 
    else
1218
 
        result = ast AST::ASTArray, :children => [val[0],val[2]]
1219
 
    end
1220
 
   result
1221
 
  end
1222
 
.,.,
1223
 
 
1224
 
module_eval <<'.,.,', 'grammar.ra', 298
1225
 
  def _reduce_68( val, _values, result )
1226
 
    result = ast AST::ResourceParam, :param => val[0], :value => val[2]
1227
 
   result
1228
 
  end
1229
 
.,.,
1230
 
 
1231
 
 # reduce 69 omitted
1232
 
 
1233
 
module_eval <<'.,.,', 'grammar.ra', 307
 
1162
module_eval <<'.,.,', 'grammar.ra', 297
1234
1163
  def _reduce_70( val, _values, result )
 
1164
    result = ast AST::ASTArray
 
1165
   result
 
1166
  end
 
1167
.,.,
 
1168
 
 
1169
module_eval <<'.,.,', 'grammar.ra', 297
 
1170
  def _reduce_71( val, _values, result )
 
1171
 result = val[0]
 
1172
   result
 
1173
  end
 
1174
.,.,
 
1175
 
 
1176
module_eval <<'.,.,', 'grammar.ra', 306
 
1177
  def _reduce_72( val, _values, result )
1235
1178
    if val[0].instance_of?(AST::ASTArray)
1236
 
        result = val[0].push(val[2])
 
1179
        val[0].push(val[2])
 
1180
        result = val[0]
1237
1181
    else
1238
1182
        result = ast AST::ASTArray, :children => [val[0],val[2]]
1239
1183
    end
1241
1185
  end
1242
1186
.,.,
1243
1187
 
1244
 
 # reduce 71 omitted
1245
 
 
1246
 
 # reduce 72 omitted
1247
 
 
1248
 
 # reduce 73 omitted
1249
 
 
1250
 
 # reduce 74 omitted
 
1188
module_eval <<'.,.,', 'grammar.ra', 310
 
1189
  def _reduce_73( val, _values, result )
 
1190
    result = ast AST::ResourceParam, :param => val[0], :value => val[2]
 
1191
   result
 
1192
  end
 
1193
.,.,
 
1194
 
 
1195
module_eval <<'.,.,', 'grammar.ra', 315
 
1196
  def _reduce_74( val, _values, result )
 
1197
    result = ast AST::ResourceParam, :param => val[0], :value => val[2],
 
1198
                                     :add => true
 
1199
   result
 
1200
  end
 
1201
.,.,
1251
1202
 
1252
1203
 # reduce 75 omitted
1253
1204
 
1254
1205
 # reduce 76 omitted
1255
1206
 
1256
 
 # reduce 77 omitted
1257
 
 
1258
 
 # reduce 78 omitted
1259
 
 
1260
 
 # reduce 79 omitted
 
1207
module_eval <<'.,.,', 'grammar.ra', 323
 
1208
  def _reduce_77( val, _values, result )
 
1209
    result = ast AST::ASTArray
 
1210
   result
 
1211
  end
 
1212
.,.,
 
1213
 
 
1214
module_eval <<'.,.,', 'grammar.ra', 323
 
1215
  def _reduce_78( val, _values, result )
 
1216
 result = val[0]
 
1217
   result
 
1218
  end
 
1219
.,.,
 
1220
 
 
1221
module_eval <<'.,.,', 'grammar.ra', 332
 
1222
  def _reduce_79( val, _values, result )
 
1223
    if val[0].instance_of?(AST::ASTArray)
 
1224
        val[0].push(val[2])
 
1225
        result = val[0]
 
1226
    else
 
1227
        result = ast AST::ASTArray, :children => [val[0],val[2]]
 
1228
    end
 
1229
   result
 
1230
  end
 
1231
.,.,
1261
1232
 
1262
1233
 # reduce 80 omitted
1263
1234
 
1264
 
 # reduce 81 omitted
 
1235
module_eval <<'.,.,', 'grammar.ra', 341
 
1236
  def _reduce_81( val, _values, result )
 
1237
    if val[0].instance_of?(AST::ASTArray)
 
1238
        result = val[0].push(val[2])
 
1239
    else
 
1240
        result = ast AST::ASTArray, :children => [val[0],val[2]]
 
1241
    end
 
1242
   result
 
1243
  end
 
1244
.,.,
1265
1245
 
1266
1246
 # reduce 82 omitted
1267
1247
 
1271
1251
 
1272
1252
 # reduce 85 omitted
1273
1253
 
1274
 
module_eval <<'.,.,', 'grammar.ra', 333
1275
 
  def _reduce_86( val, _values, result )
 
1254
 # reduce 86 omitted
 
1255
 
 
1256
 # reduce 87 omitted
 
1257
 
 
1258
 # reduce 88 omitted
 
1259
 
 
1260
 # reduce 89 omitted
 
1261
 
 
1262
 # reduce 90 omitted
 
1263
 
 
1264
 # reduce 91 omitted
 
1265
 
 
1266
 # reduce 92 omitted
 
1267
 
 
1268
 # reduce 93 omitted
 
1269
 
 
1270
 # reduce 94 omitted
 
1271
 
 
1272
 # reduce 95 omitted
 
1273
 
 
1274
 # reduce 96 omitted
 
1275
 
 
1276
 # reduce 97 omitted
 
1277
 
 
1278
module_eval <<'.,.,', 'grammar.ra', 368
 
1279
  def _reduce_98( val, _values, result )
1276
1280
    args = aryfy(val[2])
1277
1281
    result = ast AST::Function,
1278
1282
        :name => val[0],
1282
1286
  end
1283
1287
.,.,
1284
1288
 
1285
 
module_eval <<'.,.,', 'grammar.ra', 337
1286
 
  def _reduce_87( val, _values, result )
 
1289
module_eval <<'.,.,', 'grammar.ra', 373
 
1290
  def _reduce_99( val, _values, result )
 
1291
    result = ast AST::Function,
 
1292
        :name => val[0],
 
1293
        :arguments => AST::ASTArray.new({}),
 
1294
        :ftype => :rvalue
 
1295
   result
 
1296
  end
 
1297
.,.,
 
1298
 
 
1299
module_eval <<'.,.,', 'grammar.ra', 377
 
1300
  def _reduce_100( val, _values, result )
1287
1301
    result = ast AST::String, :value => val[0]
1288
1302
   result
1289
1303
  end
1290
1304
.,.,
1291
1305
 
1292
 
module_eval <<'.,.,', 'grammar.ra', 339
1293
 
  def _reduce_88( val, _values, result )
 
1306
module_eval <<'.,.,', 'grammar.ra', 379
 
1307
  def _reduce_101( val, _values, result )
1294
1308
    result = ast AST::FlatString, :value => val[0]
1295
1309
   result
1296
1310
  end
1297
1311
.,.,
1298
1312
 
1299
 
module_eval <<'.,.,', 'grammar.ra', 343
1300
 
  def _reduce_89( val, _values, result )
 
1313
module_eval <<'.,.,', 'grammar.ra', 383
 
1314
  def _reduce_102( val, _values, result )
1301
1315
    result = ast AST::Boolean, :value => val[0]
1302
1316
   result
1303
1317
  end
1304
1318
.,.,
1305
1319
 
1306
 
module_eval <<'.,.,', 'grammar.ra', 348
1307
 
  def _reduce_90( val, _values, result )
 
1320
module_eval <<'.,.,', 'grammar.ra', 388
 
1321
  def _reduce_103( val, _values, result )
1308
1322
    Puppet.warning addcontext("Deprecation notice:  Resource references should now be capitalized")
1309
 
    result = ast AST::ResourceRef, :type => val[0], :title => val[2]
1310
 
   result
1311
 
  end
1312
 
.,.,
1313
 
 
1314
 
module_eval <<'.,.,', 'grammar.ra', 350
1315
 
  def _reduce_91( val, _values, result )
1316
 
    result = ast AST::ResourceRef, :type => val[0], :title => val[2]
1317
 
   result
1318
 
  end
1319
 
.,.,
1320
 
 
1321
 
module_eval <<'.,.,', 'grammar.ra', 363
1322
 
  def _reduce_92( val, _values, result )
 
1323
    result = ast AST::ResourceReference, :type => val[0], :title => val[2]
 
1324
   result
 
1325
  end
 
1326
.,.,
 
1327
 
 
1328
module_eval <<'.,.,', 'grammar.ra', 390
 
1329
  def _reduce_104( val, _values, result )
 
1330
    result = ast AST::ResourceReference, :type => val[0], :title => val[2]
 
1331
   result
 
1332
  end
 
1333
.,.,
 
1334
 
 
1335
module_eval <<'.,.,', 'grammar.ra', 403
 
1336
  def _reduce_105( val, _values, result )
1323
1337
    args = {
1324
1338
        :test => val[1],
1325
1339
        :statements => val[3]
1334
1348
  end
1335
1349
.,.,
1336
1350
 
1337
 
 # reduce 93 omitted
 
1351
 # reduce 106 omitted
1338
1352
 
1339
 
module_eval <<'.,.,', 'grammar.ra', 368
1340
 
  def _reduce_94( val, _values, result )
 
1353
module_eval <<'.,.,', 'grammar.ra', 408
 
1354
  def _reduce_107( val, _values, result )
1341
1355
    result = ast AST::Else, :statements => val[2]
1342
1356
   result
1343
1357
  end
1344
1358
.,.,
1345
1359
 
1346
 
 # reduce 95 omitted
 
1360
 # reduce 108 omitted
1347
1361
 
1348
 
module_eval <<'.,.,', 'grammar.ra', 380
1349
 
  def _reduce_96( val, _values, result )
 
1362
module_eval <<'.,.,', 'grammar.ra', 420
 
1363
  def _reduce_109( val, _values, result )
1350
1364
    options = val[3]
1351
1365
    unless options.instance_of?(AST::ASTArray)
1352
1366
        options = ast AST::ASTArray, :children => [val[3]]
1356
1370
  end
1357
1371
.,.,
1358
1372
 
1359
 
 # reduce 97 omitted
 
1373
 # reduce 110 omitted
1360
1374
 
1361
 
module_eval <<'.,.,', 'grammar.ra', 390
1362
 
  def _reduce_98( val, _values, result )
 
1375
module_eval <<'.,.,', 'grammar.ra', 430
 
1376
  def _reduce_111( val, _values, result )
1363
1377
    if val[0].instance_of?(AST::ASTArray)
1364
1378
        val[0].push val[1]
1365
1379
        result = val[0]
1370
1384
  end
1371
1385
.,.,
1372
1386
 
1373
 
module_eval <<'.,.,', 'grammar.ra', 394
1374
 
  def _reduce_99( val, _values, result )
 
1387
module_eval <<'.,.,', 'grammar.ra', 434
 
1388
  def _reduce_112( val, _values, result )
1375
1389
    result = ast AST::CaseOpt, :value => val[0], :statements => val[3]
1376
1390
   result
1377
1391
  end
1378
1392
.,.,
1379
1393
 
1380
 
module_eval <<'.,.,', 'grammar.ra', 399
1381
 
  def _reduce_100( val, _values, result )
 
1394
module_eval <<'.,.,', 'grammar.ra', 439
 
1395
  def _reduce_113( val, _values, result )
1382
1396
    result = ast(AST::CaseOpt,
1383
1397
        :value => val[0],
1384
1398
        :statements => ast(AST::ASTArray)
1387
1401
  end
1388
1402
.,.,
1389
1403
 
1390
 
 # reduce 101 omitted
1391
 
 
1392
 
module_eval <<'.,.,', 'grammar.ra', 409
1393
 
  def _reduce_102( val, _values, result )
1394
 
    if val[0].instance_of?(AST::ASTArray)
1395
 
        val[0].push(val[2])
1396
 
        result = val[0]
1397
 
    else
1398
 
        result = ast AST::ASTArray, :children => [val[0],val[2]]
1399
 
    end
1400
 
   result
1401
 
  end
1402
 
.,.,
1403
 
 
1404
 
module_eval <<'.,.,', 'grammar.ra', 413
1405
 
  def _reduce_103( val, _values, result )
1406
 
    result = ast AST::Selector, :param => val[0], :values => val[2]
1407
 
   result
1408
 
  end
1409
 
.,.,
1410
 
 
1411
 
 # reduce 104 omitted
1412
 
 
1413
 
module_eval <<'.,.,', 'grammar.ra', 415
1414
 
  def _reduce_105( val, _values, result )
1415
 
 result = val[1]
1416
 
   result
1417
 
  end
1418
 
.,.,
1419
 
 
1420
 
 # reduce 106 omitted
1421
 
 
1422
 
module_eval <<'.,.,', 'grammar.ra', 426
1423
 
  def _reduce_107( val, _values, result )
1424
 
    if val[0].instance_of?(AST::ASTArray)
1425
 
        val[0].push(val[2])
1426
 
        result = val[0]
1427
 
    else
1428
 
        result = ast AST::ASTArray, :children => [val[0],val[2]]
1429
 
    end
1430
 
   result
1431
 
  end
1432
 
.,.,
1433
 
 
1434
 
module_eval <<'.,.,', 'grammar.ra', 430
1435
 
  def _reduce_108( val, _values, result )
1436
 
    result = ast AST::ResourceParam, :param => val[0], :value => val[2]
1437
 
   result
1438
 
  end
1439
 
.,.,
1440
 
 
1441
 
 # reduce 109 omitted
1442
 
 
1443
 
 # reduce 110 omitted
1444
 
 
1445
 
 # reduce 111 omitted
1446
 
 
1447
 
 # reduce 112 omitted
1448
 
 
1449
 
 # reduce 113 omitted
1450
 
 
1451
1404
 # reduce 114 omitted
1452
1405
 
1453
 
module_eval <<'.,.,', 'grammar.ra', 440
 
1406
module_eval <<'.,.,', 'grammar.ra', 449
1454
1407
  def _reduce_115( val, _values, result )
1455
 
    result = ast AST::Default, :value => val[0]
 
1408
    if val[0].instance_of?(AST::ASTArray)
 
1409
        val[0].push(val[2])
 
1410
        result = val[0]
 
1411
    else
 
1412
        result = ast AST::ASTArray, :children => [val[0],val[2]]
 
1413
    end
1456
1414
   result
1457
1415
  end
1458
1416
.,.,
1459
1417
 
1460
 
module_eval <<'.,.,', 'grammar.ra', 495
 
1418
module_eval <<'.,.,', 'grammar.ra', 453
1461
1419
  def _reduce_116( val, _values, result )
1462
 
    # importing files
1463
 
    # yuk, i hate keywords
1464
 
    # we'll probably have to have some kind of search path eventually
1465
 
    # but for now, just use a path relative to the file doing the importing
1466
 
    dir = @lexer.file.sub(%r{[^/]+$},'').sub(/\/$/, '')
1467
 
    if dir == ""
1468
 
        dir = "."
1469
 
    end
1470
 
    result = ast AST::ASTArray
1471
 
 
1472
 
    Dir.chdir(dir) {
1473
 
        # We can't interpolate at this point since we don't have any 
1474
 
        # scopes set up. Warn the user if they use a variable reference
1475
 
        pat = val[1].value
1476
 
        if pat.index("$")
1477
 
             Puppet.warning(
1478
 
                 "The import of #{pat} contains a variable reference;" +
1479
 
                 " variables are not interpolated for imports " +
1480
 
                 "in file #{@lexer.file} at line #{@lexer.line}"
1481
 
             )
1482
 
        end
1483
 
        files = Dir.glob(pat)
1484
 
        if files.size == 0
1485
 
            files = Dir.glob(pat + ".pp")
1486
 
            if files.size == 0
1487
 
                raise Puppet::ImportError.new("No file(s) found for import " + 
1488
 
                                              "of '#{pat}'")
1489
 
            end
1490
 
        end
1491
 
 
1492
 
        files.each { |file|
1493
 
            parser = Puppet::Parser::Parser.new(interp)
1494
 
            parser.files = self.files
1495
 
            Puppet.debug("importing '%s'" % file)
1496
 
 
1497
 
            unless file =~ /^#{File::SEPARATOR}/
1498
 
                file = File.join(dir, file)
1499
 
            end
1500
 
            begin
1501
 
                parser.file = file
1502
 
            rescue Puppet::ImportError
1503
 
                Puppet.warning(
1504
 
                    "Importing %s would result in an import loop" %
1505
 
                        File.join(dir, file)
1506
 
                )
1507
 
                next
1508
 
            end
1509
 
 
1510
 
            # This will normally add code to the 'main' class.
1511
 
            parser.parse
1512
 
        }
1513
 
    }
1514
 
   result
1515
 
  end
1516
 
.,.,
1517
 
 
1518
 
module_eval <<'.,.,', 'grammar.ra', 505
1519
 
  def _reduce_117( val, _values, result )
1520
 
    interp.newdefine fqname(val[1]), :arguments => val[2], :code => val[4]
1521
 
    @lexer.indefine = false
1522
 
    result = nil
1523
 
 
1524
 
#}           | DEFINE NAME argumentlist parent LBRACE RBRACE {
1525
 
   result
1526
 
  end
1527
 
.,.,
1528
 
 
1529
 
module_eval <<'.,.,', 'grammar.ra', 509
 
1420
    result = ast AST::Selector, :param => val[0], :values => val[2]
 
1421
   result
 
1422
  end
 
1423
.,.,
 
1424
 
 
1425
 # reduce 117 omitted
 
1426
 
 
1427
module_eval <<'.,.,', 'grammar.ra', 455
1530
1428
  def _reduce_118( val, _values, result )
1531
 
    interp.newdefine fqname(val[1]), :arguments => val[2]
1532
 
    @lexer.indefine = false
1533
 
    result = nil
1534
 
   result
1535
 
  end
1536
 
.,.,
1537
 
 
1538
 
module_eval <<'.,.,', 'grammar.ra', 517
1539
 
  def _reduce_119( val, _values, result )
1540
 
    # Our class gets defined in the parent namespace, not our own.
1541
 
    @lexer.namepop
1542
 
    interp.newclass fqname(val[1]), :code => val[4], :parent => val[2]
1543
 
    result = nil
1544
 
   result
1545
 
  end
1546
 
.,.,
1547
 
 
1548
 
module_eval <<'.,.,', 'grammar.ra', 522
 
1429
 result = val[1]
 
1430
   result
 
1431
  end
 
1432
.,.,
 
1433
 
 
1434
 # reduce 119 omitted
 
1435
 
 
1436
module_eval <<'.,.,', 'grammar.ra', 466
1549
1437
  def _reduce_120( val, _values, result )
1550
 
    # Our class gets defined in the parent namespace, not our own.
1551
 
    @lexer.namepop
1552
 
    interp.newclass fqname(val[1]), :parent => val[2]
1553
 
    result = nil
 
1438
    if val[0].instance_of?(AST::ASTArray)
 
1439
        val[0].push(val[2])
 
1440
        result = val[0]
 
1441
    else
 
1442
        result = ast AST::ASTArray, :children => [val[0],val[2]]
 
1443
    end
1554
1444
   result
1555
1445
  end
1556
1446
.,.,
1557
1447
 
1558
 
module_eval <<'.,.,', 'grammar.ra', 527
 
1448
module_eval <<'.,.,', 'grammar.ra', 470
1559
1449
  def _reduce_121( val, _values, result )
1560
 
    interp.newnode val[1], :parent => val[2], :code => val[4]
1561
 
    result = nil
 
1450
    result = ast AST::ResourceParam, :param => val[0], :value => val[2]
1562
1451
   result
1563
1452
  end
1564
1453
.,.,
1565
1454
 
1566
 
module_eval <<'.,.,', 'grammar.ra', 530
1567
 
  def _reduce_122( val, _values, result )
1568
 
    interp.newnode val[1], :parent => val[2]
1569
 
    result = nil
1570
 
   result
1571
 
  end
1572
 
.,.,
 
1455
 # reduce 122 omitted
1573
1456
 
1574
1457
 # reduce 123 omitted
1575
1458
 
1577
1460
 
1578
1461
 # reduce 125 omitted
1579
1462
 
1580
 
module_eval <<'.,.,', 'grammar.ra', 542
1581
 
  def _reduce_126( val, _values, result )
1582
 
    result = val[0]
1583
 
    result = [result] unless result.is_a?(Array)
1584
 
    result << val[2]
1585
 
   result
1586
 
  end
1587
 
.,.,
 
1463
 # reduce 126 omitted
1588
1464
 
1589
1465
 # reduce 127 omitted
1590
1466
 
1591
1467
 # reduce 128 omitted
1592
1468
 
1593
 
 # reduce 129 omitted
 
1469
module_eval <<'.,.,', 'grammar.ra', 481
 
1470
  def _reduce_129( val, _values, result )
 
1471
    result = ast AST::Default, :value => val[0]
 
1472
   result
 
1473
  end
 
1474
.,.,
1594
1475
 
1595
 
module_eval <<'.,.,', 'grammar.ra', 550
 
1476
module_eval <<'.,.,', 'grammar.ra', 483
1596
1477
  def _reduce_130( val, _values, result )
1597
 
    result = nil
 
1478
 result = [val[0].value]
1598
1479
   result
1599
1480
  end
1600
1481
.,.,
1601
1482
 
1602
 
module_eval <<'.,.,', 'grammar.ra', 554
 
1483
module_eval <<'.,.,', 'grammar.ra', 487
1603
1484
  def _reduce_131( val, _values, result )
1604
 
    result = ast AST::ASTArray, :children => []
1605
 
   result
1606
 
  end
1607
 
.,.,
1608
 
 
1609
 
 # reduce 132 omitted
1610
 
 
1611
 
module_eval <<'.,.,', 'grammar.ra', 559
 
1485
    results = val[0] << val[2].value
 
1486
   result
 
1487
  end
 
1488
.,.,
 
1489
 
 
1490
module_eval <<'.,.,', 'grammar.ra', 495
 
1491
  def _reduce_132( val, _values, result )
 
1492
    val[1].each do |file|
 
1493
        import(file)
 
1494
    end
 
1495
 
 
1496
    result = AST::ASTArray.new(:children => [])
 
1497
   result
 
1498
  end
 
1499
.,.,
 
1500
 
 
1501
module_eval <<'.,.,', 'grammar.ra', 505
1612
1502
  def _reduce_133( val, _values, result )
 
1503
    newdefine classname(val[1]), :arguments => val[2], :code => val[4]
 
1504
    @lexer.indefine = false
1613
1505
    result = nil
 
1506
 
 
1507
#}           | DEFINE NAME argumentlist parent LBRACE RBRACE {
1614
1508
   result
1615
1509
  end
1616
1510
.,.,
1617
1511
 
1618
 
module_eval <<'.,.,', 'grammar.ra', 563
 
1512
module_eval <<'.,.,', 'grammar.ra', 509
1619
1513
  def _reduce_134( val, _values, result )
1620
 
    result = val[1]
1621
 
    result = [result] unless result[0].is_a?(Array)
1622
 
   result
1623
 
  end
1624
 
.,.,
1625
 
 
1626
 
 # reduce 135 omitted
1627
 
 
1628
 
module_eval <<'.,.,', 'grammar.ra', 570
 
1514
    newdefine classname(val[1]), :arguments => val[2]
 
1515
    @lexer.indefine = false
 
1516
    result = nil
 
1517
   result
 
1518
  end
 
1519
.,.,
 
1520
 
 
1521
module_eval <<'.,.,', 'grammar.ra', 517
 
1522
  def _reduce_135( val, _values, result )
 
1523
    # Our class gets defined in the parent namespace, not our own.
 
1524
    @lexer.namepop
 
1525
    newclass classname(val[1]), :code => val[4], :parent => val[2]
 
1526
    result = nil
 
1527
   result
 
1528
  end
 
1529
.,.,
 
1530
 
 
1531
module_eval <<'.,.,', 'grammar.ra', 522
1629
1532
  def _reduce_136( val, _values, result )
1630
 
    result = val[0]
1631
 
    result = [result] unless result[0].is_a?(Array)
1632
 
    result << val[2]
 
1533
    # Our class gets defined in the parent namespace, not our own.
 
1534
    @lexer.namepop
 
1535
    newclass classname(val[1]), :parent => val[2]
 
1536
    result = nil
1633
1537
   result
1634
1538
  end
1635
1539
.,.,
1636
1540
 
1637
 
module_eval <<'.,.,', 'grammar.ra', 575
 
1541
module_eval <<'.,.,', 'grammar.ra', 527
1638
1542
  def _reduce_137( val, _values, result )
1639
 
    Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
1640
 
    result = [val[0], val[2]]
 
1543
    newnode val[1], :parent => val[2], :code => val[4]
 
1544
    result = nil
1641
1545
   result
1642
1546
  end
1643
1547
.,.,
1644
1548
 
1645
 
module_eval <<'.,.,', 'grammar.ra', 579
 
1549
module_eval <<'.,.,', 'grammar.ra', 530
1646
1550
  def _reduce_138( val, _values, result )
1647
 
    Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
1648
 
    result = [val[0]]
1649
 
   result
1650
 
  end
1651
 
.,.,
1652
 
 
1653
 
module_eval <<'.,.,', 'grammar.ra', 581
1654
 
  def _reduce_139( val, _values, result )
1655
 
    result = [val[0], val[2]]
1656
 
   result
1657
 
  end
1658
 
.,.,
1659
 
 
1660
 
module_eval <<'.,.,', 'grammar.ra', 583
1661
 
  def _reduce_140( val, _values, result )
1662
 
    result = [val[0]]
1663
 
   result
1664
 
  end
1665
 
.,.,
 
1551
    newnode val[1], :parent => val[2]
 
1552
    result = nil
 
1553
   result
 
1554
  end
 
1555
.,.,
 
1556
 
 
1557
 # reduce 139 omitted
 
1558
 
 
1559
 # reduce 140 omitted
1666
1560
 
1667
1561
 # reduce 141 omitted
1668
1562
 
1669
 
module_eval <<'.,.,', 'grammar.ra', 588
1670
 
  def _reduce_142( val, _values, result )
1671
 
    result = val[1]
1672
 
   result
1673
 
  end
1674
 
.,.,
 
1563
 # reduce 142 omitted
1675
1564
 
1676
 
module_eval <<'.,.,', 'grammar.ra', 592
 
1565
module_eval <<'.,.,', 'grammar.ra', 544
1677
1566
  def _reduce_143( val, _values, result )
1678
 
    result = ast AST::Variable, :value => val[0]
1679
 
   result
1680
 
  end
1681
 
.,.,
1682
 
 
1683
 
module_eval <<'.,.,', 'grammar.ra', 600
1684
 
  def _reduce_144( val, _values, result )
1685
 
    if val[1].instance_of?(AST::ASTArray)
1686
 
        result = val[1]
1687
 
    else
1688
 
        result = ast AST::ASTArray, :children => [val[1]]
1689
 
    end
1690
 
   result
1691
 
  end
1692
 
.,.,
1693
 
 
1694
 
module_eval <<'.,.,', 'grammar.ra', 602
1695
 
  def _reduce_145( val, _values, result )
1696
 
    result = ast AST::ASTArray
1697
 
   result
1698
 
  end
1699
 
.,.,
 
1567
    result = val[0]
 
1568
    result = [result] unless result.is_a?(Array)
 
1569
    result << val[2]
 
1570
   result
 
1571
  end
 
1572
.,.,
 
1573
 
 
1574
 # reduce 144 omitted
 
1575
 
 
1576
 # reduce 145 omitted
1700
1577
 
1701
1578
 # reduce 146 omitted
1702
1579
 
1703
1580
 # reduce 147 omitted
1704
1581
 
1705
 
 # reduce 148 omitted
 
1582
module_eval <<'.,.,', 'grammar.ra', 553
 
1583
  def _reduce_148( val, _values, result )
 
1584
    result = nil
 
1585
   result
 
1586
  end
 
1587
.,.,
1706
1588
 
1707
 
module_eval <<'.,.,', 'grammar.ra', 607
 
1589
module_eval <<'.,.,', 'grammar.ra', 557
1708
1590
  def _reduce_149( val, _values, result )
 
1591
    result = ast AST::ASTArray, :children => []
 
1592
   result
 
1593
  end
 
1594
.,.,
 
1595
 
 
1596
 # reduce 150 omitted
 
1597
 
 
1598
module_eval <<'.,.,', 'grammar.ra', 562
 
1599
  def _reduce_151( val, _values, result )
 
1600
    result = nil
 
1601
   result
 
1602
  end
 
1603
.,.,
 
1604
 
 
1605
module_eval <<'.,.,', 'grammar.ra', 566
 
1606
  def _reduce_152( val, _values, result )
 
1607
    result = val[1]
 
1608
    result = [result] unless result[0].is_a?(Array)
 
1609
   result
 
1610
  end
 
1611
.,.,
 
1612
 
 
1613
 # reduce 153 omitted
 
1614
 
 
1615
module_eval <<'.,.,', 'grammar.ra', 573
 
1616
  def _reduce_154( val, _values, result )
 
1617
    result = val[0]
 
1618
    result = [result] unless result[0].is_a?(Array)
 
1619
    result << val[2]
 
1620
   result
 
1621
  end
 
1622
.,.,
 
1623
 
 
1624
module_eval <<'.,.,', 'grammar.ra', 578
 
1625
  def _reduce_155( val, _values, result )
 
1626
    Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
 
1627
    result = [val[0], val[2]]
 
1628
   result
 
1629
  end
 
1630
.,.,
 
1631
 
 
1632
module_eval <<'.,.,', 'grammar.ra', 582
 
1633
  def _reduce_156( val, _values, result )
 
1634
    Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
 
1635
    result = [val[0]]
 
1636
   result
 
1637
  end
 
1638
.,.,
 
1639
 
 
1640
module_eval <<'.,.,', 'grammar.ra', 584
 
1641
  def _reduce_157( val, _values, result )
 
1642
    result = [val[0], val[2]]
 
1643
   result
 
1644
  end
 
1645
.,.,
 
1646
 
 
1647
module_eval <<'.,.,', 'grammar.ra', 586
 
1648
  def _reduce_158( val, _values, result )
 
1649
    result = [val[0]]
 
1650
   result
 
1651
  end
 
1652
.,.,
 
1653
 
 
1654
 # reduce 159 omitted
 
1655
 
 
1656
module_eval <<'.,.,', 'grammar.ra', 591
 
1657
  def _reduce_160( val, _values, result )
 
1658
    result = val[1]
 
1659
   result
 
1660
  end
 
1661
.,.,
 
1662
 
 
1663
 # reduce 161 omitted
 
1664
 
 
1665
module_eval <<'.,.,', 'grammar.ra', 596
 
1666
  def _reduce_162( val, _values, result )
 
1667
    result = val[1]
 
1668
   result
 
1669
  end
 
1670
.,.,
 
1671
 
 
1672
 # reduce 163 omitted
 
1673
 
 
1674
 # reduce 164 omitted
 
1675
 
 
1676
module_eval <<'.,.,', 'grammar.ra', 602
 
1677
  def _reduce_165( val, _values, result )
 
1678
    result = ast AST::Variable, :value => val[0]
 
1679
   result
 
1680
  end
 
1681
.,.,
 
1682
 
 
1683
module_eval <<'.,.,', 'grammar.ra', 610
 
1684
  def _reduce_166( val, _values, result )
 
1685
    if val[1].instance_of?(AST::ASTArray)
 
1686
        result = val[1]
 
1687
    else
 
1688
        result = ast AST::ASTArray, :children => [val[1]]
 
1689
    end
 
1690
   result
 
1691
  end
 
1692
.,.,
 
1693
 
 
1694
module_eval <<'.,.,', 'grammar.ra', 612
 
1695
  def _reduce_167( val, _values, result )
 
1696
    result = ast AST::ASTArray
 
1697
   result
 
1698
  end
 
1699
.,.,
 
1700
 
 
1701
 # reduce 168 omitted
 
1702
 
 
1703
 # reduce 169 omitted
 
1704
 
 
1705
 # reduce 170 omitted
 
1706
 
 
1707
module_eval <<'.,.,', 'grammar.ra', 617
 
1708
  def _reduce_171( val, _values, result )
1709
1709
 result = nil
1710
1710
   result
1711
1711
  end