puppet 0.23.0 → 0.23.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (125) hide show
  1. data/CHANGELOG +58 -0
  2. data/Rakefile +1 -1
  3. data/bin/filebucket +6 -6
  4. data/bin/puppetca +11 -1
  5. data/bin/puppetmasterd +7 -6
  6. data/conf/redhat/client.init +1 -0
  7. data/conf/redhat/{puppetd.conf → puppet.conf} +1 -1
  8. data/conf/redhat/puppet.spec +43 -31
  9. data/conf/redhat/server.init +1 -0
  10. data/lib/puppet.rb +3 -3
  11. data/lib/puppet/configuration.rb +16 -5
  12. data/lib/puppet/metatype/attributes.rb +12 -19
  13. data/lib/puppet/metatype/evaluation.rb +10 -1
  14. data/lib/puppet/metatype/instances.rb +39 -15
  15. data/lib/puppet/metatype/manager.rb +1 -28
  16. data/lib/puppet/metatype/metaparams.rb +20 -16
  17. data/lib/puppet/metatype/providers.rb +8 -2
  18. data/lib/puppet/metatype/schedules.rb +14 -19
  19. data/lib/puppet/{modules.rb → module.rb} +2 -0
  20. data/lib/puppet/network/authstore.rb +5 -1
  21. data/lib/puppet/network/client/dipper.rb +2 -2
  22. data/lib/puppet/network/client/master.rb +18 -9
  23. data/lib/puppet/network/handler/fileserver.rb +3 -6
  24. data/lib/puppet/network/handler/report.rb +2 -1
  25. data/lib/puppet/network/server/mongrel.rb +4 -2
  26. data/lib/puppet/network/xmlrpc/client.rb +10 -3
  27. data/lib/puppet/parameter.rb +11 -4
  28. data/lib/puppet/parser/ast/collexpr.rb +10 -10
  29. data/lib/puppet/parser/ast/hostclass.rb +2 -2
  30. data/lib/puppet/parser/ast/resourceparam.rb +4 -3
  31. data/lib/puppet/parser/ast/resourceref.rb +16 -2
  32. data/lib/puppet/parser/collector.rb +8 -4
  33. data/lib/puppet/parser/functions.rb +5 -2
  34. data/lib/puppet/parser/interpreter.rb +48 -9
  35. data/lib/puppet/parser/lexer.rb +2 -1
  36. data/lib/puppet/parser/parser.rb +669 -589
  37. data/lib/puppet/parser/resource.rb +20 -11
  38. data/lib/puppet/parser/resource/param.rb +21 -10
  39. data/lib/puppet/parser/resource/reference.rb +2 -2
  40. data/lib/puppet/parser/scope.rb +22 -10
  41. data/lib/puppet/{type/property.rb → property.rb} +48 -15
  42. data/lib/puppet/propertychange.rb +3 -3
  43. data/lib/puppet/provider/cron/crontab.rb +38 -36
  44. data/lib/puppet/provider/host/netinfo.rb +1 -2
  45. data/lib/puppet/provider/mailalias/aliases.rb +31 -0
  46. data/lib/puppet/provider/maillist/mailman.rb +113 -0
  47. data/lib/puppet/provider/mount.rb +5 -11
  48. data/lib/puppet/provider/mount/parsed.rb +2 -2
  49. data/lib/puppet/provider/package/appdmg.rb +1 -2
  50. data/lib/puppet/provider/package/apt.rb +3 -1
  51. data/lib/puppet/provider/package/aptrpm.rb +14 -4
  52. data/lib/puppet/provider/package/blastwave.rb +6 -4
  53. data/lib/puppet/provider/package/dpkg.rb +12 -4
  54. data/lib/puppet/provider/package/pkgdmg.rb +2 -2
  55. data/lib/puppet/provider/package/rpm.rb +11 -1
  56. data/lib/puppet/provider/package/rug.rb +1 -0
  57. data/lib/puppet/provider/package/urpmi.rb +11 -1
  58. data/lib/puppet/provider/package/yum.rb +12 -2
  59. data/lib/puppet/provider/parsedfile.rb +36 -6
  60. data/lib/puppet/rails.rb +9 -2
  61. data/lib/puppet/rails/param_name.rb +2 -3
  62. data/lib/puppet/rails/param_value.rb +20 -1
  63. data/lib/puppet/rails/resource.rb +8 -2
  64. data/lib/puppet/reference/configuration.rb +14 -16
  65. data/lib/puppet/reference/type.rb +4 -4
  66. data/lib/puppet/transaction.rb +4 -4
  67. data/lib/puppet/type.rb +19 -6
  68. data/lib/puppet/type/component.rb +9 -3
  69. data/lib/puppet/type/cron.rb +10 -4
  70. data/lib/puppet/type/exec.rb +9 -5
  71. data/lib/puppet/type/group.rb +2 -3
  72. data/lib/puppet/type/mailalias.rb +50 -0
  73. data/lib/puppet/type/maillist.rb +57 -0
  74. data/lib/puppet/type/mount.rb +25 -11
  75. data/lib/puppet/type/package.rb +6 -27
  76. data/lib/puppet/type/pfile.rb +5 -6
  77. data/lib/puppet/type/pfile/source.rb +8 -2
  78. data/lib/puppet/type/pfilebucket.rb +4 -3
  79. data/lib/puppet/type/resources.rb +1 -3
  80. data/lib/puppet/type/schedule.rb +16 -16
  81. data/lib/puppet/type/service.rb +4 -1
  82. data/lib/puppet/type/tidy.rb +1 -2
  83. data/lib/puppet/type/user.rb +2 -3
  84. data/lib/puppet/type/yumrepo.rb +2 -2
  85. data/lib/puppet/util.rb +29 -4
  86. data/lib/puppet/util/autoload.rb +45 -16
  87. data/lib/puppet/util/fileparsing.rb +23 -6
  88. data/lib/puppet/util/filetype.rb +12 -1
  89. data/lib/puppet/util/log.rb +2 -2
  90. data/lib/puppet/util/log_paths.rb +16 -0
  91. data/lib/puppet/util/reference.rb +2 -2
  92. data/test/language/ast/hostclass.rb +21 -4
  93. data/test/language/ast/resourceref.rb +95 -0
  94. data/test/language/functions.rb +5 -5
  95. data/test/language/interpreter.rb +129 -1
  96. data/test/language/node.rb +13 -2
  97. data/test/language/resource.rb +26 -1
  98. data/test/language/scope.rb +25 -5
  99. data/test/lib/puppettest/support/collection.rb +2 -2
  100. data/test/network/client/master.rb +28 -42
  101. data/test/network/server/mongrel_test.rb +7 -1
  102. data/test/other/propertychange.rb +2 -2
  103. data/test/other/transactions.rb +44 -5
  104. data/test/puppet/modules.rb +2 -1
  105. data/test/rails/ast.rb +7 -8
  106. data/test/rails/collection.rb +2 -2
  107. data/test/rails/railsresource.rb +21 -5
  108. data/test/ral/manager/attributes.rb +33 -1
  109. data/test/ral/manager/instances.rb +33 -6
  110. data/test/ral/manager/type.rb +29 -49
  111. data/test/ral/providers/cron/crontab.rb +61 -13
  112. data/test/ral/providers/mailalias/aliases.rb +57 -0
  113. data/test/ral/providers/mount/parsed.rb +4 -4
  114. data/test/ral/providers/package/apt.rb +13 -1
  115. data/test/ral/providers/parsedfile.rb +20 -7
  116. data/test/ral/types/cron.rb +17 -1
  117. data/test/ral/types/mailalias.rb +50 -0
  118. data/test/ral/types/mount.rb +35 -2
  119. data/test/ral/types/package.rb +10 -2
  120. data/test/ral/types/parameter.rb +4 -4
  121. data/test/ral/types/property.rb +39 -1
  122. data/test/util/autoload.rb +33 -18
  123. data/test/util/filetype.rb +49 -3
  124. metadata +13 -6
  125. data/lib/puppet/element.rb +0 -52
@@ -52,6 +52,7 @@ class Puppet::Network::Handler
52
52
  docs = ""
53
53
 
54
54
  # Use this method so they all get loaded
55
+ instance_loader(:report).loadall
55
56
  loaded_instances(:report).sort { |a,b| a.to_s <=> b.to_s }.each do |name|
56
57
  mod = self.report(name)
57
58
  docs += "%s\n%s\n" % [name, "-" * name.to_s.length]
@@ -141,4 +142,4 @@ class Puppet::Network::Handler
141
142
  end
142
143
  end
143
144
 
144
- # $Id: report.rb 2517 2007-05-15 19:22:36Z luke $
145
+ # $Id: report.rb 2637 2007-06-20 00:16:41Z luke $
@@ -30,9 +30,10 @@
30
30
  require 'rubygems'
31
31
  require 'mongrel'
32
32
  require 'xmlrpc/server'
33
- require 'puppet/network/server'
34
33
  require 'puppet/network/xmlrpc/server'
34
+ require 'puppet/network/server'
35
35
  require 'puppet/network/client_request'
36
+ require 'puppet/daemon'
36
37
 
37
38
  require 'resolv'
38
39
 
@@ -49,6 +50,7 @@ require 'resolv'
49
50
  # </pre>
50
51
  module Puppet::Network
51
52
  class Server::Mongrel < ::Mongrel::HttpHandler
53
+ include Puppet::Daemon
52
54
  attr_reader :xmlrpc_server
53
55
 
54
56
  def initialize(handlers)
@@ -135,4 +137,4 @@ module Puppet::Network
135
137
  end
136
138
  end
137
139
 
138
- # $Id: mongrel.rb 2558 2007-06-11 18:07:34Z luke $
140
+ # $Id: mongrel.rb 2659 2007-07-08 23:02:06Z luke $
@@ -99,6 +99,13 @@ module Puppet::Network
99
99
  hash[:Path] ||= "/RPC2"
100
100
  hash[:Server] ||= Puppet[:server]
101
101
  hash[:Port] ||= Puppet[:masterport]
102
+ hash[:HTTPProxyHost] ||= Puppet[:http_proxy_host]
103
+ hash[:HTTPProxyPort] ||= Puppet[:http_proxy_port]
104
+
105
+ if "none" == hash[:HTTPProxyHost]
106
+ hash[:HTTPProxyHost] = nil
107
+ hash[:HTTPProxyPort] = nil
108
+ end
102
109
 
103
110
  @puppet_server = hash[:Server]
104
111
  @puppet_port = hash[:Port]
@@ -107,8 +114,8 @@ module Puppet::Network
107
114
  hash[:Server],
108
115
  hash[:Path],
109
116
  hash[:Port],
110
- nil, # proxy_host
111
- nil, # proxy_port
117
+ hash[:HTTPProxyHost], # proxy_host
118
+ hash[:HTTPProxyPort], # proxy_port
112
119
  nil, # user
113
120
  nil, # password
114
121
  true, # use_ssl
@@ -126,4 +133,4 @@ module Puppet::Network
126
133
  end
127
134
  end
128
135
 
129
- # $Id: client.rb 2259 2007-03-06 19:03:05Z luke $
136
+ # $Id: client.rb 2661 2007-07-08 23:57:56Z luke $
@@ -1,10 +1,17 @@
1
1
  require 'puppet/util/methodhelper'
2
-
3
- class Puppet::Parameter < Puppet::Element
2
+ require 'puppet/util/log_paths'
3
+ require 'puppet/util/logging'
4
+
5
+ class Puppet::Parameter
6
+ include Puppet::Util
7
+ include Puppet::Util::Errors
8
+ include Puppet::Util::LogPaths
9
+ include Puppet::Util::Logging
4
10
  include Puppet::Util::MethodHelper
5
11
  class << self
12
+ include Puppet::Util
6
13
  attr_reader :validater, :munger, :name, :default, :required_features
7
- attr_accessor :metaparam, :element
14
+ attr_accessor :metaparam
8
15
 
9
16
  # Define the default value for a given parameter or parameter. This
10
17
  # means that 'nil' is an invalid default value. This defines
@@ -477,4 +484,4 @@ class Puppet::Parameter < Puppet::Element
477
484
  end
478
485
  end
479
486
 
480
- # $Id: parameter.rb 2503 2007-05-10 21:46:59Z luke $
487
+ # $Id: parameter.rb 2647 2007-07-04 22:25:23Z luke $
@@ -43,7 +43,11 @@ class CollExpr < AST::Branch
43
43
  end
44
44
 
45
45
  case @oper
46
- when "and", "or": oper = @oper.upcase
46
+ when "and", "or":
47
+ if form == :exported
48
+ raise Puppet::ParseError, "Puppet does not currently support collecting exported resources with more than one condition"
49
+ end
50
+ oper = @oper.upcase
47
51
  when "==": oper = "="
48
52
  else
49
53
  oper = @oper
@@ -54,17 +58,13 @@ class CollExpr < AST::Branch
54
58
  if str1 == "title"
55
59
  str = "title #{oper} '#{str2}'"
56
60
  else
57
- unless self.form == :virtual or str1 == "title"
58
- parsefail "Collection from the database only supports " +
59
- "title matching currently"
60
- end
61
- str = "rails_parameters.name = '#{str1}' and " +
62
- "rails_parameters.value #{oper} '#{str2}'"
61
+ str = "param_values.value #{oper} '#{str2}' and " +
62
+ "param_names.name = '#{str1}'"
63
63
  end
64
64
  else
65
- str = [str1, oper, str2].join(" ")
65
+ str = "(%s) %s (%s)" % [str1, oper, str2]
66
66
  end
67
-
67
+
68
68
  return str, code
69
69
  end
70
70
 
@@ -78,4 +78,4 @@ class CollExpr < AST::Branch
78
78
  end
79
79
  end
80
80
 
81
- # $Id: collexpr.rb 1726 2006-10-04 18:24:24Z luke $
81
+ # $Id: collexpr.rb 2714 2007-07-19 18:12:20Z luke $
@@ -25,7 +25,7 @@ class Puppet::Parser::AST
25
25
  args = hash[:arguments]
26
26
 
27
27
  # Verify that we haven't already been evaluated
28
- if scope.setclass?(self)
28
+ if scope.class_scope(self)
29
29
  Puppet.debug "%s class already evaluated" % @type
30
30
  return nil
31
31
  end
@@ -75,4 +75,4 @@ class Puppet::Parser::AST
75
75
  end
76
76
  end
77
77
 
78
- # $Id: hostclass.rb 2511 2007-05-14 15:19:48Z luke $
78
+ # $Id: hostclass.rb 2646 2007-07-04 21:06:26Z luke $
@@ -3,7 +3,7 @@ require 'puppet/parser/ast/branch'
3
3
  class Puppet::Parser::AST
4
4
  # The AST object for the parameters inside ResourceDefs and Selectors.
5
5
  class ResourceParam < AST::Branch
6
- attr_accessor :value, :param
6
+ attr_accessor :value, :param, :add
7
7
 
8
8
  def each
9
9
  [@param,@value].each { |child| yield child }
@@ -16,7 +16,8 @@ class Puppet::Parser::AST
16
16
  return Puppet::Parser::Resource::Param.new(
17
17
  :name => @param,
18
18
  :value => @value.safeevaluate(:scope => scope),
19
- :source => scope.source, :line => self.line, :file => self.file
19
+ :source => scope.source, :line => self.line, :file => self.file,
20
+ :add => self.add
20
21
  )
21
22
  end
22
23
 
@@ -34,4 +35,4 @@ class Puppet::Parser::AST
34
35
  end
35
36
  end
36
37
 
37
- # $Id: resourceparam.rb 1739 2006-10-06 03:13:15Z luke $
38
+ # $Id: resourceparam.rb 2670 2007-07-10 15:31:19Z luke $
@@ -19,9 +19,23 @@ class Puppet::Parser::AST
19
19
 
20
20
  # We want a lower-case type.
21
21
  objtype = @type.downcase
22
-
23
22
  title = @title.safeevaluate(:scope => scope)
24
23
 
24
+ if scope.builtintype?(objtype)
25
+ # nothing
26
+ elsif dtype = scope.finddefine(objtype)
27
+ objtype = dtype.classname
28
+ elsif objtype == "class"
29
+ # Look up the full path to the class
30
+ if classobj = scope.findclass(title)
31
+ title = classobj.classname
32
+ else
33
+ raise Puppet::ParseError, "Could not find class %s" % title
34
+ end
35
+ else
36
+ raise Puppet::ParseError, "Could not find resource type %s" % objtype
37
+ end
38
+
25
39
  return Puppet::Parser::Resource::Reference.new(
26
40
  :type => objtype, :title => title
27
41
  )
@@ -41,4 +55,4 @@ class Puppet::Parser::AST
41
55
  end
42
56
  end
43
57
 
44
- # $Id: resourceref.rb 1726 2006-10-04 18:24:24Z luke $
58
+ # $Id: resourceref.rb 2715 2007-07-19 19:23:56Z luke $
@@ -22,9 +22,13 @@ class Puppet::Parser::Collector
22
22
  end
23
23
  host = Puppet::Rails::Host.find_by_name(@scope.host)
24
24
 
25
- args = {}
25
+ args = {:include => {:param_values => :param_name}}
26
+ args[:conditions] = "restype = '%s'" % [@type]
27
+ if @equery
28
+ args[:conditions] += " AND (%s)" % [@equery]
29
+ end
26
30
  if host
27
- args[:conditions] = "host_id != #{host.id}"
31
+ args[:conditions] = "host_id != %s AND %s" % [host.id, args[:conditions]]
28
32
  else
29
33
  #Puppet.info "Host %s is uninitialized" % @scope.host
30
34
  end
@@ -33,7 +37,7 @@ class Puppet::Parser::Collector
33
37
  # and such, we'll need to vary the conditions, but this works with no
34
38
  # attributes, anyway.
35
39
  time = Puppet::Util.thinmark do
36
- Puppet::Rails::Resource.find_all_by_restype_and_exported(@type, true,
40
+ Puppet::Rails::Resource.find(:all, @type, true,
37
41
  args
38
42
  ).each do |obj|
39
43
  if resource = export_resource(obj)
@@ -178,4 +182,4 @@ class Puppet::Parser::Collector
178
182
  end
179
183
  end
180
184
 
181
- # $Id: collector.rb 2215 2007-02-18 20:09:35Z luke $
185
+ # $Id: collector.rb 2705 2007-07-18 17:32:46Z luke $
@@ -160,7 +160,10 @@ module Functions
160
160
  # Test whether a given class or definition is defined
161
161
  newfunction(:defined, :type => :rvalue, :doc => "Determine whether a given
162
162
  type is defined, either as a native type or a defined type, or whether a class is defined.
163
- This is useful for checking whether a class is defined and only including it if it is.") do |vals|
163
+ This is useful for checking whether a class is defined and only including it if it is.
164
+ This function can also test whether a resource has been defined, using resource references
165
+ (e.g., ``if defined(File['/tmp/myfile'] { ... }``). This function is unfortunately
166
+ dependent on the parse order of the configuration when testing whether a resource is defined.") do |vals|
164
167
  result = false
165
168
  vals.each do |val|
166
169
  case val
@@ -300,4 +303,4 @@ module Functions
300
303
  end
301
304
  end
302
305
 
303
- # $Id: functions.rb 2502 2007-05-10 21:27:40Z luke $
306
+ # $Id: functions.rb 2681 2007-07-12 14:35:45Z luke $
@@ -1,7 +1,3 @@
1
- # The interepreter's job is to convert from a parsed file to the configuration
2
- # for a given client. It really doesn't do any work on its own, it just collects
3
- # and calls out to other objects.
4
-
5
1
  require 'puppet'
6
2
  require 'timeout'
7
3
  require 'puppet/rails'
@@ -9,6 +5,9 @@ require 'puppet/util/methodhelper'
9
5
  require 'puppet/parser/parser'
10
6
  require 'puppet/parser/scope'
11
7
 
8
+ # The interpreter's job is to convert from a parsed file to the configuration
9
+ # for a given client. It really doesn't do any work on its own, it just collects
10
+ # and calls out to other objects.
12
11
  class Puppet::Parser::Interpreter
13
12
  class NodeDef
14
13
  include Puppet::Util::MethodHelper
@@ -29,7 +28,7 @@ class Puppet::Parser::Interpreter
29
28
 
30
29
  # Then evaluate the classes.
31
30
  begin
32
- options[:scope].function_include(classes)
31
+ options[:scope].function_include(classes.find_all { |c| options[:scope].findclass(c) })
33
32
  rescue => detail
34
33
  raise Puppet::ParseError, "Could not evaluate classes for %s: %s" % [name, detail]
35
34
  end
@@ -267,11 +266,13 @@ class Puppet::Parser::Interpreter
267
266
 
268
267
  # Find a class definition, relative to the current namespace.
269
268
  def findclass(namespace, name)
269
+ #find_or_load namespace, name, @classtable
270
270
  fqfind namespace, name, @classtable
271
271
  end
272
272
 
273
273
  # Find a component definition, relative to the current namespace.
274
274
  def finddefine(namespace, name)
275
+ #find_or_load namespace, name, @definetable
275
276
  fqfind namespace, name, @definetable
276
277
  end
277
278
 
@@ -280,13 +281,17 @@ class Puppet::Parser::Interpreter
280
281
  namespace = namespace.downcase
281
282
  name = name.downcase
282
283
  if name =~ /^::/ or namespace == ""
283
- return table[name.sub(/^::/, '')]
284
+ classname = name.sub(/^::/, '')
285
+ unless table[classname]
286
+ self.load(classname)
287
+ end
288
+ return table[classname]
284
289
  end
285
290
  ary = namespace.split("::")
286
291
 
287
292
  while ary.length > 0
288
293
  newname = (ary + [name]).join("::").sub(/^::/, '')
289
- if obj = table[newname]
294
+ if obj = table[newname] or (self.load(newname) and obj = table[newname])
290
295
  return obj
291
296
  end
292
297
 
@@ -296,7 +301,7 @@ class Puppet::Parser::Interpreter
296
301
 
297
302
  # If we've gotten to this point without finding it, see if the name
298
303
  # exists at the top namespace
299
- if obj = table[name]
304
+ if obj = table[name] or (self.load(name) and obj = table[name])
300
305
  return obj
301
306
  end
302
307
 
@@ -356,6 +361,7 @@ class Puppet::Parser::Interpreter
356
361
  end
357
362
 
358
363
  @files = []
364
+ @loaded = []
359
365
 
360
366
  # Create our parser object
361
367
  parsefiles
@@ -371,6 +377,39 @@ class Puppet::Parser::Interpreter
371
377
  @definetable = {}
372
378
  end
373
379
 
380
+ # Try to load a class, since we could not find it.
381
+ def load(classname)
382
+ return false if classname == ""
383
+ filename = classname.gsub("::", File::SEPARATOR)
384
+
385
+ loaded = false
386
+ # First try to load the top-level module
387
+ mod = filename.scan(/^[\w-]+/).shift
388
+ unless @loaded.include?(mod)
389
+ @loaded << mod
390
+ begin
391
+ @parser.import(mod)
392
+ Puppet.info "Autoloaded module %s" % mod
393
+ loaded = true
394
+ rescue Puppet::ImportError => detail
395
+ # We couldn't load the module
396
+ end
397
+ end
398
+
399
+ unless filename == mod and ! @loaded.include?(mod)
400
+ @loaded << mod
401
+ # Then the individual file
402
+ begin
403
+ @parser.import(filename)
404
+ Puppet.info "Autoloaded file %s from module %s" % [filename, mod]
405
+ loaded = true
406
+ rescue Puppet::ImportError => detail
407
+ # We couldn't load the file
408
+ end
409
+ end
410
+ return loaded
411
+ end
412
+
374
413
  # Find the ldap node, return the class list and parent node specially,
375
414
  # and everything else in a parameter hash.
376
415
  def ldapsearch(node)
@@ -843,4 +882,4 @@ class Puppet::Parser::Interpreter
843
882
  end
844
883
  end
845
884
 
846
- # $Id: interpreter.rb 2626 2007-06-19 01:58:49Z luke $
885
+ # $Id: interpreter.rb 2720 2007-07-20 03:36:54Z luke $
@@ -46,6 +46,7 @@ module Puppet
46
46
  %r{\?} => :QMARK,
47
47
  %r{\\} => :BACKSLASH,
48
48
  %r{=>} => :FARROW,
49
+ %r{\+>} => :PARROW,
49
50
  %r{[a-z][-\w]*} => :NAME,
50
51
  %r{([a-z][-\w]*::)+[a-z][-\w]*} => :CLASSNAME,
51
52
  %r{([A-Z][-\w]*::)+[A-Z][-\w]*} => :CLASSREF,
@@ -330,4 +331,4 @@ module Puppet
330
331
  end
331
332
  end
332
333
 
333
- # $Id: lexer.rb 2531 2007-05-25 00:31:28Z luke $
334
+ # $Id: lexer.rb 2670 2007-07-10 15:31:19Z luke $
@@ -15,8 +15,8 @@ require 'puppet/parser/ast'
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,7 +29,7 @@ module Puppet
29
29
 
30
30
  class Parser < Racc::Parser
31
31
 
32
- module_eval <<'..end grammar.ra modeval..id8685abbbb8', 'grammar.ra', 614
32
+ module_eval <<'..end grammar.ra modeval..id72fb6a61b8', 'grammar.ra', 640
33
33
  require 'puppet/parser/functions'
34
34
 
35
35
  attr_reader :file, :interp
@@ -102,7 +102,7 @@ def file=(file)
102
102
  end
103
103
  end
104
104
  if @files.detect { |f| f.file == file }
105
- raise Puppet::ImportError.new("Import loop detected")
105
+ raise Puppet::AlreadyImportedError.new("Import loop detected")
106
106
  else
107
107
  @files << Puppet::Util::LoadedFile.new(file)
108
108
  @lexer.file = file
@@ -151,11 +151,8 @@ def import(file)
151
151
  end
152
152
  begin
153
153
  parser.file = file
154
- rescue Puppet::ImportError
155
- Puppet.warning(
156
- "Importing %s would result in an import loop" %
157
- File.join(dir, file)
158
- )
154
+ rescue Puppet::AlreadyImportedError
155
+ # This file has already been imported to just move on
159
156
  next
160
157
  end
161
158
 
@@ -259,503 +256,536 @@ end
259
256
  # mode: ruby
260
257
  # End:
261
258
 
262
- # $Id: parser.rb 2599 2007-06-18 06:26:01Z luke $
259
+ # $Id: parser.rb 2694 2007-07-14 18:09:26Z luke $
263
260
 
264
- ..end grammar.ra modeval..id8685abbbb8
261
+ ..end grammar.ra modeval..id72fb6a61b8
265
262
 
266
263
  ##### racc 1.4.5 generates ###
267
264
 
268
265
  racc_reduce_table = [
269
266
  0, 0, :racc_error,
270
- 1, 52, :_reduce_1,
271
- 1, 52, :_reduce_none,
267
+ 1, 53, :_reduce_1,
272
268
  1, 53, :_reduce_none,
273
- 2, 53, :_reduce_4,
274
- 1, 55, :_reduce_none,
275
- 1, 55, :_reduce_none,
276
- 1, 55, :_reduce_none,
277
- 1, 55, :_reduce_none,
278
- 1, 55, :_reduce_none,
279
- 1, 55, :_reduce_none,
280
- 1, 55, :_reduce_none,
281
- 1, 55, :_reduce_none,
282
- 1, 55, :_reduce_none,
283
- 1, 55, :_reduce_none,
284
- 1, 55, :_reduce_none,
285
- 1, 55, :_reduce_none,
286
- 4, 63, :_reduce_17,
287
- 3, 63, :_reduce_18,
288
- 2, 63, :_reduce_19,
289
- 1, 68, :_reduce_none,
290
- 1, 68, :_reduce_none,
269
+ 1, 54, :_reduce_none,
270
+ 2, 54, :_reduce_4,
271
+ 1, 56, :_reduce_none,
272
+ 1, 56, :_reduce_none,
273
+ 1, 56, :_reduce_none,
274
+ 1, 56, :_reduce_none,
275
+ 1, 56, :_reduce_none,
276
+ 1, 56, :_reduce_none,
277
+ 1, 56, :_reduce_none,
278
+ 1, 56, :_reduce_none,
279
+ 1, 56, :_reduce_none,
280
+ 1, 56, :_reduce_none,
281
+ 1, 56, :_reduce_none,
282
+ 1, 56, :_reduce_none,
283
+ 4, 64, :_reduce_17,
284
+ 3, 64, :_reduce_18,
285
+ 2, 64, :_reduce_19,
286
+ 1, 69, :_reduce_none,
291
287
  1, 69, :_reduce_none,
292
- 3, 69, :_reduce_23,
293
- 1, 71, :_reduce_none,
294
- 1, 71, :_reduce_none,
295
- 1, 71, :_reduce_none,
296
- 1, 71, :_reduce_none,
297
- 1, 71, :_reduce_none,
298
- 1, 71, :_reduce_none,
299
- 1, 71, :_reduce_none,
300
- 1, 71, :_reduce_31,
301
288
  1, 70, :_reduce_none,
302
- 3, 70, :_reduce_33,
303
- 5, 56, :_reduce_34,
304
- 5, 56, :_reduce_35,
305
- 5, 56, :_reduce_36,
306
- 5, 67, :_reduce_37,
307
- 2, 57, :_reduce_38,
308
- 1, 85, :_reduce_39,
309
- 2, 85, :_reduce_40,
310
- 2, 58, :_reduce_41,
311
- 1, 86, :_reduce_none,
312
- 1, 86, :_reduce_none,
313
- 3, 87, :_reduce_44,
314
- 3, 87, :_reduce_45,
315
- 1, 88, :_reduce_none,
316
- 1, 88, :_reduce_none,
317
- 3, 88, :_reduce_48,
289
+ 3, 70, :_reduce_23,
290
+ 1, 72, :_reduce_none,
291
+ 1, 72, :_reduce_none,
292
+ 1, 72, :_reduce_none,
293
+ 1, 72, :_reduce_none,
294
+ 1, 72, :_reduce_none,
295
+ 1, 72, :_reduce_none,
296
+ 1, 72, :_reduce_none,
297
+ 1, 72, :_reduce_31,
298
+ 1, 71, :_reduce_none,
299
+ 3, 71, :_reduce_33,
300
+ 5, 57, :_reduce_34,
301
+ 5, 57, :_reduce_35,
302
+ 5, 57, :_reduce_36,
303
+ 5, 68, :_reduce_37,
304
+ 2, 58, :_reduce_38,
305
+ 1, 88, :_reduce_39,
306
+ 2, 88, :_reduce_40,
307
+ 2, 59, :_reduce_41,
318
308
  1, 89, :_reduce_none,
319
- 3, 89, :_reduce_50,
320
- 1, 90, :_reduce_none,
321
- 1, 90, :_reduce_none,
322
- 3, 91, :_reduce_53,
323
- 3, 91, :_reduce_54,
324
- 1, 92, :_reduce_none,
309
+ 1, 89, :_reduce_none,
310
+ 3, 90, :_reduce_44,
311
+ 3, 90, :_reduce_45,
312
+ 1, 91, :_reduce_none,
313
+ 1, 91, :_reduce_none,
314
+ 3, 91, :_reduce_48,
325
315
  1, 92, :_reduce_none,
326
- 4, 94, :_reduce_57,
327
- 1, 81, :_reduce_none,
328
- 3, 81, :_reduce_59,
329
- 0, 82, :_reduce_none,
330
- 1, 82, :_reduce_none,
331
- 1, 96, :_reduce_62,
332
- 1, 72, :_reduce_63,
333
- 1, 74, :_reduce_64,
334
- 1, 95, :_reduce_none,
335
- 1, 95, :_reduce_none,
336
- 1, 95, :_reduce_none,
337
- 1, 95, :_reduce_none,
338
- 1, 95, :_reduce_none,
339
- 1, 95, :_reduce_none,
340
- 3, 59, :_reduce_71,
341
- 0, 83, :_reduce_72,
342
- 1, 83, :_reduce_73,
343
- 3, 83, :_reduce_74,
344
- 3, 99, :_reduce_75,
345
- 1, 100, :_reduce_none,
346
- 3, 100, :_reduce_77,
347
- 1, 93, :_reduce_none,
348
- 1, 93, :_reduce_none,
349
- 1, 93, :_reduce_none,
350
- 1, 93, :_reduce_none,
316
+ 3, 92, :_reduce_50,
351
317
  1, 93, :_reduce_none,
352
318
  1, 93, :_reduce_none,
319
+ 3, 94, :_reduce_53,
320
+ 3, 94, :_reduce_54,
321
+ 1, 95, :_reduce_none,
322
+ 1, 95, :_reduce_none,
323
+ 4, 97, :_reduce_57,
324
+ 1, 82, :_reduce_none,
325
+ 3, 82, :_reduce_59,
326
+ 0, 83, :_reduce_none,
327
+ 1, 83, :_reduce_none,
328
+ 1, 99, :_reduce_62,
329
+ 1, 73, :_reduce_63,
330
+ 1, 75, :_reduce_64,
353
331
  1, 98, :_reduce_none,
354
332
  1, 98, :_reduce_none,
355
333
  1, 98, :_reduce_none,
356
334
  1, 98, :_reduce_none,
357
335
  1, 98, :_reduce_none,
358
336
  1, 98, :_reduce_none,
359
- 1, 98, :_reduce_none,
360
- 1, 98, :_reduce_none,
361
- 1, 98, :_reduce_none,
362
- 1, 98, :_reduce_none,
363
- 4, 76, :_reduce_94,
364
- 3, 76, :_reduce_95,
365
- 1, 78, :_reduce_96,
366
- 1, 78, :_reduce_97,
367
- 1, 75, :_reduce_98,
368
- 4, 79, :_reduce_99,
369
- 4, 79, :_reduce_100,
370
- 6, 61, :_reduce_101,
371
- 0, 103, :_reduce_none,
372
- 4, 103, :_reduce_103,
373
- 1, 102, :_reduce_none,
374
- 5, 60, :_reduce_105,
337
+ 3, 60, :_reduce_71,
338
+ 0, 84, :_reduce_72,
339
+ 1, 84, :_reduce_73,
340
+ 3, 84, :_reduce_74,
341
+ 3, 102, :_reduce_75,
342
+ 3, 103, :_reduce_76,
375
343
  1, 104, :_reduce_none,
376
- 2, 104, :_reduce_107,
377
- 5, 105, :_reduce_108,
378
- 4, 105, :_reduce_109,
379
- 1, 106, :_reduce_none,
380
- 3, 106, :_reduce_111,
381
- 3, 77, :_reduce_112,
382
- 1, 108, :_reduce_none,
383
- 4, 108, :_reduce_114,
384
- 1, 110, :_reduce_none,
385
- 3, 110, :_reduce_116,
386
- 3, 109, :_reduce_117,
387
- 1, 107, :_reduce_none,
388
- 1, 107, :_reduce_none,
389
- 1, 107, :_reduce_none,
390
- 1, 107, :_reduce_none,
391
- 1, 107, :_reduce_none,
392
- 1, 107, :_reduce_none,
344
+ 1, 104, :_reduce_none,
345
+ 0, 87, :_reduce_79,
346
+ 1, 87, :_reduce_80,
347
+ 3, 87, :_reduce_81,
348
+ 1, 105, :_reduce_none,
349
+ 3, 105, :_reduce_83,
350
+ 1, 96, :_reduce_none,
351
+ 1, 96, :_reduce_none,
352
+ 1, 96, :_reduce_none,
353
+ 1, 96, :_reduce_none,
354
+ 1, 96, :_reduce_none,
355
+ 1, 96, :_reduce_none,
356
+ 1, 101, :_reduce_none,
357
+ 1, 101, :_reduce_none,
358
+ 1, 101, :_reduce_none,
359
+ 1, 101, :_reduce_none,
360
+ 1, 101, :_reduce_none,
361
+ 1, 101, :_reduce_none,
362
+ 1, 101, :_reduce_none,
363
+ 1, 101, :_reduce_none,
364
+ 1, 101, :_reduce_none,
365
+ 1, 101, :_reduce_none,
366
+ 4, 77, :_reduce_100,
367
+ 3, 77, :_reduce_101,
368
+ 1, 79, :_reduce_102,
369
+ 1, 79, :_reduce_103,
370
+ 1, 76, :_reduce_104,
371
+ 4, 80, :_reduce_105,
372
+ 4, 80, :_reduce_106,
373
+ 6, 62, :_reduce_107,
374
+ 0, 108, :_reduce_none,
375
+ 4, 108, :_reduce_109,
393
376
  1, 107, :_reduce_none,
394
- 1, 107, :_reduce_125,
395
- 1, 111, :_reduce_126,
396
- 3, 111, :_reduce_127,
397
- 2, 62, :_reduce_128,
398
- 6, 64, :_reduce_129,
399
- 5, 64, :_reduce_130,
400
- 6, 65, :_reduce_131,
401
- 5, 65, :_reduce_132,
402
- 6, 66, :_reduce_133,
403
- 5, 66, :_reduce_134,
404
- 1, 80, :_reduce_none,
405
- 1, 80, :_reduce_none,
406
- 1, 114, :_reduce_none,
407
- 3, 114, :_reduce_138,
408
- 1, 116, :_reduce_none,
409
- 1, 116, :_reduce_none,
410
- 1, 116, :_reduce_none,
411
- 0, 54, :_reduce_142,
412
- 0, 117, :_reduce_143,
413
- 1, 112, :_reduce_none,
414
- 3, 112, :_reduce_145,
415
- 3, 112, :_reduce_146,
416
- 1, 118, :_reduce_none,
417
- 3, 118, :_reduce_148,
418
- 3, 119, :_reduce_149,
419
- 1, 119, :_reduce_150,
420
- 3, 119, :_reduce_151,
421
- 1, 119, :_reduce_152,
422
- 1, 115, :_reduce_none,
423
- 2, 115, :_reduce_154,
377
+ 5, 61, :_reduce_111,
378
+ 1, 109, :_reduce_none,
379
+ 2, 109, :_reduce_113,
380
+ 5, 110, :_reduce_114,
381
+ 4, 110, :_reduce_115,
382
+ 1, 111, :_reduce_none,
383
+ 3, 111, :_reduce_117,
384
+ 3, 78, :_reduce_118,
424
385
  1, 113, :_reduce_none,
425
- 2, 113, :_reduce_156,
426
- 1, 120, :_reduce_none,
386
+ 4, 113, :_reduce_120,
387
+ 1, 115, :_reduce_none,
388
+ 3, 115, :_reduce_122,
389
+ 3, 114, :_reduce_123,
390
+ 1, 112, :_reduce_none,
391
+ 1, 112, :_reduce_none,
392
+ 1, 112, :_reduce_none,
393
+ 1, 112, :_reduce_none,
394
+ 1, 112, :_reduce_none,
395
+ 1, 112, :_reduce_none,
396
+ 1, 112, :_reduce_none,
397
+ 1, 112, :_reduce_131,
398
+ 1, 116, :_reduce_132,
399
+ 3, 116, :_reduce_133,
400
+ 2, 63, :_reduce_134,
401
+ 6, 65, :_reduce_135,
402
+ 5, 65, :_reduce_136,
403
+ 6, 66, :_reduce_137,
404
+ 5, 66, :_reduce_138,
405
+ 6, 67, :_reduce_139,
406
+ 5, 67, :_reduce_140,
407
+ 1, 86, :_reduce_none,
408
+ 1, 86, :_reduce_none,
409
+ 1, 81, :_reduce_none,
410
+ 1, 81, :_reduce_none,
411
+ 1, 119, :_reduce_none,
412
+ 3, 119, :_reduce_146,
413
+ 1, 121, :_reduce_none,
414
+ 1, 121, :_reduce_none,
415
+ 1, 121, :_reduce_none,
416
+ 1, 121, :_reduce_none,
417
+ 0, 55, :_reduce_151,
418
+ 0, 122, :_reduce_152,
419
+ 1, 117, :_reduce_none,
420
+ 3, 117, :_reduce_154,
421
+ 3, 117, :_reduce_155,
422
+ 1, 123, :_reduce_none,
423
+ 3, 123, :_reduce_157,
424
+ 3, 124, :_reduce_158,
425
+ 1, 124, :_reduce_159,
426
+ 3, 124, :_reduce_160,
427
+ 1, 124, :_reduce_161,
427
428
  1, 120, :_reduce_none,
428
- 1, 73, :_reduce_159,
429
- 3, 97, :_reduce_160,
430
- 2, 97, :_reduce_161,
431
- 1, 101, :_reduce_none,
432
- 1, 101, :_reduce_none,
433
- 0, 84, :_reduce_none,
434
- 1, 84, :_reduce_165 ]
429
+ 2, 120, :_reduce_163,
430
+ 1, 118, :_reduce_none,
431
+ 2, 118, :_reduce_165,
432
+ 1, 125, :_reduce_none,
433
+ 1, 125, :_reduce_none,
434
+ 1, 74, :_reduce_168,
435
+ 3, 100, :_reduce_169,
436
+ 2, 100, :_reduce_170,
437
+ 1, 106, :_reduce_none,
438
+ 1, 106, :_reduce_none,
439
+ 0, 85, :_reduce_none,
440
+ 1, 85, :_reduce_174 ]
435
441
 
436
- racc_reduce_n = 166
442
+ racc_reduce_n = 175
437
443
 
438
- racc_shift_n = 267
444
+ racc_shift_n = 279
439
445
 
440
446
  racc_action_table = [
441
- 69, 50, 53, 86, 201, 89, 69, 50, 53, 36,
442
- 36, 203, 191, 104, 47, 152, 113, 192, 92, 36,
443
- 202, 163, 59, 34, 69, 50, 53, -124, 124, 90,
444
- 4, 42, 199, 200, 124, 52, 108, 42, 101, 61,
445
- 59, 52, 55, 38, 38, 61, 40, 40, 57, 69,
446
- 50, 53, 234, 38, 57, 42, 40, 225, 81, 52,
447
- 55, 168, 82, 61, 224, 59, 231, 69, 50, 53,
448
- 127, 138, 57, 69, 50, 53, -119, 199, 200, 230,
449
- 42, 167, 42, 59, 52, 55, -121, 143, 61, 59,
450
- -118, 47, 50, 53, 138, -135, 204, 57, 42, 161,
451
- 199, 200, 52, 55, 42, 42, 61, 59, 52, 55,
452
- 143, 44, 61, 138, 191, 57, 69, 50, 53, 192,
453
- 138, 57, 42, 129, 42, -120, 52, 55, 34, 143,
454
- 61, 42, 59, 188, 45, 4, 143, 34, 154, 57,
455
- 69, 50, 53, 34, 4, -121, 149, 42, 154, 180,
456
- 4, 52, 55, 181, 182, 61, 59, 196, 69, 50,
457
- 53, 50, 53, -118, 57, 69, 50, 53, 50, 53,
458
- -122, 42, 181, 249, 113, 52, 55, 159, -120, 61,
459
- -123, 59, -119, 69, 50, 53, 208, 99, 57, 42,
460
- 125, 212, -121, 52, 164, 214, 42, 61, 99, 59,
461
- 52, 55, 50, 53, 61, 124, 57, 69, 50, 53,
462
- 47, 81, 216, 57, 42, 81, 219, 113, 52, 55,
463
- -118, -119, 61, 59, 123, 69, 50, 53, 156, 122,
464
- 227, 57, 42, 50, 53, 228, 52, 164, 42, 229,
465
- 61, 59, 52, 55, 50, 53, 61, -123, 113, 57,
466
- -120, 50, 53, 154, 152, 57, 42, 151, 99, 113,
467
- 52, 55, 95, 42, 61, 162, 113, 52, 164, 50,
468
- 53, 61, 173, 57, 42, 50, 53, 154, 52, 164,
469
- 57, 42, 61, 130, 113, 52, 164, 135, 252, 61,
470
- 113, 57, 253, 50, 53, 134, 87, 82, 57, 42,
471
- 133, 99, -120, 52, 164, 42, -118, 61, 113, 52,
472
- 164, 50, 53, 61, -121, 223, 57, 50, 53, -119,
473
- -123, 41, 57, 42, 260, -165, 113, 52, 164, 261,
474
- 35, 61, 59, 50, 53, 50, 53, 119, -122, 32,
475
- 57, 42, 226, nil, nil, 52, 164, 42, 59, 61,
476
- 113, 52, 55, 169, nil, 61, nil, nil, 57, 45,
477
- nil, nil, nil, 42, 57, 42, nil, 52, 55, 52,
478
- 164, 61, 266, 61, nil, 45, nil, 45, nil, nil,
479
- 57, nil, 57, 19, nil, nil, nil, nil, nil, nil,
480
- nil, 232, nil, 16, nil, 21, 25, nil, 1, 5,
481
- nil, 10, 19, 14, nil, 18, nil, 27, nil, nil,
482
- 4, nil, 16, nil, 21, 25, 221, 1, 5, nil,
483
- 10, nil, 14, nil, 18, nil, 27, 19, nil, 4,
484
- nil, nil, nil, nil, nil, 244, nil, 16, nil, 21,
485
- 25, nil, 1, 5, nil, 10, 19, 14, nil, 18,
486
- nil, 27, nil, nil, 4, nil, 16, nil, 21, 25,
487
- 258, 1, 5, nil, 10, nil, 14, nil, 18, nil,
488
- 27, 19, nil, 4, nil, nil, nil, nil, nil, 245,
489
- nil, 16, nil, 21, 25, nil, 1, 5, nil, 10,
490
- 19, 14, nil, 18, nil, 27, nil, nil, 4, nil,
491
- 16, nil, 21, 25, 262, 1, 5, nil, 10, nil,
492
- 14, nil, 18, nil, 27, 19, nil, 4, nil, nil,
493
- nil, nil, nil, 265, nil, 16, nil, 21, 25, nil,
494
- 1, 5, nil, 10, 19, 14, nil, 18, nil, 27,
495
- nil, nil, 4, nil, 16, nil, 21, 25, 205, 1,
496
- 5, nil, 10, nil, 14, nil, 18, nil, 27, 19,
497
- nil, 4, nil, nil, nil, nil, nil, 210, nil, 16,
498
- nil, 21, 25, nil, 1, 5, nil, 10, 19, 14,
499
- nil, 18, nil, 27, nil, nil, 4, nil, 16, nil,
500
- 21, 25, nil, 1, 5, nil, 10, 19, 14, nil,
501
- 18, nil, 27, nil, nil, 4, nil, 16, nil, 21,
502
- 25, nil, 1, 5, nil, 10, 19, 14, nil, 18,
503
- nil, 27, nil, nil, 4, nil, 16, nil, 21, 25,
504
- nil, 1, 5, nil, 10, 19, 14, nil, 18, nil,
505
- 27, nil, nil, 4, nil, 16, nil, 21, 25, nil,
506
- 1, 5, nil, 10, 19, 14, nil, 18, nil, 27,
507
- nil, nil, 4, nil, 16, nil, 21, 25, nil, 1,
508
- 5, nil, 10, nil, 14, nil, 18, nil, 27, nil,
509
- nil, 4 ]
447
+ 81, 60, 64, 103, 173, 165, 81, 60, 64, 145,
448
+ 37, 167, 58, -141, 51, 97, 70, -141, 115, 107,
449
+ 166, -125, 70, 41, 81, 60, 64, 44, 45, 37,
450
+ 196, 51, 142, 162, 163, 63, 66, 51, 10, 72,
451
+ 130, 63, 66, 114, 10, 72, 172, 42, 68, 36,
452
+ 10, 81, 60, 64, 68, 51, 5, 10, 217, 63,
453
+ 127, 173, 46, 72, 180, 47, 251, 70, 207, 81,
454
+ 60, 64, 68, 211, 142, 81, 60, 64, 103, 250,
455
+ 44, 45, 51, 162, 163, 70, 63, 66, 197, 51,
456
+ 72, 70, 199, 200, 107, 10, 81, 60, 64, 68,
457
+ 51, 181, 245, 95, 63, 66, 51, 96, 72, 244,
458
+ 63, 66, 70, 10, 72, 46, -130, 68, 47, 10,
459
+ 81, 60, 64, 68, 199, 262, 36, 51, 191, 159,
460
+ 36, 63, 66, 5, -129, 72, 70, 5, -125, 36,
461
+ 10, 58, 60, 64, 68, -143, 5, 81, 60, 64,
462
+ 95, 51, 44, 45, 179, 63, 66, 70, 103, 72,
463
+ -127, 54, -124, 70, 10, 81, 60, 64, 68, 51,
464
+ 207, -124, 51, 176, 107, 211, 63, 66, 51, 212,
465
+ 72, 70, 63, 66, 55, 10, 72, 46, 213, 68,
466
+ 47, 10, 81, 60, 64, 68, 51, 60, 64, 173,
467
+ 63, 66, 168, 103, 72, 179, 162, 163, 70, 10,
468
+ 81, 60, 64, 68, 51, -141, 81, 60, 64, 107,
469
+ 60, 64, -126, 51, 175, 143, 70, 63, 66, -128,
470
+ 141, 72, 70, -126, 139, 231, 10, 81, 60, 64,
471
+ 68, 51, 120, -128, 234, 63, 66, 51, 235, 72,
472
+ 154, 63, 66, 130, 10, 72, 60, 64, 68, 154,
473
+ 10, 238, 60, 64, 68, 142, 120, 241, 51, 171,
474
+ -126, 130, 63, 186, -124, 147, 72, 130, 60, 64,
475
+ 60, 64, 101, 248, 249, 68, 51, 160, 252, 96,
476
+ 63, 186, 51, 130, 72, 130, 63, 186, 255, -127,
477
+ 72, -126, -124, 68, 60, 64, 60, 64, 51, 68,
478
+ 51, -127, 63, 186, 63, 186, 72, -125, 72, 70,
479
+ -129, 130, 60, 64, 193, 68, 247, 68, 60, 64,
480
+ -125, 187, 179, 94, 51, 156, 51, 130, 63, 66,
481
+ 63, 186, 72, 130, 72, 263, 55, 10, 265, 154,
482
+ -127, 68, 51, 68, 150, 149, 63, 186, 51, 50,
483
+ 72, 49, 63, 186, 60, 64, 72, 272, -174, 68,
484
+ 60, 64, 273, 148, -129, 68, 34, 58, nil, 70,
485
+ 60, 64, nil, nil, 137, 130, nil, nil, nil, nil,
486
+ nil, nil, nil, nil, 51, 130, nil, nil, 63, 66,
487
+ 51, nil, 72, nil, 63, 186, 55, 10, 72, 278,
488
+ 51, 68, nil, nil, 63, 186, nil, 68, 72, nil,
489
+ 23, nil, 55, nil, nil, nil, nil, 68, 243, nil,
490
+ 20, nil, 25, 27, nil, 1, 6, nil, 13, 23,
491
+ 18, nil, 22, nil, 28, nil, nil, 5, 10, 20,
492
+ nil, 25, 27, 253, 1, 6, nil, 13, nil, 18,
493
+ nil, 22, nil, 28, 23, nil, 5, 10, nil, nil,
494
+ nil, nil, 274, nil, 20, nil, 25, 27, nil, 1,
495
+ 6, nil, 13, 23, 18, nil, 22, nil, 28, nil,
496
+ nil, 5, 10, 20, nil, 25, 27, 227, 1, 6,
497
+ nil, 13, nil, 18, nil, 22, nil, 28, 23, nil,
498
+ 5, 10, nil, nil, nil, nil, 256, nil, 20, nil,
499
+ 25, 27, nil, 1, 6, nil, 13, 23, 18, nil,
500
+ 22, nil, 28, nil, nil, 5, 10, 20, nil, 25,
501
+ 27, 257, 1, 6, nil, 13, nil, 18, nil, 22,
502
+ nil, 28, 23, nil, 5, 10, nil, nil, nil, nil,
503
+ 277, nil, 20, nil, 25, 27, nil, 1, 6, nil,
504
+ 13, 23, 18, nil, 22, nil, 28, nil, nil, 5,
505
+ 10, 20, nil, 25, 27, 270, 1, 6, nil, 13,
506
+ nil, 18, nil, 22, nil, 28, 23, nil, 5, 10,
507
+ nil, nil, nil, nil, 215, nil, 20, nil, 25, 27,
508
+ nil, 1, 6, nil, 13, 23, 18, nil, 22, nil,
509
+ 28, nil, nil, 5, 10, 20, nil, 25, 27, nil,
510
+ 1, 6, nil, 13, 23, 18, nil, 22, nil, 28,
511
+ nil, nil, 5, 10, 20, nil, 25, 27, nil, 1,
512
+ 6, nil, 13, 23, 18, nil, 22, nil, 28, nil,
513
+ nil, 5, 10, 20, nil, 25, 27, nil, 1, 6,
514
+ nil, 13, 23, 18, nil, 22, nil, 28, nil, nil,
515
+ 5, 10, 20, nil, 25, 27, nil, 1, 6, nil,
516
+ 13, 23, 18, nil, 22, nil, 28, nil, nil, 5,
517
+ 10, 20, nil, 25, 27, nil, 1, 6, nil, 13,
518
+ nil, 18, nil, 22, nil, 28, nil, nil, 5, 10 ]
510
519
 
511
520
  racc_action_check = [
512
- 41, 41, 41, 22, 139, 26, 47, 47, 47, 104,
513
- 10, 142, 135, 37, 55, 108, 41, 135, 27, 101,
514
- 142, 121, 47, 22, 81, 81, 81, 74, 108, 26,
515
- 22, 41, 139, 139, 55, 41, 41, 47, 37, 41,
516
- 81, 47, 47, 104, 10, 47, 104, 10, 41, 179,
517
- 179, 179, 197, 101, 47, 81, 101, 186, 19, 81,
518
- 81, 123, 19, 81, 186, 179, 194, 69, 69, 69,
519
- 69, 89, 81, 32, 32, 32, 115, 197, 197, 194,
520
- 179, 123, 89, 69, 179, 179, 73, 89, 179, 32,
521
- 72, 14, 14, 14, 138, 14, 147, 179, 69, 114,
522
- 147, 147, 69, 69, 32, 138, 69, 14, 32, 32,
523
- 138, 14, 32, 198, 231, 69, 16, 16, 16, 231,
524
- 90, 32, 14, 71, 198, 68, 14, 14, 25, 198,
525
- 14, 90, 16, 131, 14, 25, 90, 5, 132, 14,
526
- 18, 18, 18, 95, 5, 112, 95, 16, 111, 126,
527
- 95, 16, 16, 126, 126, 16, 18, 136, 159, 159,
528
- 159, 21, 21, 109, 16, 228, 228, 228, 133, 133,
529
- 66, 18, 217, 217, 159, 18, 18, 107, 106, 18,
530
- 65, 228, 64, 152, 152, 152, 153, 154, 18, 159,
531
- 63, 158, 60, 159, 159, 160, 228, 159, 161, 152,
532
- 228, 228, 225, 225, 228, 164, 159, 219, 219, 219,
533
- 167, 168, 170, 228, 152, 59, 176, 225, 152, 152,
534
- 58, 75, 152, 219, 54, 227, 227, 227, 102, 51,
535
- 191, 152, 225, 130, 130, 192, 225, 225, 219, 193,
536
- 225, 227, 219, 219, 173, 173, 219, 77, 130, 225,
537
- 46, 247, 247, 100, 99, 219, 227, 96, 35, 173,
538
- 227, 227, 33, 130, 227, 120, 247, 130, 130, 125,
539
- 125, 130, 125, 227, 173, 203, 203, 215, 173, 173,
540
- 130, 247, 173, 80, 125, 247, 247, 88, 221, 247,
541
- 203, 173, 224, 202, 202, 87, 24, 86, 247, 125,
542
- 83, 82, 237, 125, 125, 203, 239, 125, 202, 203,
543
- 203, 184, 184, 203, 240, 184, 125, 44, 44, 241,
544
- 242, 11, 203, 202, 248, 249, 184, 202, 202, 252,
545
- 8, 202, 44, 124, 124, 122, 122, 44, 79, 1,
546
- 202, 184, 189, nil, nil, 184, 184, 44, 124, 184,
547
- 122, 44, 44, 124, nil, 44, nil, nil, 184, 44,
548
- nil, nil, nil, 124, 44, 122, nil, 124, 124, 122,
549
- 122, 124, 264, 122, nil, 124, nil, 122, nil, nil,
550
- 124, nil, 122, 264, nil, nil, nil, nil, nil, nil,
551
- nil, 196, nil, 264, nil, 264, 264, nil, 264, 264,
552
- nil, 264, 196, 264, nil, 264, nil, 264, nil, nil,
553
- 264, nil, 196, nil, 196, 196, 183, 196, 196, nil,
554
- 196, nil, 196, nil, 196, nil, 196, 183, nil, 196,
555
- nil, nil, nil, nil, nil, 206, nil, 183, nil, 183,
556
- 183, nil, 183, 183, nil, 183, 206, 183, nil, 183,
557
- nil, 183, nil, nil, 183, nil, 206, nil, 206, 206,
558
- 233, 206, 206, nil, 206, nil, 206, nil, 206, nil,
559
- 206, 233, nil, 206, nil, nil, nil, nil, nil, 211,
560
- nil, 233, nil, 233, 233, nil, 233, 233, nil, 233,
561
- 211, 233, nil, 233, nil, 233, nil, nil, 233, nil,
562
- 211, nil, 211, 211, 253, 211, 211, nil, 211, nil,
563
- 211, nil, 211, nil, 211, 253, nil, 211, nil, nil,
564
- nil, nil, nil, 263, nil, 253, nil, 253, 253, nil,
565
- 253, 253, nil, 253, 263, 253, nil, 253, nil, 253,
566
- nil, nil, 253, nil, 263, nil, 263, 263, 151, 263,
567
- 263, nil, 263, nil, 263, nil, 263, nil, 263, 151,
568
- nil, 263, nil, nil, nil, nil, nil, 156, nil, 151,
569
- nil, 151, 151, nil, 151, 151, nil, 151, 156, 151,
570
- nil, 151, nil, 151, nil, nil, 151, nil, 156, nil,
571
- 156, 156, nil, 156, 156, nil, 156, 261, 156, nil,
572
- 156, nil, 156, nil, nil, 156, nil, 261, nil, 261,
573
- 261, nil, 261, 261, nil, 261, 29, 261, nil, 261,
574
- nil, 261, nil, nil, 261, nil, 29, nil, 29, 29,
575
- nil, 29, 29, nil, 29, 129, 29, nil, 29, nil,
576
- 29, nil, nil, 29, nil, 129, nil, 129, 129, nil,
577
- 129, 129, nil, 129, 0, 129, nil, 129, nil, 129,
578
- nil, nil, 129, nil, 0, nil, 0, 0, nil, 0,
579
- 0, nil, 0, nil, 0, nil, 0, nil, 0, nil,
580
- nil, 0 ]
521
+ 95, 95, 95, 41, 120, 105, 81, 81, 81, 81,
522
+ 143, 110, 66, 23, 41, 31, 95, 23, 48, 41,
523
+ 110, 133, 81, 7, 50, 50, 50, 115, 115, 2,
524
+ 143, 95, 66, 105, 105, 95, 95, 81, 143, 95,
525
+ 50, 81, 81, 48, 95, 81, 120, 7, 95, 2,
526
+ 81, 198, 198, 198, 81, 50, 2, 2, 161, 50,
527
+ 50, 127, 115, 50, 136, 115, 209, 198, 251, 173,
528
+ 173, 173, 50, 251, 127, 58, 58, 58, 42, 209,
529
+ 13, 13, 198, 161, 161, 173, 198, 198, 146, 42,
530
+ 198, 58, 146, 146, 42, 198, 34, 34, 34, 198,
531
+ 173, 138, 203, 29, 173, 173, 58, 29, 173, 203,
532
+ 58, 58, 34, 173, 58, 13, 77, 173, 13, 58,
533
+ 172, 172, 172, 58, 240, 240, 101, 34, 140, 101,
534
+ 6, 34, 34, 101, 76, 34, 172, 6, 75, 27,
535
+ 34, 18, 18, 18, 34, 18, 27, 20, 20, 20,
536
+ 74, 172, 114, 114, 131, 172, 172, 18, 164, 172,
537
+ 73, 18, 71, 20, 172, 22, 22, 22, 172, 164,
538
+ 150, 129, 18, 128, 164, 150, 18, 18, 20, 152,
539
+ 18, 22, 20, 20, 18, 18, 20, 114, 153, 18,
540
+ 114, 20, 252, 252, 252, 20, 22, 149, 149, 154,
541
+ 22, 22, 112, 103, 22, 155, 112, 112, 252, 22,
542
+ 248, 248, 248, 22, 103, 70, 238, 238, 238, 103,
543
+ 25, 25, 125, 252, 121, 67, 248, 252, 252, 78,
544
+ 65, 252, 238, 59, 57, 174, 252, 176, 176, 176,
545
+ 252, 248, 175, 53, 177, 248, 248, 238, 178, 248,
546
+ 179, 238, 238, 176, 248, 238, 166, 166, 248, 180,
547
+ 238, 183, 167, 167, 238, 186, 49, 194, 176, 116,
548
+ 83, 166, 176, 176, 85, 86, 176, 167, 148, 148,
549
+ 260, 260, 39, 207, 208, 176, 166, 102, 211, 38,
550
+ 166, 166, 167, 148, 166, 260, 167, 167, 214, 132,
551
+ 167, 220, 221, 166, 142, 142, 245, 245, 148, 167,
552
+ 260, 222, 148, 148, 260, 260, 148, 224, 260, 142,
553
+ 225, 245, 205, 205, 142, 148, 205, 260, 139, 139,
554
+ 88, 139, 237, 28, 142, 97, 245, 205, 142, 142,
555
+ 245, 245, 142, 139, 245, 243, 142, 142, 244, 96,
556
+ 87, 142, 205, 245, 93, 92, 205, 205, 139, 16,
557
+ 205, 14, 139, 139, 54, 54, 139, 261, 262, 205,
558
+ 187, 187, 263, 90, 89, 139, 1, 196, nil, 54,
559
+ 141, 141, nil, nil, 54, 187, nil, nil, nil, nil,
560
+ nil, nil, nil, nil, 54, 141, nil, nil, 54, 54,
561
+ 187, nil, 54, nil, 187, 187, 54, 54, 187, 276,
562
+ 141, 54, nil, nil, 141, 141, nil, 187, 141, nil,
563
+ 276, nil, 141, nil, nil, nil, nil, 141, 201, nil,
564
+ 276, nil, 276, 276, nil, 276, 276, nil, 276, 201,
565
+ 276, nil, 276, nil, 276, nil, nil, 276, 276, 201,
566
+ nil, 201, 201, 212, 201, 201, nil, 201, nil, 201,
567
+ nil, 201, nil, 201, 212, nil, 201, 201, nil, nil,
568
+ nil, nil, 265, nil, 212, nil, 212, 212, nil, 212,
569
+ 212, nil, 212, 265, 212, nil, 212, nil, 212, nil,
570
+ nil, 212, 212, 265, nil, 265, 265, 171, 265, 265,
571
+ nil, 265, nil, 265, nil, 265, nil, 265, 171, nil,
572
+ 265, 265, nil, nil, nil, nil, 216, nil, 171, nil,
573
+ 171, 171, nil, 171, 171, nil, 171, 216, 171, nil,
574
+ 171, nil, 171, nil, nil, 171, 171, 216, nil, 216,
575
+ 216, 228, 216, 216, nil, 216, nil, 216, nil, 216,
576
+ nil, 216, 228, nil, 216, 216, nil, nil, nil, nil,
577
+ 275, nil, 228, nil, 228, 228, nil, 228, 228, nil,
578
+ 228, 275, 228, nil, 228, nil, 228, nil, nil, 228,
579
+ 228, 275, nil, 275, 275, 254, 275, 275, nil, 275,
580
+ nil, 275, nil, 275, nil, 275, 254, nil, 275, 275,
581
+ nil, nil, nil, nil, 160, nil, 254, nil, 254, 254,
582
+ nil, 254, 254, nil, 254, 160, 254, nil, 254, nil,
583
+ 254, nil, nil, 254, 254, 160, nil, 160, 160, nil,
584
+ 160, 160, nil, 160, 273, 160, nil, 160, nil, 160,
585
+ nil, nil, 160, 160, 273, nil, 273, 273, nil, 273,
586
+ 273, nil, 273, 147, 273, nil, 273, nil, 273, nil,
587
+ nil, 273, 273, 147, nil, 147, 147, nil, 147, 147,
588
+ nil, 147, 33, 147, nil, 147, nil, 147, nil, nil,
589
+ 147, 147, 33, nil, 33, 33, nil, 33, 33, nil,
590
+ 33, 0, 33, nil, 33, nil, 33, nil, nil, 33,
591
+ 33, 0, nil, 0, 0, nil, 0, 0, nil, 0,
592
+ nil, 0, nil, 0, nil, 0, nil, nil, 0, 0 ]
581
593
 
582
594
  racc_action_pointer = [
583
- 636, 326, nil, nil, nil, 99, nil, nil, 324, nil,
584
- 6, 315, nil, nil, 89, nil, 114, nil, 138, 56,
585
- nil, 158, -15, nil, 296, 90, -14, -24, nil, 598,
586
- nil, nil, 71, 227, nil, 220, nil, 3, nil, nil,
587
- nil, -2, nil, nil, 314, nil, 229, 4, nil, nil,
588
- nil, 219, nil, nil, 214, 12, nil, nil, 199, 213,
589
- 171, nil, nil, 169, 161, 159, 149, nil, 104, 65,
590
- nil, 117, 69, 65, 6, 200, nil, 226, nil, 317,
591
- 277, 22, 263, 290, nil, nil, 291, 295, 265, 49,
592
- 98, nil, nil, nil, nil, 105, 251, nil, nil, 245,
593
- 243, 15, 222, nil, 5, nil, 157, 138, 6, 142,
594
- nil, 138, 124, nil, 82, 55, nil, nil, nil, nil,
595
- 242, 16, 332, 43, 330, 266, 144, nil, nil, 617,
596
- 230, 128, 128, 165, nil, -21, 151, nil, 72, -16,
597
- nil, nil, -4, nil, nil, nil, nil, 52, nil, nil,
598
- nil, 541, 181, 179, 149, nil, 560, nil, 184, 156,
599
- 188, 160, nil, nil, 183, nil, nil, 208, 209, nil,
600
- 189, nil, nil, 241, nil, nil, 207, nil, nil, 47,
601
- nil, nil, nil, 409, 308, nil, 47, nil, nil, 335,
602
- nil, 217, 222, 216, 56, nil, 384, 29, 91, nil,
603
- nil, nil, 290, 272, nil, nil, 428, nil, nil, nil,
604
- nil, 472, nil, nil, nil, 267, nil, 163, nil, 205,
605
- nil, 259, nil, nil, 286, 199, nil, 223, 163, nil,
606
- nil, 81, nil, 453, nil, nil, nil, 281, nil, 285,
607
- 293, 298, 299, nil, nil, nil, nil, 248, 317, 318,
608
- nil, nil, 323, 497, nil, nil, nil, nil, nil, nil,
609
- nil, 579, nil, 516, 365, nil, nil ]
595
+ 673, 363, 11, nil, nil, nil, 92, 4, nil, nil,
596
+ nil, nil, nil, 77, 355, nil, 353, nil, 139, nil,
597
+ 145, nil, 163, 11, nil, 217, nil, 101, 291, 101,
598
+ nil, 15, nil, 654, 94, nil, nil, nil, 283, 247,
599
+ nil, -19, 56, nil, nil, nil, nil, nil, 8, 228,
600
+ 22, nil, nil, 222, 361, nil, nil, 213, 73, 212,
601
+ nil, nil, nil, nil, nil, 220, 10, 215, nil, nil,
602
+ 213, 141, nil, 139, 148, 117, 113, 95, 208, nil,
603
+ nil, 4, nil, 249, nil, 253, 269, 329, 309, 353,
604
+ 367, nil, 345, 332, nil, -2, 311, 335, nil, nil,
605
+ nil, 88, 281, 181, nil, -15, nil, nil, nil, nil,
606
+ -4, nil, 158, nil, 149, 24, 263, nil, nil, nil,
607
+ -5, 214, nil, nil, nil, 201, nil, 52, 134, 150,
608
+ nil, 144, 278, 0, nil, nil, 47, nil, 78, 325,
609
+ 123, 377, 301, -8, nil, nil, 83, 635, 275, 194,
610
+ 137, nil, 173, 183, 190, 195, nil, nil, nil, nil,
611
+ 597, 35, nil, nil, 136, nil, 253, 259, nil, nil,
612
+ nil, 490, 118, 67, 228, 204, 235, 237, 241, 212,
613
+ 221, nil, nil, 252, nil, nil, 243, 367, nil, nil,
614
+ nil, nil, nil, nil, 244, nil, 375, nil, 49, nil,
615
+ nil, 421, nil, 92, nil, 319, nil, 270, 261, 56,
616
+ nil, 275, 446, nil, 291, nil, 509, nil, nil, nil,
617
+ 280, 281, 290, nil, 296, 299, nil, nil, 534, nil,
618
+ nil, nil, nil, nil, nil, nil, nil, 322, 214, nil,
619
+ 115, nil, nil, 316, 342, 303, nil, nil, 208, nil,
620
+ nil, 35, 190, nil, 578, nil, nil, nil, nil, nil,
621
+ 277, 360, 361, 366, nil, 465, nil, nil, nil, nil,
622
+ nil, nil, nil, 616, nil, 553, 402, nil, nil ]
610
623
 
611
624
  racc_action_default = [
612
- -142, -166, -15, -3, -136, -166, -16, -5, -166, -6,
613
- -166, -166, -7, -8, -43, -9, -166, -10, -166, -42,
614
- -11, -166, -166, -12, -166, -166, -166, -39, -13, -1,
615
- -14, -2, -166, -142, -135, -72, -140, -142, -139, -137,
616
- -141, -72, -159, -29, -166, -31, -30, -166, -32, -19,
617
- -96, -20, -98, -97, -21, -63, -22, -62, -24, -64,
618
- -25, -125, -124, -166, -26, -27, -28, -88, -84, -166,
619
- -91, -166, -85, -89, -93, -86, -90, -87, -104, -92,
620
- -166, -166, -72, -128, -126, -38, -166, -166, -142, -142,
621
- -142, -41, -40, -4, -71, -166, -166, -155, -73, -166,
622
- -164, -166, -166, -153, -166, -68, -65, -60, -63, -66,
623
- -58, -164, -69, -64, -166, -67, -123, -70, -122, -18,
624
- -166, -166, -166, -166, -166, -166, -166, -161, -76, -166,
625
- -166, -166, -164, -166, 267, -143, -166, -144, -142, -166,
626
- -47, -49, -166, -63, -56, -55, -46, -166, -157, -158,
627
- -156, -166, -166, -166, -165, -154, -166, -138, -166, -61,
628
- -166, -72, -17, -99, -63, -23, -33, -166, -166, -95,
629
- -166, -120, -118, -166, -121, -119, -166, -112, -113, -166,
630
- -160, -162, -163, -166, -166, -106, -166, -110, -100, -166,
631
- -127, -152, -150, -166, -166, -147, -166, -166, -166, -52,
632
- -51, -45, -166, -166, -44, -132, -166, -75, -37, -74,
633
- -134, -166, -34, -59, -35, -164, -94, -164, -115, -166,
634
- -77, -102, -107, -105, -166, -166, -36, -166, -166, -145,
635
- -146, -166, -130, -166, -50, -48, -82, -78, -53, -79,
636
- -83, -80, -81, -54, -131, -133, -57, -166, -166, -163,
637
- -117, -101, -166, -166, -111, -151, -149, -148, -129, -116,
638
- -114, -166, -109, -166, -166, -108, -103 ]
625
+ -151, -175, -175, -14, -2, -144, -175, -175, -15, -3,
626
+ -142, -16, -5, -175, -175, -6, -175, -7, -43, -8,
627
+ -175, -9, -175, -42, -10, -175, -11, -175, -39, -175,
628
+ -12, -175, -13, -1, -175, -38, -143, -141, -175, -151,
629
+ -41, -151, -151, -145, -149, -148, -147, -150, -151, -79,
630
+ -72, -168, -130, -28, -175, -31, -29, -175, -175, -30,
631
+ -102, -32, -19, -104, -103, -20, -63, -21, -62, -22,
632
+ -64, -24, -131, -25, -175, -26, -27, -99, -98, -96,
633
+ -94, -175, -110, -90, -97, -91, -175, -95, -92, -93,
634
+ -175, -132, -134, -151, -40, -175, -72, -175, -4, -71,
635
+ -164, -175, -175, -151, -46, -175, -47, -63, -49, -56,
636
+ -175, -55, -175, -162, -175, -175, -175, -77, -78, -80,
637
+ -175, -173, -128, -70, -68, -65, -73, -63, -60, -66,
638
+ -64, -173, -69, -67, -58, -129, -175, -18, -175, -175,
639
+ -175, -175, -175, -175, -82, -170, -175, -175, -175, -175,
640
+ -152, -153, -175, -175, -175, -173, 279, -166, -165, -167,
641
+ -175, -175, -52, -51, -175, -45, -175, -175, -44, -163,
642
+ -146, -175, -175, -175, -175, -174, -61, -175, -175, -174,
643
+ -72, -17, -126, -175, -118, -119, -63, -175, -124, -127,
644
+ -125, -105, -23, -101, -175, -33, -175, -169, -175, -171,
645
+ -172, -175, -112, -175, -116, -175, -133, -161, -175, -175,
646
+ -156, -159, -175, -106, -175, -138, -175, -50, -48, -88,
647
+ -84, -85, -89, -53, -86, -87, -54, -140, -175, -76,
648
+ -75, -37, -81, -59, -34, -35, -74, -173, -175, -121,
649
+ -173, -100, -83, -108, -175, -175, -113, -111, -175, -154,
650
+ -155, -175, -175, -136, -175, -36, -137, -139, -57, -123,
651
+ -175, -175, -172, -175, -107, -175, -117, -160, -157, -158,
652
+ -135, -122, -120, -175, -115, -175, -175, -114, -109 ]
639
653
 
640
654
  racc_goto_table = [
641
- 29, 93, 100, 110, 46, 178, 195, 39, 111, 43,
642
- 176, 84, 179, 117, 66, 187, 49, 33, 153, 185,
643
- 24, 139, 147, 238, 243, 209, 126, 235, 71, 160,
644
- 65, 106, 251, 184, 46, 91, 105, 88, 158, 43,
645
- 177, 118, 107, 217, 66, 83, 120, 136, 96, 132,
646
- 189, 37, 102, 218, 64, 165, 31, 116, 176, 193,
647
- 65, 60, 194, 85, 150, nil, nil, nil, nil, 187,
648
- 197, nil, nil, 222, nil, nil, nil, nil, nil, nil,
649
- nil, 115, nil, nil, 64, nil, nil, nil, 112, 97,
650
- nil, 60, nil, 103, nil, nil, nil, nil, 155, nil,
651
- nil, 157, 257, 247, nil, nil, nil, 148, nil, nil,
652
- 254, nil, 46, nil, 46, 171, nil, 43, nil, 43,
653
- 171, 213, 66, 190, 66, 118, 170, 259, 215, 183,
654
- 118, 117, 176, 246, nil, 248, 145, 145, 65, nil,
655
- 65, 116, nil, nil, 137, nil, 116, nil, nil, 106,
656
- nil, 206, nil, nil, 105, 93, 211, nil, nil, 118,
657
- nil, nil, 64, 171, 64, 175, nil, nil, nil, 60,
658
- 175, 60, 174, 118, 171, 116, nil, 174, 93, nil,
659
- 58, nil, nil, 93, 118, 145, nil, nil, nil, 116,
660
- nil, nil, 237, 237, nil, nil, 233, 236, 236, 115,
661
- 116, nil, 118, 118, nil, 93, 112, 109, nil, nil,
662
- 58, nil, nil, 175, nil, 171, nil, nil, 242, 242,
663
- 174, nil, nil, nil, 175, 118, nil, nil, nil, nil,
664
- nil, 174, nil, nil, nil, 93, 93, 171, nil, nil,
665
- nil, 116, 241, 241, 48, 145, 70, 118, 70, 240,
666
- 240, nil, 78, 263, 80, 144, 144, nil, nil, nil,
667
- nil, 264, 70, 116, nil, 175, nil, nil, 94, 74,
668
- nil, 74, 174, nil, 48, nil, nil, 70, nil, nil,
669
- nil, nil, nil, 121, nil, 74, nil, 175, 58, nil,
670
- 58, 172, nil, nil, 174, nil, 172, nil, nil, 70,
671
- 74, nil, nil, nil, 144, 128, nil, nil, nil, nil,
672
- nil, 70, nil, nil, nil, nil, nil, 131, nil, nil,
673
- nil, nil, 74, nil, nil, 109, nil, nil, nil, nil,
674
- nil, nil, nil, nil, 74, nil, nil, nil, nil, 172,
655
+ 29, 33, 38, 131, 185, 98, 117, 53, 123, 119,
656
+ 174, 43, 134, 31, 210, 62, 39, 105, 112, 202,
657
+ 178, 218, 198, 223, 226, 4, 146, 40, 86, 264,
658
+ 205, 121, 77, 29, 77, 177, 184, 93, 128, 122,
659
+ 240, 92, 152, 53, 214, 102, 77, 48, 183, 155,
660
+ 116, 138, 239, 192, 208, 209, 59, 204, 35, 158,
661
+ nil, nil, nil, 91, 100, nil, nil, nil, nil, 76,
662
+ 77, nil, nil, 113, nil, nil, 246, nil, nil, 161,
663
+ nil, nil, nil, nil, 82, nil, 90, nil, 125, nil,
664
+ nil, nil, 59, 77, nil, nil, 183, nil, 99, nil,
665
+ nil, 135, nil, nil, nil, 76, nil, 77, nil, nil,
666
+ nil, 157, 169, 170, 204, 268, 260, nil, 151, nil,
667
+ nil, 75, 140, nil, nil, 271, 258, nil, 122, 261,
668
+ 53, 53, 117, 237, 123, 232, 236, 122, 233, 194,
669
+ nil, nil, nil, nil, nil, 144, nil, 29, 201, nil,
670
+ nil, nil, nil, 133, 266, 122, 122, 75, nil, 153,
671
+ 29, 216, nil, nil, nil, 122, nil, nil, nil, 183,
672
+ nil, 29, 228, 98, nil, nil, 122, 182, nil, 59,
673
+ 59, nil, nil, 71, 77, 77, 182, 206, 98, nil,
674
+ 135, nil, 76, 76, 122, nil, nil, 73, nil, 135,
675
+ 98, 29, nil, nil, 220, 220, 109, 109, nil, nil,
676
+ 77, nil, 29, 254, 125, 129, 29, 225, 225, 71,
677
+ 111, 111, nil, nil, nil, 182, 98, 135, 29, 132,
678
+ nil, nil, nil, 73, 122, nil, 229, 230, 135, nil,
679
+ nil, nil, 190, 182, 75, 75, nil, 98, 98, 122,
680
+ 77, 190, nil, 56, 29, nil, 135, nil, nil, nil,
681
+ 77, nil, 242, nil, 77, 29, 275, nil, 109, 224,
682
+ 224, nil, nil, 29, 276, 29, 29, nil, nil, 133,
683
+ nil, nil, 111, 182, nil, 124, nil, nil, nil, 56,
684
+ 190, nil, nil, nil, nil, nil, 135, nil, 182, nil,
685
+ nil, nil, 259, nil, 188, nil, 71, 71, 190, nil,
686
+ nil, 135, 267, 188, nil, nil, 269, nil, 189, nil,
687
+ 73, 73, 61, nil, 84, nil, 84, 189, nil, 109,
688
+ nil, 221, 221, nil, nil, nil, nil, nil, 84, nil,
689
+ nil, 129, nil, 111, nil, 222, 222, nil, 190, nil,
690
+ nil, nil, 188, nil, nil, 132, nil, nil, 61, nil,
691
+ nil, nil, 84, 190, nil, nil, 189, nil, nil, nil,
692
+ 188, nil, nil, nil, nil, nil, 56, 56, nil, nil,
693
+ nil, nil, nil, nil, 189, 84, nil, nil, nil, nil,
694
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 84,
695
+ nil, 219, 219, nil, nil, nil, nil, nil, nil, nil,
696
+ 188, 124, nil, nil, nil, nil, nil, nil, nil, nil,
697
+ nil, nil, nil, nil, 189, 188, nil, nil, nil, nil,
698
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 189,
699
+ nil, nil, nil, nil, nil, nil, 61, 195, nil, nil,
675
700
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
676
- 172, nil, nil, 166, 48, nil, nil, nil, nil, nil,
677
- nil, nil, nil, nil, 144, nil, nil, nil, 239, 239,
678
701
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
679
- nil, nil, 70, nil, nil, nil, nil, nil, 207, nil,
680
- nil, 172, nil, nil, nil, nil, nil, nil, nil, nil,
681
- nil, nil, nil, nil, nil, 74, nil, nil, nil, 70,
682
- nil, nil, nil, 172, nil, 220, nil, nil, nil, nil,
702
+ nil, nil, nil, nil, nil, nil, 84, 84, nil, nil,
683
703
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
684
- nil, nil, 74, nil, nil, nil, nil, nil, nil, nil,
685
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 70,
686
- nil, nil, nil, nil, nil, 250, nil, 70, 70, nil,
687
- nil, nil, nil, 255, 256, nil, nil, nil, nil, nil,
688
- nil, nil, 74, nil, nil, nil, nil, nil, nil, nil,
689
- 74, 74 ]
704
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
705
+ nil, nil, 84, nil, nil, nil, nil, nil, nil, nil,
706
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
707
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
708
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
709
+ nil, nil, 84, nil, nil, nil, nil, nil, nil, nil,
710
+ nil, nil, 84, nil, nil, nil, 84 ]
690
711
 
691
712
  racc_goto_check = [
692
- 2, 4, 32, 43, 27, 58, 68, 65, 32, 26,
693
- 56, 27, 50, 46, 25, 56, 17, 29, 33, 54,
694
- 1, 37, 37, 42, 42, 48, 49, 38, 51, 33,
695
- 24, 27, 52, 53, 27, 36, 26, 29, 31, 26,
696
- 57, 25, 30, 59, 25, 60, 17, 61, 62, 32,
697
- 33, 63, 64, 58, 23, 20, 3, 24, 56, 66,
698
- 24, 22, 67, 5, 69, nil, nil, nil, nil, 56,
699
- 37, nil, nil, 54, nil, nil, nil, nil, nil, nil,
700
- nil, 23, nil, nil, 23, nil, nil, nil, 22, 3,
701
- nil, 22, nil, 3, nil, nil, nil, nil, 65, nil,
702
- nil, 65, 68, 50, nil, nil, nil, 29, nil, nil,
703
- 56, nil, 27, nil, 27, 27, nil, 26, nil, 26,
704
- 27, 43, 25, 27, 25, 25, 17, 58, 32, 2,
705
- 25, 46, 56, 33, nil, 33, 22, 22, 24, nil,
706
- 24, 24, nil, nil, 3, nil, 24, nil, nil, 27,
707
- nil, 2, nil, nil, 26, 4, 2, nil, nil, 25,
708
- nil, nil, 23, 27, 23, 23, nil, nil, nil, 22,
709
- 23, 22, 22, 25, 27, 24, nil, 22, 4, nil,
710
- 21, nil, nil, 4, 25, 22, nil, nil, nil, 24,
711
- nil, nil, 27, 27, nil, nil, 2, 26, 26, 23,
712
- 24, nil, 25, 25, nil, 4, 22, 21, nil, nil,
713
- 21, nil, nil, 23, nil, 27, nil, nil, 24, 24,
714
- 22, nil, nil, nil, 23, 25, nil, nil, nil, nil,
715
- nil, 22, nil, nil, nil, 4, 4, 27, nil, nil,
716
- nil, 24, 23, 23, 28, 22, 28, 25, 28, 22,
717
- 22, nil, 47, 2, 47, 21, 21, nil, nil, nil,
718
- nil, 2, 28, 24, nil, 23, nil, nil, 47, 45,
719
- nil, 45, 22, nil, 28, nil, nil, 28, nil, nil,
720
- nil, nil, nil, 47, nil, 45, nil, 23, 21, nil,
721
- 21, 21, nil, nil, 22, nil, 21, nil, nil, 28,
722
- 45, nil, nil, nil, 21, 47, nil, nil, nil, nil,
723
- nil, 28, nil, nil, nil, nil, nil, 47, nil, nil,
724
- nil, nil, 45, nil, nil, 21, nil, nil, nil, nil,
725
- nil, nil, nil, nil, 45, nil, nil, nil, nil, 21,
713
+ 34, 2, 34, 32, 62, 4, 50, 25, 48, 52,
714
+ 33, 69, 45, 1, 72, 17, 29, 39, 39, 58,
715
+ 33, 40, 54, 44, 44, 3, 53, 38, 55, 56,
716
+ 57, 35, 47, 34, 47, 31, 61, 29, 30, 25,
717
+ 63, 64, 65, 25, 33, 66, 47, 67, 60, 32,
718
+ 68, 17, 62, 20, 70, 71, 27, 60, 5, 73,
719
+ nil, nil, nil, 27, 3, nil, nil, nil, nil, 24,
720
+ 47, nil, nil, 3, nil, nil, 58, nil, nil, 39,
721
+ nil, nil, nil, nil, 49, nil, 49, nil, 27, nil,
722
+ nil, nil, 27, 47, nil, nil, 60, nil, 49, nil,
723
+ nil, 24, nil, nil, nil, 24, nil, 47, nil, nil,
724
+ nil, 29, 69, 69, 60, 72, 54, nil, 3, nil,
725
+ nil, 23, 49, nil, nil, 62, 33, nil, 25, 33,
726
+ 25, 25, 50, 32, 48, 52, 50, 25, 45, 17,
727
+ nil, nil, nil, nil, nil, 49, nil, 34, 2, nil,
728
+ nil, nil, nil, 23, 60, 25, 25, 23, nil, 49,
729
+ 34, 2, nil, nil, nil, 25, nil, nil, nil, 60,
730
+ nil, 34, 2, 4, nil, nil, 25, 27, nil, 27,
731
+ 27, nil, nil, 21, 47, 47, 27, 27, 4, nil,
732
+ 24, nil, 24, 24, 25, nil, nil, 22, nil, 24,
733
+ 4, 34, nil, nil, 27, 27, 21, 21, nil, nil,
734
+ 47, nil, 34, 2, 27, 21, 34, 24, 24, 21,
735
+ 22, 22, nil, nil, nil, 27, 4, 24, 34, 22,
736
+ nil, nil, nil, 22, 25, nil, 49, 49, 24, nil,
737
+ nil, nil, 23, 27, 23, 23, nil, 4, 4, 25,
738
+ 47, 23, nil, 26, 34, nil, 24, nil, nil, nil,
739
+ 47, nil, 49, nil, 47, 34, 2, nil, 21, 23,
740
+ 23, nil, nil, 34, 2, 34, 34, nil, nil, 23,
741
+ nil, nil, 22, 27, nil, 26, nil, nil, nil, 26,
742
+ 23, nil, nil, nil, nil, nil, 24, nil, 27, nil,
743
+ nil, nil, 49, nil, 21, nil, 21, 21, 23, nil,
744
+ nil, 24, 49, 21, nil, nil, 49, nil, 22, nil,
745
+ 22, 22, 28, nil, 28, nil, 28, 22, nil, 21,
746
+ nil, 21, 21, nil, nil, nil, nil, nil, 28, nil,
747
+ nil, 21, nil, 22, nil, 22, 22, nil, 23, nil,
748
+ nil, nil, 21, nil, nil, 22, nil, nil, 28, nil,
749
+ nil, nil, 28, 23, nil, nil, 22, nil, nil, nil,
750
+ 21, nil, nil, nil, nil, nil, 26, 26, nil, nil,
751
+ nil, nil, nil, nil, 22, 28, nil, nil, nil, nil,
752
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 28,
753
+ nil, 26, 26, nil, nil, nil, nil, nil, nil, nil,
754
+ 21, 26, nil, nil, nil, nil, nil, nil, nil, nil,
755
+ nil, nil, nil, nil, 22, 21, nil, nil, nil, nil,
756
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 22,
757
+ nil, nil, nil, nil, nil, nil, 28, 28, nil, nil,
726
758
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
727
- 21, nil, nil, 28, 28, nil, nil, nil, nil, nil,
728
- nil, nil, nil, nil, 21, nil, nil, nil, 21, 21,
729
759
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
730
- nil, nil, 28, nil, nil, nil, nil, nil, 47, nil,
731
- nil, 21, nil, nil, nil, nil, nil, nil, nil, nil,
732
- nil, nil, nil, nil, nil, 45, nil, nil, nil, 28,
733
- nil, nil, nil, 21, nil, 47, nil, nil, nil, nil,
760
+ nil, nil, nil, nil, nil, nil, 28, 28, nil, nil,
734
761
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
735
- nil, nil, 45, nil, nil, nil, nil, nil, nil, nil,
736
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 28,
737
- nil, nil, nil, nil, nil, 47, nil, 28, 28, nil,
738
- nil, nil, nil, 47, 47, nil, nil, nil, nil, nil,
739
- nil, nil, 45, nil, nil, nil, nil, nil, nil, nil,
740
- 45, 45 ]
762
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
763
+ nil, nil, 28, nil, nil, nil, nil, nil, nil, nil,
764
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
765
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
766
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
767
+ nil, nil, 28, nil, nil, nil, nil, nil, nil, nil,
768
+ nil, nil, 28, nil, nil, nil, 28 ]
741
769
 
742
770
  racc_goto_pointer = [
743
- nil, 20, 0, 56, -28, 41, nil, nil, nil, nil,
744
- nil, nil, nil, nil, nil, nil, nil, 2, nil, nil,
745
- -67, 166, 47, 40, 16, 0, -5, -10, 230, 12,
746
- 1, -69, -33, -82, nil, nil, 9, -68, -171, nil,
747
- nil, nil, -179, -38, nil, 253, -28, 236, -129, -43,
748
- -114, 12, -189, -97, -111, nil, -115, -85, -120, -130,
749
- 24, -41, 15, 41, 15, -3, -76, -73, -129, -31 ]
771
+ nil, 13, 1, 25, -28, 56, nil, nil, nil, nil,
772
+ nil, nil, nil, nil, nil, nil, nil, -3, nil, nil,
773
+ -88, 165, 179, 103, 51, -11, 235, 38, 304, 10,
774
+ -12, -93, -47, -111, 0, -18, nil, nil, 20, -24,
775
+ -143, nil, nil, nil, -143, -38, nil, 12, -42, 64,
776
+ -43, nil, -40, -55, -124, 8, -214, -118, -129, nil,
777
+ -91, -103, -135, -147, 16, -51, 6, 34, 2, -2,
778
+ -96, -95, -136, -42 ]
750
779
 
751
780
  racc_goto_default = [
752
- nil, nil, nil, 146, 3, 7, 9, 12, 13, 15,
753
- 17, 20, 23, 28, 30, 2, 6, nil, 51, 54,
754
- 56, 72, 73, 75, 77, 79, 67, 68, 8, 11,
755
- nil, nil, nil, nil, 22, 26, nil, nil, 140, 198,
756
- 141, 142, nil, nil, 114, 62, 76, nil, 98, nil,
757
- nil, nil, nil, nil, nil, 186, 63, nil, nil, nil,
758
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil ]
781
+ nil, nil, nil, 104, 9, 12, 15, 17, 19, 21,
782
+ 24, 26, 30, 32, 3, 8, 11, nil, 65, 67,
783
+ 69, 85, 87, 88, 89, 78, 80, 83, 14, 16,
784
+ nil, nil, nil, nil, 74, nil, 2, 7, nil, nil,
785
+ 106, 164, 108, 110, nil, nil, 136, 52, 79, nil,
786
+ 126, 118, nil, nil, nil, nil, nil, nil, nil, 203,
787
+ 57, nil, nil, nil, nil, nil, nil, nil, nil, nil,
788
+ nil, nil, nil, nil ]
759
789
 
760
790
  racc_token_table = {
761
791
  false => 0,
@@ -808,11 +838,12 @@ racc_token_table = {
808
838
  :NOT => 47,
809
839
  :OR => 48,
810
840
  :AND => 49,
811
- :UNDEF => 50 }
841
+ :UNDEF => 50,
842
+ :PARROW => 51 }
812
843
 
813
844
  racc_use_result_var = true
814
845
 
815
- racc_nt_base = 51
846
+ racc_nt_base = 52
816
847
 
817
848
  Racc_arg = [
818
849
  racc_action_table,
@@ -882,6 +913,7 @@ Racc_token_to_s_table = [
882
913
  'OR',
883
914
  'AND',
884
915
  'UNDEF',
916
+ 'PARROW',
885
917
  '$start',
886
918
  'program',
887
919
  'statements',
@@ -916,6 +948,8 @@ Racc_token_to_s_table = [
916
948
  'endsemi',
917
949
  'params',
918
950
  'endcomma',
951
+ 'classref',
952
+ 'anyparams',
919
953
  'at',
920
954
  'collectname',
921
955
  'collectrhand',
@@ -931,6 +965,8 @@ Racc_token_to_s_table = [
931
965
  'array',
932
966
  'rvalue',
933
967
  'param',
968
+ 'addparam',
969
+ 'anyparam',
934
970
  'rvalues',
935
971
  'comma',
936
972
  'iftest',
@@ -1397,30 +1433,56 @@ module_eval <<'.,.,', 'grammar.ra', 311
1397
1433
  end
1398
1434
  .,.,
1399
1435
 
1400
- # reduce 76 omitted
1401
-
1402
- module_eval <<'.,.,', 'grammar.ra', 320
1403
- def _reduce_77( val, _values, result )
1404
- if val[0].instance_of?(AST::ASTArray)
1405
- result = val[0].push(val[2])
1406
- else
1407
- result = ast AST::ASTArray, :children => [val[0],val[2]]
1408
- end
1436
+ module_eval <<'.,.,', 'grammar.ra', 316
1437
+ def _reduce_76( val, _values, result )
1438
+ result = ast AST::ResourceParam, :param => val[0], :value => val[2],
1439
+ :add => true
1409
1440
  result
1410
1441
  end
1411
1442
  .,.,
1412
1443
 
1444
+ # reduce 77 omitted
1445
+
1413
1446
  # reduce 78 omitted
1414
1447
 
1415
- # reduce 79 omitted
1448
+ module_eval <<'.,.,', 'grammar.ra', 324
1449
+ def _reduce_79( val, _values, result )
1450
+ result = ast AST::ASTArray
1451
+ result
1452
+ end
1453
+ .,.,
1416
1454
 
1417
- # reduce 80 omitted
1455
+ module_eval <<'.,.,', 'grammar.ra', 324
1456
+ def _reduce_80( val, _values, result )
1457
+ result = val[0]
1458
+ result
1459
+ end
1460
+ .,.,
1418
1461
 
1419
- # reduce 81 omitted
1462
+ module_eval <<'.,.,', 'grammar.ra', 333
1463
+ def _reduce_81( val, _values, result )
1464
+ if val[0].instance_of?(AST::ASTArray)
1465
+ val[0].push(val[2])
1466
+ result = val[0]
1467
+ else
1468
+ result = ast AST::ASTArray, :children => [val[0],val[2]]
1469
+ end
1470
+ result
1471
+ end
1472
+ .,.,
1420
1473
 
1421
1474
  # reduce 82 omitted
1422
1475
 
1423
- # reduce 83 omitted
1476
+ module_eval <<'.,.,', 'grammar.ra', 342
1477
+ def _reduce_83( val, _values, result )
1478
+ if val[0].instance_of?(AST::ASTArray)
1479
+ result = val[0].push(val[2])
1480
+ else
1481
+ result = ast AST::ASTArray, :children => [val[0],val[2]]
1482
+ end
1483
+ result
1484
+ end
1485
+ .,.,
1424
1486
 
1425
1487
  # reduce 84 omitted
1426
1488
 
@@ -1442,8 +1504,20 @@ module_eval <<'.,.,', 'grammar.ra', 320
1442
1504
 
1443
1505
  # reduce 93 omitted
1444
1506
 
1445
- module_eval <<'.,.,', 'grammar.ra', 347
1446
- def _reduce_94( val, _values, result )
1507
+ # reduce 94 omitted
1508
+
1509
+ # reduce 95 omitted
1510
+
1511
+ # reduce 96 omitted
1512
+
1513
+ # reduce 97 omitted
1514
+
1515
+ # reduce 98 omitted
1516
+
1517
+ # reduce 99 omitted
1518
+
1519
+ module_eval <<'.,.,', 'grammar.ra', 369
1520
+ def _reduce_100( val, _values, result )
1447
1521
  args = aryfy(val[2])
1448
1522
  result = ast AST::Function,
1449
1523
  :name => val[0],
@@ -1453,8 +1527,8 @@ module_eval <<'.,.,', 'grammar.ra', 347
1453
1527
  end
1454
1528
  .,.,
1455
1529
 
1456
- module_eval <<'.,.,', 'grammar.ra', 352
1457
- def _reduce_95( val, _values, result )
1530
+ module_eval <<'.,.,', 'grammar.ra', 374
1531
+ def _reduce_101( val, _values, result )
1458
1532
  result = ast AST::Function,
1459
1533
  :name => val[0],
1460
1534
  :arguments => AST::ASTArray.new({}),
@@ -1463,44 +1537,44 @@ module_eval <<'.,.,', 'grammar.ra', 352
1463
1537
  end
1464
1538
  .,.,
1465
1539
 
1466
- module_eval <<'.,.,', 'grammar.ra', 356
1467
- def _reduce_96( val, _values, result )
1540
+ module_eval <<'.,.,', 'grammar.ra', 378
1541
+ def _reduce_102( val, _values, result )
1468
1542
  result = ast AST::String, :value => val[0]
1469
1543
  result
1470
1544
  end
1471
1545
  .,.,
1472
1546
 
1473
- module_eval <<'.,.,', 'grammar.ra', 358
1474
- def _reduce_97( val, _values, result )
1547
+ module_eval <<'.,.,', 'grammar.ra', 380
1548
+ def _reduce_103( val, _values, result )
1475
1549
  result = ast AST::FlatString, :value => val[0]
1476
1550
  result
1477
1551
  end
1478
1552
  .,.,
1479
1553
 
1480
- module_eval <<'.,.,', 'grammar.ra', 362
1481
- def _reduce_98( val, _values, result )
1554
+ module_eval <<'.,.,', 'grammar.ra', 384
1555
+ def _reduce_104( val, _values, result )
1482
1556
  result = ast AST::Boolean, :value => val[0]
1483
1557
  result
1484
1558
  end
1485
1559
  .,.,
1486
1560
 
1487
- module_eval <<'.,.,', 'grammar.ra', 367
1488
- def _reduce_99( val, _values, result )
1561
+ module_eval <<'.,.,', 'grammar.ra', 389
1562
+ def _reduce_105( val, _values, result )
1489
1563
  Puppet.warning addcontext("Deprecation notice: Resource references should now be capitalized")
1490
1564
  result = ast AST::ResourceRef, :type => val[0], :title => val[2]
1491
1565
  result
1492
1566
  end
1493
1567
  .,.,
1494
1568
 
1495
- module_eval <<'.,.,', 'grammar.ra', 369
1496
- def _reduce_100( val, _values, result )
1569
+ module_eval <<'.,.,', 'grammar.ra', 391
1570
+ def _reduce_106( val, _values, result )
1497
1571
  result = ast AST::ResourceRef, :type => val[0], :title => val[2]
1498
1572
  result
1499
1573
  end
1500
1574
  .,.,
1501
1575
 
1502
- module_eval <<'.,.,', 'grammar.ra', 382
1503
- def _reduce_101( val, _values, result )
1576
+ module_eval <<'.,.,', 'grammar.ra', 404
1577
+ def _reduce_107( val, _values, result )
1504
1578
  args = {
1505
1579
  :test => val[1],
1506
1580
  :statements => val[3]
@@ -1515,19 +1589,19 @@ module_eval <<'.,.,', 'grammar.ra', 382
1515
1589
  end
1516
1590
  .,.,
1517
1591
 
1518
- # reduce 102 omitted
1592
+ # reduce 108 omitted
1519
1593
 
1520
- module_eval <<'.,.,', 'grammar.ra', 387
1521
- def _reduce_103( val, _values, result )
1594
+ module_eval <<'.,.,', 'grammar.ra', 409
1595
+ def _reduce_109( val, _values, result )
1522
1596
  result = ast AST::Else, :statements => val[2]
1523
1597
  result
1524
1598
  end
1525
1599
  .,.,
1526
1600
 
1527
- # reduce 104 omitted
1601
+ # reduce 110 omitted
1528
1602
 
1529
- module_eval <<'.,.,', 'grammar.ra', 399
1530
- def _reduce_105( val, _values, result )
1603
+ module_eval <<'.,.,', 'grammar.ra', 421
1604
+ def _reduce_111( val, _values, result )
1531
1605
  options = val[3]
1532
1606
  unless options.instance_of?(AST::ASTArray)
1533
1607
  options = ast AST::ASTArray, :children => [val[3]]
@@ -1537,10 +1611,10 @@ module_eval <<'.,.,', 'grammar.ra', 399
1537
1611
  end
1538
1612
  .,.,
1539
1613
 
1540
- # reduce 106 omitted
1614
+ # reduce 112 omitted
1541
1615
 
1542
- module_eval <<'.,.,', 'grammar.ra', 409
1543
- def _reduce_107( val, _values, result )
1616
+ module_eval <<'.,.,', 'grammar.ra', 431
1617
+ def _reduce_113( val, _values, result )
1544
1618
  if val[0].instance_of?(AST::ASTArray)
1545
1619
  val[0].push val[1]
1546
1620
  result = val[0]
@@ -1551,15 +1625,15 @@ module_eval <<'.,.,', 'grammar.ra', 409
1551
1625
  end
1552
1626
  .,.,
1553
1627
 
1554
- module_eval <<'.,.,', 'grammar.ra', 413
1555
- def _reduce_108( val, _values, result )
1628
+ module_eval <<'.,.,', 'grammar.ra', 435
1629
+ def _reduce_114( val, _values, result )
1556
1630
  result = ast AST::CaseOpt, :value => val[0], :statements => val[3]
1557
1631
  result
1558
1632
  end
1559
1633
  .,.,
1560
1634
 
1561
- module_eval <<'.,.,', 'grammar.ra', 418
1562
- def _reduce_109( val, _values, result )
1635
+ module_eval <<'.,.,', 'grammar.ra', 440
1636
+ def _reduce_115( val, _values, result )
1563
1637
  result = ast(AST::CaseOpt,
1564
1638
  :value => val[0],
1565
1639
  :statements => ast(AST::ASTArray)
@@ -1568,10 +1642,10 @@ module_eval <<'.,.,', 'grammar.ra', 418
1568
1642
  end
1569
1643
  .,.,
1570
1644
 
1571
- # reduce 110 omitted
1645
+ # reduce 116 omitted
1572
1646
 
1573
- module_eval <<'.,.,', 'grammar.ra', 428
1574
- def _reduce_111( val, _values, result )
1647
+ module_eval <<'.,.,', 'grammar.ra', 450
1648
+ def _reduce_117( val, _values, result )
1575
1649
  if val[0].instance_of?(AST::ASTArray)
1576
1650
  val[0].push(val[2])
1577
1651
  result = val[0]
@@ -1582,26 +1656,26 @@ module_eval <<'.,.,', 'grammar.ra', 428
1582
1656
  end
1583
1657
  .,.,
1584
1658
 
1585
- module_eval <<'.,.,', 'grammar.ra', 432
1586
- def _reduce_112( val, _values, result )
1659
+ module_eval <<'.,.,', 'grammar.ra', 454
1660
+ def _reduce_118( val, _values, result )
1587
1661
  result = ast AST::Selector, :param => val[0], :values => val[2]
1588
1662
  result
1589
1663
  end
1590
1664
  .,.,
1591
1665
 
1592
- # reduce 113 omitted
1666
+ # reduce 119 omitted
1593
1667
 
1594
- module_eval <<'.,.,', 'grammar.ra', 434
1595
- def _reduce_114( val, _values, result )
1668
+ module_eval <<'.,.,', 'grammar.ra', 456
1669
+ def _reduce_120( val, _values, result )
1596
1670
  result = val[1]
1597
1671
  result
1598
1672
  end
1599
1673
  .,.,
1600
1674
 
1601
- # reduce 115 omitted
1675
+ # reduce 121 omitted
1602
1676
 
1603
- module_eval <<'.,.,', 'grammar.ra', 445
1604
- def _reduce_116( val, _values, result )
1677
+ module_eval <<'.,.,', 'grammar.ra', 467
1678
+ def _reduce_122( val, _values, result )
1605
1679
  if val[0].instance_of?(AST::ASTArray)
1606
1680
  val[0].push(val[2])
1607
1681
  result = val[0]
@@ -1612,50 +1686,50 @@ module_eval <<'.,.,', 'grammar.ra', 445
1612
1686
  end
1613
1687
  .,.,
1614
1688
 
1615
- module_eval <<'.,.,', 'grammar.ra', 449
1616
- def _reduce_117( val, _values, result )
1689
+ module_eval <<'.,.,', 'grammar.ra', 471
1690
+ def _reduce_123( val, _values, result )
1617
1691
  result = ast AST::ResourceParam, :param => val[0], :value => val[2]
1618
1692
  result
1619
1693
  end
1620
1694
  .,.,
1621
1695
 
1622
- # reduce 118 omitted
1696
+ # reduce 124 omitted
1623
1697
 
1624
- # reduce 119 omitted
1698
+ # reduce 125 omitted
1625
1699
 
1626
- # reduce 120 omitted
1700
+ # reduce 126 omitted
1627
1701
 
1628
- # reduce 121 omitted
1702
+ # reduce 127 omitted
1629
1703
 
1630
- # reduce 122 omitted
1704
+ # reduce 128 omitted
1631
1705
 
1632
- # reduce 123 omitted
1706
+ # reduce 129 omitted
1633
1707
 
1634
- # reduce 124 omitted
1708
+ # reduce 130 omitted
1635
1709
 
1636
- module_eval <<'.,.,', 'grammar.ra', 460
1637
- def _reduce_125( val, _values, result )
1710
+ module_eval <<'.,.,', 'grammar.ra', 482
1711
+ def _reduce_131( val, _values, result )
1638
1712
  result = ast AST::Default, :value => val[0]
1639
1713
  result
1640
1714
  end
1641
1715
  .,.,
1642
1716
 
1643
- module_eval <<'.,.,', 'grammar.ra', 462
1644
- def _reduce_126( val, _values, result )
1717
+ module_eval <<'.,.,', 'grammar.ra', 484
1718
+ def _reduce_132( val, _values, result )
1645
1719
  result = [val[0].value]
1646
1720
  result
1647
1721
  end
1648
1722
  .,.,
1649
1723
 
1650
- module_eval <<'.,.,', 'grammar.ra', 466
1651
- def _reduce_127( val, _values, result )
1724
+ module_eval <<'.,.,', 'grammar.ra', 488
1725
+ def _reduce_133( val, _values, result )
1652
1726
  results = val[0] << val[2].value
1653
1727
  result
1654
1728
  end
1655
1729
  .,.,
1656
1730
 
1657
- module_eval <<'.,.,', 'grammar.ra', 474
1658
- def _reduce_128( val, _values, result )
1731
+ module_eval <<'.,.,', 'grammar.ra', 496
1732
+ def _reduce_134( val, _values, result )
1659
1733
  val[1].each do |file|
1660
1734
  import(file)
1661
1735
  end
@@ -1665,8 +1739,8 @@ module_eval <<'.,.,', 'grammar.ra', 474
1665
1739
  end
1666
1740
  .,.,
1667
1741
 
1668
- module_eval <<'.,.,', 'grammar.ra', 484
1669
- def _reduce_129( val, _values, result )
1742
+ module_eval <<'.,.,', 'grammar.ra', 506
1743
+ def _reduce_135( val, _values, result )
1670
1744
  interp.newdefine classname(val[1]), :arguments => val[2], :code => val[4]
1671
1745
  @lexer.indefine = false
1672
1746
  result = nil
@@ -1676,8 +1750,8 @@ module_eval <<'.,.,', 'grammar.ra', 484
1676
1750
  end
1677
1751
  .,.,
1678
1752
 
1679
- module_eval <<'.,.,', 'grammar.ra', 488
1680
- def _reduce_130( val, _values, result )
1753
+ module_eval <<'.,.,', 'grammar.ra', 510
1754
+ def _reduce_136( val, _values, result )
1681
1755
  interp.newdefine classname(val[1]), :arguments => val[2]
1682
1756
  @lexer.indefine = false
1683
1757
  result = nil
@@ -1685,8 +1759,8 @@ module_eval <<'.,.,', 'grammar.ra', 488
1685
1759
  end
1686
1760
  .,.,
1687
1761
 
1688
- module_eval <<'.,.,', 'grammar.ra', 496
1689
- def _reduce_131( val, _values, result )
1762
+ module_eval <<'.,.,', 'grammar.ra', 518
1763
+ def _reduce_137( val, _values, result )
1690
1764
  # Our class gets defined in the parent namespace, not our own.
1691
1765
  @lexer.namepop
1692
1766
  interp.newclass classname(val[1]), :code => val[4], :parent => val[2]
@@ -1695,8 +1769,8 @@ module_eval <<'.,.,', 'grammar.ra', 496
1695
1769
  end
1696
1770
  .,.,
1697
1771
 
1698
- module_eval <<'.,.,', 'grammar.ra', 501
1699
- def _reduce_132( val, _values, result )
1772
+ module_eval <<'.,.,', 'grammar.ra', 523
1773
+ def _reduce_138( val, _values, result )
1700
1774
  # Our class gets defined in the parent namespace, not our own.
1701
1775
  @lexer.namepop
1702
1776
  interp.newclass classname(val[1]), :parent => val[2]
@@ -1705,30 +1779,34 @@ module_eval <<'.,.,', 'grammar.ra', 501
1705
1779
  end
1706
1780
  .,.,
1707
1781
 
1708
- module_eval <<'.,.,', 'grammar.ra', 506
1709
- def _reduce_133( val, _values, result )
1782
+ module_eval <<'.,.,', 'grammar.ra', 528
1783
+ def _reduce_139( val, _values, result )
1710
1784
  interp.newnode val[1], :parent => val[2], :code => val[4]
1711
1785
  result = nil
1712
1786
  result
1713
1787
  end
1714
1788
  .,.,
1715
1789
 
1716
- module_eval <<'.,.,', 'grammar.ra', 509
1717
- def _reduce_134( val, _values, result )
1790
+ module_eval <<'.,.,', 'grammar.ra', 531
1791
+ def _reduce_140( val, _values, result )
1718
1792
  interp.newnode val[1], :parent => val[2]
1719
1793
  result = nil
1720
1794
  result
1721
1795
  end
1722
1796
  .,.,
1723
1797
 
1724
- # reduce 135 omitted
1798
+ # reduce 141 omitted
1725
1799
 
1726
- # reduce 136 omitted
1800
+ # reduce 142 omitted
1727
1801
 
1728
- # reduce 137 omitted
1802
+ # reduce 143 omitted
1729
1803
 
1730
- module_eval <<'.,.,', 'grammar.ra', 521
1731
- def _reduce_138( val, _values, result )
1804
+ # reduce 144 omitted
1805
+
1806
+ # reduce 145 omitted
1807
+
1808
+ module_eval <<'.,.,', 'grammar.ra', 546
1809
+ def _reduce_146( val, _values, result )
1732
1810
  result = val[0]
1733
1811
  result = [result] unless result.is_a?(Array)
1734
1812
  result << val[2]
@@ -1736,47 +1814,49 @@ module_eval <<'.,.,', 'grammar.ra', 521
1736
1814
  end
1737
1815
  .,.,
1738
1816
 
1739
- # reduce 139 omitted
1817
+ # reduce 147 omitted
1740
1818
 
1741
- # reduce 140 omitted
1819
+ # reduce 148 omitted
1742
1820
 
1743
- # reduce 141 omitted
1821
+ # reduce 149 omitted
1822
+
1823
+ # reduce 150 omitted
1744
1824
 
1745
- module_eval <<'.,.,', 'grammar.ra', 529
1746
- def _reduce_142( val, _values, result )
1825
+ module_eval <<'.,.,', 'grammar.ra', 555
1826
+ def _reduce_151( val, _values, result )
1747
1827
  result = nil
1748
1828
  result
1749
1829
  end
1750
1830
  .,.,
1751
1831
 
1752
- module_eval <<'.,.,', 'grammar.ra', 533
1753
- def _reduce_143( val, _values, result )
1832
+ module_eval <<'.,.,', 'grammar.ra', 559
1833
+ def _reduce_152( val, _values, result )
1754
1834
  result = ast AST::ASTArray, :children => []
1755
1835
  result
1756
1836
  end
1757
1837
  .,.,
1758
1838
 
1759
- # reduce 144 omitted
1839
+ # reduce 153 omitted
1760
1840
 
1761
- module_eval <<'.,.,', 'grammar.ra', 538
1762
- def _reduce_145( val, _values, result )
1841
+ module_eval <<'.,.,', 'grammar.ra', 564
1842
+ def _reduce_154( val, _values, result )
1763
1843
  result = nil
1764
1844
  result
1765
1845
  end
1766
1846
  .,.,
1767
1847
 
1768
- module_eval <<'.,.,', 'grammar.ra', 542
1769
- def _reduce_146( val, _values, result )
1848
+ module_eval <<'.,.,', 'grammar.ra', 568
1849
+ def _reduce_155( val, _values, result )
1770
1850
  result = val[1]
1771
1851
  result = [result] unless result[0].is_a?(Array)
1772
1852
  result
1773
1853
  end
1774
1854
  .,.,
1775
1855
 
1776
- # reduce 147 omitted
1856
+ # reduce 156 omitted
1777
1857
 
1778
- module_eval <<'.,.,', 'grammar.ra', 549
1779
- def _reduce_148( val, _values, result )
1858
+ module_eval <<'.,.,', 'grammar.ra', 575
1859
+ def _reduce_157( val, _values, result )
1780
1860
  result = val[0]
1781
1861
  result = [result] unless result[0].is_a?(Array)
1782
1862
  result << val[2]
@@ -1784,67 +1864,67 @@ module_eval <<'.,.,', 'grammar.ra', 549
1784
1864
  end
1785
1865
  .,.,
1786
1866
 
1787
- module_eval <<'.,.,', 'grammar.ra', 554
1788
- def _reduce_149( val, _values, result )
1867
+ module_eval <<'.,.,', 'grammar.ra', 580
1868
+ def _reduce_158( val, _values, result )
1789
1869
  Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
1790
1870
  result = [val[0], val[2]]
1791
1871
  result
1792
1872
  end
1793
1873
  .,.,
1794
1874
 
1795
- module_eval <<'.,.,', 'grammar.ra', 558
1796
- def _reduce_150( val, _values, result )
1875
+ module_eval <<'.,.,', 'grammar.ra', 584
1876
+ def _reduce_159( val, _values, result )
1797
1877
  Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
1798
1878
  result = [val[0]]
1799
1879
  result
1800
1880
  end
1801
1881
  .,.,
1802
1882
 
1803
- module_eval <<'.,.,', 'grammar.ra', 560
1804
- def _reduce_151( val, _values, result )
1883
+ module_eval <<'.,.,', 'grammar.ra', 586
1884
+ def _reduce_160( val, _values, result )
1805
1885
  result = [val[0], val[2]]
1806
1886
  result
1807
1887
  end
1808
1888
  .,.,
1809
1889
 
1810
- module_eval <<'.,.,', 'grammar.ra', 562
1811
- def _reduce_152( val, _values, result )
1890
+ module_eval <<'.,.,', 'grammar.ra', 588
1891
+ def _reduce_161( val, _values, result )
1812
1892
  result = [val[0]]
1813
1893
  result
1814
1894
  end
1815
1895
  .,.,
1816
1896
 
1817
- # reduce 153 omitted
1897
+ # reduce 162 omitted
1818
1898
 
1819
- module_eval <<'.,.,', 'grammar.ra', 567
1820
- def _reduce_154( val, _values, result )
1899
+ module_eval <<'.,.,', 'grammar.ra', 593
1900
+ def _reduce_163( val, _values, result )
1821
1901
  result = val[1]
1822
1902
  result
1823
1903
  end
1824
1904
  .,.,
1825
1905
 
1826
- # reduce 155 omitted
1906
+ # reduce 164 omitted
1827
1907
 
1828
- module_eval <<'.,.,', 'grammar.ra', 572
1829
- def _reduce_156( val, _values, result )
1908
+ module_eval <<'.,.,', 'grammar.ra', 598
1909
+ def _reduce_165( val, _values, result )
1830
1910
  result = val[1]
1831
1911
  result
1832
1912
  end
1833
1913
  .,.,
1834
1914
 
1835
- # reduce 157 omitted
1915
+ # reduce 166 omitted
1836
1916
 
1837
- # reduce 158 omitted
1917
+ # reduce 167 omitted
1838
1918
 
1839
- module_eval <<'.,.,', 'grammar.ra', 578
1840
- def _reduce_159( val, _values, result )
1919
+ module_eval <<'.,.,', 'grammar.ra', 604
1920
+ def _reduce_168( val, _values, result )
1841
1921
  result = ast AST::Variable, :value => val[0]
1842
1922
  result
1843
1923
  end
1844
1924
  .,.,
1845
1925
 
1846
- module_eval <<'.,.,', 'grammar.ra', 586
1847
- def _reduce_160( val, _values, result )
1926
+ module_eval <<'.,.,', 'grammar.ra', 612
1927
+ def _reduce_169( val, _values, result )
1848
1928
  if val[1].instance_of?(AST::ASTArray)
1849
1929
  result = val[1]
1850
1930
  else
@@ -1854,21 +1934,21 @@ module_eval <<'.,.,', 'grammar.ra', 586
1854
1934
  end
1855
1935
  .,.,
1856
1936
 
1857
- module_eval <<'.,.,', 'grammar.ra', 588
1858
- def _reduce_161( val, _values, result )
1937
+ module_eval <<'.,.,', 'grammar.ra', 614
1938
+ def _reduce_170( val, _values, result )
1859
1939
  result = ast AST::ASTArray
1860
1940
  result
1861
1941
  end
1862
1942
  .,.,
1863
1943
 
1864
- # reduce 162 omitted
1944
+ # reduce 171 omitted
1865
1945
 
1866
- # reduce 163 omitted
1946
+ # reduce 172 omitted
1867
1947
 
1868
- # reduce 164 omitted
1948
+ # reduce 173 omitted
1869
1949
 
1870
- module_eval <<'.,.,', 'grammar.ra', 593
1871
- def _reduce_165( val, _values, result )
1950
+ module_eval <<'.,.,', 'grammar.ra', 619
1951
+ def _reduce_174( val, _values, result )
1872
1952
  result = nil
1873
1953
  result
1874
1954
  end