diff options
| author | Brice Figureau <brice-puppet@daysofwonder.com> | 2008-10-11 17:26:50 +0200 |
|---|---|---|
| committer | James Turnbull <james@lovedthanlost.net> | 2009-03-14 11:31:28 +1100 |
| commit | b15028f55ba608a701efae1ee392d50374b2be54 (patch) | |
| tree | bf4c4053dcc797c1bef3b89cf634bdd3b2828d3f | |
| parent | b24b9f5de02f4dfc6a7e89d5432aec32ea39cae1 (diff) | |
| download | puppet-b15028f55ba608a701efae1ee392d50374b2be54.tar.gz puppet-b15028f55ba608a701efae1ee392d50374b2be54.tar.xz puppet-b15028f55ba608a701efae1ee392d50374b2be54.zip | |
Fix #1088 - Collections overrides
This changeset defines a new syntax to override collection
of resources (virtual or not). This feature is not constrained
to the override in inherited context as usual resource
override.
The collection of resource supports a query like regular collection
of virtual or exported resources.
Usage example:
file {
"/tmp/testing": content => "whatever"
}
File<| |> {
mode => 0600
}
It also introduces a different behaviour for collection of catalog
resources. Before this patch, only virtual resources were collected,
now all resources (virtual or no) are collected and can be overriden.
That means it is now possible to do:
File <| |> { mode => 0600 }
And all the Files resources will have mode 0600.
It is then possible to have this puppet pattern:
file { "/tmp/a": content => "a" }
file { "/tmp/b": content => "b" }
File <| title != "/tmp/a" |> {
require => File["/tmp/b"]
}
which means that every File requires a file.
Moreover it is now possible to define resource overriding
without respecting the override on inheritance rule:
class a {
file {
"/tmp/testing": content => "whatever"
}
}
class b {
include a
File<| |> {
mode => 0600
}
}
include b
Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
| -rw-r--r-- | lib/puppet/parser/ast/collection.rb | 31 | ||||
| -rw-r--r-- | lib/puppet/parser/collector.rb | 73 | ||||
| -rw-r--r-- | lib/puppet/parser/grammar.ra | 22 | ||||
| -rw-r--r-- | lib/puppet/parser/parser.rb | 1455 |
4 files changed, 860 insertions, 721 deletions
diff --git a/lib/puppet/parser/ast/collection.rb b/lib/puppet/parser/ast/collection.rb index a51b9b4d2..55e99fc08 100644 --- a/lib/puppet/parser/ast/collection.rb +++ b/lib/puppet/parser/ast/collection.rb @@ -7,6 +7,7 @@ require 'puppet/parser/collector' class Puppet::Parser::AST class Collection < AST::Branch attr_accessor :type, :query, :form + attr_reader :override associates_doc @@ -22,7 +23,37 @@ class Collection < AST::Branch scope.compiler.add_collection(newcoll) + # overrides if any + # Evaluate all of the specified params. + if @override + params = @override.collect do |param| + param.safeevaluate(scope) + end + + newcoll.add_override( + :params => params, + :file => @file, + :line => @line, + :source => scope.source, + :scope => scope + ) + end + newcoll end + + # Handle our parameter ourselves + def override=(override) + if override.is_a?(AST::ASTArray) + @override = override + else + @override = AST::ASTArray.new( + :line => override.line, + :file => override.file, + :children => [override] + ) + end + end + end end diff --git a/lib/puppet/parser/collector.rb b/lib/puppet/parser/collector.rb index 9423db26b..ece420536 100644 --- a/lib/puppet/parser/collector.rb +++ b/lib/puppet/parser/collector.rb @@ -1,10 +1,12 @@ # An object that collects stored objects from the central cache and returns # them to the current host, yo. class Puppet::Parser::Collector - attr_accessor :type, :scope, :vquery, :equery, :form, :resources + attr_accessor :type, :scope, :vquery, :equery, :form, :resources, :overrides, :collected # Call the collection method, mark all of the returned objects as non-virtual, - # and then delete this object from the list of collections to evaluate. + # optionally applying parameter overrides. The collector can also delete himself + # from the compiler if there is no more resources to collect (valid only for resource fixed-set collector + # which get their resources from +collect_resources+ and not from the catalog) def evaluate # Shortcut if we're not using storeconfigs and they're trying to collect # exported resources. @@ -12,10 +14,9 @@ class Puppet::Parser::Collector Puppet.warning "Not collecting exported resources without storeconfigs" return false end + if self.resources - if objects = collect_resources and ! objects.empty? - return objects - else + unless objects = collect_resources and ! objects.empty? return false end else @@ -25,15 +26,54 @@ class Puppet::Parser::Collector end if objects.empty? return false - else - return objects end end + + # we have an override for the collected resources + if @overrides and !objects.empty? + + # force the resource to be always child of any other resource + overrides[:source].meta_def(:child_of?) do + true + end + + # tell the compiler we have some override for him unless we already + # overrided those resources + objects.each do |res| + unless @collected.include?(res.ref) + res = Puppet::Parser::Resource.new( + :type => res.type, + :title => res.title, + :params => overrides[:params], + :file => overrides[:file], + :line => overrides[:line], + :source => overrides[:source], + :scope => overrides[:scope] + ) + + scope.compiler.add_override(res) + end + end + end + + # filter out object that already have been collected by ourself + objects.reject! { |o| @collected.include?(o.ref) } + + return false if objects.empty? + + # keep an eye on the resources we have collected + objects.inject(@collected) { |c,o| c[o.ref]=o; c } + + # return our newly collected resources + objects end def initialize(scope, type, equery, vquery, form) @scope = scope + # initialisation + @collected = {} + # Canonize the type @type = Puppet::Resource::Reference.new(type, "whatever").type @equery = equery @@ -43,6 +83,16 @@ class Puppet::Parser::Collector @form = form end + # add a resource override to the soon to be exported/realized resources + def add_override(hash) + unless hash[:params] + raise ArgumentError, "Exported resource try to override without parameters" + end + + # schedule an override for an upcoming collection + @overrides = hash + end + private # Create our active record query. @@ -132,13 +182,8 @@ class Puppet::Parser::Collector # Collect just virtual objects, from our local compiler. def collect_virtual(exported = false) - if exported - method = :exported? - else - method = :virtual? - end scope.compiler.resources.find_all do |resource| - resource.type == @type and resource.send(method) and match?(resource) + resource.type == @type and (exported ? resource.exported? : true) and match?(resource) end end @@ -155,7 +200,7 @@ class Puppet::Parser::Collector resource = obj.to_resource(self.scope) resource.exported = false - + scope.compiler.add_resource(scope, resource) return resource diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra index 67303ab46..9da2999df 100644 --- a/lib/puppet/parser/grammar.ra +++ b/lib/puppet/parser/grammar.ra @@ -195,7 +195,27 @@ at: AT { result = :virtual } # A collection statement. Currently supports no arguments at all, but eventually # will, I assume. -collection: classref collectrhand { +collection: classref collectrhand LBRACE anyparams endcomma RBRACE { + if val[0] =~ /^[a-z]/ + Puppet.warning addcontext("Collection names must now be capitalized") + end + type = val[0].downcase + args = {:type => type} + + if val[1].is_a?(AST::CollExpr) + args[:query] = val[1] + args[:query].type = type + args[:form] = args[:query].form + else + args[:form] = val[1] + end + if args[:form] == :exported and ! Puppet[:storeconfigs] and ! Puppet[:parseonly] + Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored") + end + args[:override] = val[3] + result = ast AST::Collection, args +} + | classref collectrhand { if val[0] =~ /^[a-z]/ Puppet.warning addcontext("Collection names must now be capitalized") end diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb index 60a849cb6..c0b5435b6 100644 --- a/lib/puppet/parser/parser.rb +++ b/lib/puppet/parser/parser.rb @@ -29,7 +29,7 @@ module Puppet class Parser < Racc::Parser -module_eval <<'..end grammar.ra modeval..id987bcfd032', 'grammar.ra', 759 +module_eval <<'..end grammar.ra modeval..idf6e9d74445', 'grammar.ra', 779 # It got too annoying having code in a file that needs to be compiled. require 'puppet/parser/parser_support' @@ -41,7 +41,7 @@ require 'puppet/parser/parser_support' # $Id$ -..end grammar.ra modeval..id987bcfd032 +..end grammar.ra modeval..idf6e9d74445 ##### racc 1.4.5 generates ### @@ -87,48 +87,49 @@ racc_reduce_table = [ 2, 65, :_reduce_38, 1, 94, :_reduce_39, 2, 94, :_reduce_40, - 2, 66, :_reduce_41, - 3, 95, :_reduce_42, + 6, 66, :_reduce_41, + 2, 66, :_reduce_42, 3, 95, :_reduce_43, + 3, 95, :_reduce_44, 1, 96, :_reduce_none, 1, 96, :_reduce_none, - 3, 96, :_reduce_46, + 3, 96, :_reduce_47, 1, 97, :_reduce_none, - 3, 97, :_reduce_48, + 3, 97, :_reduce_49, 1, 98, :_reduce_none, 1, 98, :_reduce_none, - 3, 99, :_reduce_51, 3, 99, :_reduce_52, + 3, 99, :_reduce_53, 1, 100, :_reduce_none, 1, 100, :_reduce_none, - 4, 102, :_reduce_55, + 4, 102, :_reduce_56, 1, 88, :_reduce_none, - 3, 88, :_reduce_57, + 3, 88, :_reduce_58, 0, 89, :_reduce_none, 1, 89, :_reduce_none, - 1, 104, :_reduce_60, - 1, 80, :_reduce_61, - 1, 82, :_reduce_62, + 1, 104, :_reduce_61, + 1, 80, :_reduce_62, + 1, 82, :_reduce_63, 1, 103, :_reduce_none, 1, 103, :_reduce_none, 1, 103, :_reduce_none, 1, 103, :_reduce_none, 1, 103, :_reduce_none, 1, 103, :_reduce_none, - 3, 67, :_reduce_69, - 3, 76, :_reduce_70, - 0, 90, :_reduce_71, - 1, 90, :_reduce_72, - 3, 90, :_reduce_73, - 3, 107, :_reduce_74, - 3, 109, :_reduce_75, + 3, 67, :_reduce_70, + 3, 76, :_reduce_71, + 0, 90, :_reduce_72, + 1, 90, :_reduce_73, + 3, 90, :_reduce_74, + 3, 107, :_reduce_75, + 3, 109, :_reduce_76, 1, 110, :_reduce_none, 1, 110, :_reduce_none, - 0, 93, :_reduce_78, - 1, 93, :_reduce_79, - 3, 93, :_reduce_80, + 0, 93, :_reduce_79, + 1, 93, :_reduce_80, + 3, 93, :_reduce_81, 1, 111, :_reduce_none, - 3, 111, :_reduce_82, + 3, 111, :_reduce_83, 1, 101, :_reduce_none, 1, 101, :_reduce_none, 1, 101, :_reduce_none, @@ -145,49 +146,49 @@ racc_reduce_table = [ 1, 108, :_reduce_none, 1, 108, :_reduce_none, 1, 108, :_reduce_none, - 4, 84, :_reduce_99, - 3, 84, :_reduce_100, - 1, 86, :_reduce_101, + 4, 84, :_reduce_100, + 3, 84, :_reduce_101, 1, 86, :_reduce_102, - 1, 83, :_reduce_103, - 4, 79, :_reduce_104, + 1, 86, :_reduce_103, + 1, 83, :_reduce_104, 4, 79, :_reduce_105, - 6, 69, :_reduce_106, - 5, 69, :_reduce_107, + 4, 79, :_reduce_106, + 6, 69, :_reduce_107, + 5, 69, :_reduce_108, 0, 113, :_reduce_none, - 4, 113, :_reduce_109, - 3, 113, :_reduce_110, + 4, 113, :_reduce_110, + 3, 113, :_reduce_111, 1, 106, :_reduce_none, - 3, 106, :_reduce_112, 3, 106, :_reduce_113, 3, 106, :_reduce_114, 3, 106, :_reduce_115, 3, 106, :_reduce_116, 3, 106, :_reduce_117, - 2, 106, :_reduce_118, - 3, 106, :_reduce_119, + 3, 106, :_reduce_118, + 2, 106, :_reduce_119, 3, 106, :_reduce_120, 3, 106, :_reduce_121, 3, 106, :_reduce_122, 3, 106, :_reduce_123, 3, 106, :_reduce_124, - 2, 106, :_reduce_125, - 3, 106, :_reduce_126, + 3, 106, :_reduce_125, + 2, 106, :_reduce_126, 3, 106, :_reduce_127, 3, 106, :_reduce_128, - 5, 68, :_reduce_129, + 3, 106, :_reduce_129, + 5, 68, :_reduce_130, 1, 114, :_reduce_none, - 2, 114, :_reduce_131, - 5, 115, :_reduce_132, - 4, 115, :_reduce_133, + 2, 114, :_reduce_132, + 5, 115, :_reduce_133, + 4, 115, :_reduce_134, 1, 116, :_reduce_none, - 3, 116, :_reduce_135, - 3, 85, :_reduce_136, + 3, 116, :_reduce_136, + 3, 85, :_reduce_137, 1, 118, :_reduce_none, - 4, 118, :_reduce_138, + 4, 118, :_reduce_139, 1, 120, :_reduce_none, - 3, 120, :_reduce_140, - 3, 119, :_reduce_141, + 3, 120, :_reduce_141, + 3, 119, :_reduce_142, 1, 117, :_reduce_none, 1, 117, :_reduce_none, 1, 117, :_reduce_none, @@ -195,94 +196,94 @@ racc_reduce_table = [ 1, 117, :_reduce_none, 1, 117, :_reduce_none, 1, 117, :_reduce_none, - 1, 117, :_reduce_149, - 1, 121, :_reduce_150, - 3, 121, :_reduce_151, - 2, 70, :_reduce_152, - 6, 72, :_reduce_153, - 5, 72, :_reduce_154, - 6, 73, :_reduce_155, - 5, 73, :_reduce_156, - 6, 74, :_reduce_157, - 5, 74, :_reduce_158, + 1, 117, :_reduce_150, + 1, 121, :_reduce_151, + 3, 121, :_reduce_152, + 2, 70, :_reduce_153, + 6, 72, :_reduce_154, + 5, 72, :_reduce_155, + 6, 73, :_reduce_156, + 5, 73, :_reduce_157, + 6, 74, :_reduce_158, + 5, 74, :_reduce_159, 1, 92, :_reduce_none, 1, 87, :_reduce_none, 1, 87, :_reduce_none, 1, 124, :_reduce_none, - 3, 124, :_reduce_163, + 3, 124, :_reduce_164, 1, 126, :_reduce_none, 1, 126, :_reduce_none, 1, 126, :_reduce_none, 1, 126, :_reduce_none, - 0, 62, :_reduce_168, - 0, 127, :_reduce_169, + 0, 62, :_reduce_169, + 0, 127, :_reduce_170, 1, 122, :_reduce_none, - 3, 122, :_reduce_171, 3, 122, :_reduce_172, + 3, 122, :_reduce_173, 1, 128, :_reduce_none, - 3, 128, :_reduce_174, - 3, 129, :_reduce_175, - 1, 129, :_reduce_176, - 3, 129, :_reduce_177, - 1, 129, :_reduce_178, + 3, 128, :_reduce_175, + 3, 129, :_reduce_176, + 1, 129, :_reduce_177, + 3, 129, :_reduce_178, + 1, 129, :_reduce_179, 1, 125, :_reduce_none, - 2, 125, :_reduce_180, + 2, 125, :_reduce_181, 1, 123, :_reduce_none, - 2, 123, :_reduce_182, + 2, 123, :_reduce_183, 1, 130, :_reduce_none, 1, 130, :_reduce_none, - 1, 81, :_reduce_185, - 3, 105, :_reduce_186, - 4, 105, :_reduce_187, - 2, 105, :_reduce_188, + 1, 81, :_reduce_186, + 3, 105, :_reduce_187, + 4, 105, :_reduce_188, + 2, 105, :_reduce_189, 1, 112, :_reduce_none, 1, 112, :_reduce_none, 0, 91, :_reduce_none, - 1, 91, :_reduce_192 ] + 1, 91, :_reduce_193 ] -racc_reduce_n = 193 +racc_reduce_n = 194 -racc_shift_n = 317 +racc_shift_n = 321 racc_action_table = [ - 75, 57, 61, 260, 179, 38, 40, 35, 44, 196, - 54, 287, 45, 239, 3, 6, 187, 298, 240, -145, - 74, 75, 57, 61, 286, 47, 38, 40, 194, 195, - 132, 49, 38, 40, 112, 60, 64, 194, 195, 70, - 41, 74, 149, 43, 55, 77, 178, 118, 66, 48, - 141, 87, 49, 75, 57, 61, 60, 64, 49, 109, - 70, 41, 253, 123, 43, 55, 77, 41, 105, 66, - 43, -146, 87, 74, 75, 57, 61, 202, 151, 152, - 153, 139, 140, 142, 49, 282, 128, 133, 60, 64, - 201, 239, 70, 281, 74, 149, 240, 55, 77, 271, - 118, 66, 179, 141, 87, 49, 75, 57, 61, 60, - 64, 49, 193, 70, 35, 132, 123, 174, 55, 77, - 192, 3, 66, 35, 258, 87, 74, 75, 57, 61, - 3, 151, 152, 153, 139, 140, 142, 49, 116, 35, - 155, 60, 64, 153, 139, 70, 3, 74, 149, -147, - 55, 77, -143, 118, 66, 156, 141, 87, 49, 75, - 57, 61, 60, 64, 49, 157, 70, 153, 139, 123, - 134, 55, 77, 57, 61, 66, 33, 34, 87, 74, - 75, 57, 61, 132, 151, 152, 153, 139, 140, 142, - 49, -145, 203, 274, 60, 64, 187, 188, 70, 275, - 74, 149, -142, 55, 77, -144, 118, 66, 45, 141, - 87, 49, 75, 57, 61, 60, 64, 49, 44, 70, - 57, 61, 123, -142, 55, 77, -159, 128, 66, 177, - 181, 87, 74, 75, 57, 61, -143, 151, 152, 153, - 139, 140, 142, 49, 116, 198, 278, 60, 64, 194, - 195, 70, 248, 74, 186, -145, 55, 77, 187, 188, - 66, 216, 183, 87, 49, 187, 217, -142, 60, 64, - 150, 283, 70, 151, 152, 153, 139, 55, 77, 145, - 149, 66, 284, 285, 87, 190, 105, 290, 141, 143, - 146, 148, 101, 190, 75, 57, 61, 151, 152, 153, - 139, 140, 142, 151, 152, 153, 139, 140, 142, 116, - 98, 97, 144, 147, 74, -142, 151, 152, 153, 139, - 140, 142, -144, -143, -147, 49, 75, 57, 61, 60, - 64, -144, 246, 70, 151, 152, 153, 139, 55, 77, - 244, 278, 66, 301, 302, 87, 74, 75, 57, 61, - -144, 179, -145, -148, 73, 190, -143, 49, 310, -192, - 37, 60, 64, -147, -146, 70, 292, 74, nil, nil, - 55, 77, nil, nil, 66, nil, nil, 87, 49, 75, + 75, 57, 61, 263, 180, 38, 40, 285, 44, 198, + 54, 129, 45, 200, 241, 284, 295, 196, 197, 242, + 74, 75, 57, 61, 274, 47, 38, 40, 196, 197, + 133, 49, 38, 40, 112, 60, 64, 196, 197, 70, + 41, 74, 150, 43, 55, 77, 179, 119, 66, 48, + 142, 87, 49, 75, 57, 61, 60, 64, 49, 109, + 70, 41, -145, 124, 43, 55, 77, 41, -147, 66, + 43, 255, 87, 74, 75, 57, 61, 290, 152, 153, + 154, 140, 141, 143, 49, 195, 180, 105, 60, 64, + 289, 241, 70, 194, 74, 150, 242, 55, 77, 133, + 119, 66, 204, 142, 87, 49, 75, 57, 61, 60, + 64, 49, 134, 70, 35, 203, 124, 175, 55, 77, + -148, 3, 66, 35, 260, 87, 74, 75, 57, 61, + 3, 152, 153, 154, 140, 141, 143, 49, 116, 35, + 182, 60, 64, 188, 302, 70, 3, 74, 150, -145, + 55, 77, -144, 119, 66, -144, 142, 87, 49, 75, + 57, 61, 60, 64, 49, 250, 70, 154, 140, 124, + -146, 55, 77, 57, 61, 66, 57, 61, 87, 74, + 75, 57, 61, -146, 152, 153, 154, 140, 141, 143, + 49, 133, 205, 44, 60, 64, 188, 189, 70, 277, + 74, 150, 278, 55, 77, -143, 119, 66, 191, 142, + 87, 49, 75, 57, 61, 60, 64, 49, 248, 70, + 33, 34, 124, -143, 55, 77, 154, 140, 66, -160, + 129, 87, 74, 75, 57, 61, 246, 152, 153, 154, + 140, 141, 143, 49, -143, 218, 118, 60, 64, 188, + 219, 70, -146, 74, 35, 116, 55, 77, 281, -149, + 66, 3, 6, 87, 49, -144, -148, -147, 60, 64, + 151, 187, 70, 286, 287, 188, 189, 55, 77, 146, + 150, 66, 288, -145, 87, 105, 293, 101, 142, 144, + 147, 149, 135, 116, 75, 57, 61, 152, 153, 154, + 140, 141, 143, 152, 153, 154, 140, 141, 143, 98, + 97, 299, 145, 148, 74, -143, 152, 153, 154, 140, + 141, 143, -146, -144, -148, 49, 75, 57, 61, 60, + 64, -145, 45, 70, 152, 153, 154, 140, 55, 77, + 156, 281, 66, 305, 306, 87, 74, 75, 57, 61, + 152, 153, 154, 140, 157, 158, 178, 49, 182, 73, + 191, 60, 64, 184, 314, 70, -193, 74, 37, 191, + 55, 77, 180, 105, 66, nil, nil, 87, 49, 75, 57, 61, 60, 64, nil, nil, 70, nil, nil, nil, nil, 55, 77, nil, nil, 66, nil, nil, 87, 74, 75, 57, 61, nil, nil, nil, nil, nil, nil, nil, @@ -301,428 +302,446 @@ racc_action_table = [ 77, nil, nil, 66, nil, nil, 87, 49, 75, 57, 61, 60, 64, nil, nil, 70, nil, nil, 49, nil, 55, 77, 60, 64, 66, nil, 70, 87, 74, nil, - nil, 55, nil, nil, nil, 66, nil, nil, nil, 49, - 54, 57, 61, 60, 64, nil, nil, 70, nil, nil, - nil, nil, 55, 77, nil, nil, 66, nil, nil, 87, - 51, 75, 57, 61, nil, nil, nil, 75, 57, 61, + nil, 55, 75, 57, 61, 66, nil, nil, nil, 49, + nil, nil, nil, 60, 64, nil, nil, 70, 75, 57, + 61, 138, 55, 77, nil, nil, 66, nil, nil, 87, + nil, nil, nil, 49, 75, 57, 61, 60, 211, nil, + nil, 70, nil, nil, nil, nil, 162, nil, nil, 49, + 66, nil, nil, 60, 64, nil, nil, 70, 75, 57, + 61, nil, 55, nil, nil, 49, 66, nil, nil, 60, + 169, nil, nil, 70, nil, nil, nil, nil, 162, 54, + 57, 61, 66, nil, nil, 75, 57, 61, nil, 49, + nil, nil, nil, 60, 64, nil, nil, 70, nil, 51, + nil, nil, 55, 75, 57, 61, 66, nil, nil, nil, + 49, nil, nil, nil, 60, 64, 49, nil, 70, nil, + 60, 64, 52, 55, 70, nil, nil, 66, nil, 55, + 75, 57, 61, 66, 49, nil, nil, nil, 60, 64, + nil, nil, 70, nil, 75, 57, 61, 55, nil, nil, + nil, 66, nil, nil, 75, 57, 61, nil, nil, nil, nil, 49, nil, nil, nil, 60, 64, nil, nil, 70, - nil, nil, nil, 52, 55, 75, 57, 61, 66, nil, - nil, nil, 49, nil, nil, nil, 60, 168, 49, nil, - 70, nil, 60, 209, nil, 161, 70, nil, nil, 66, - nil, 161, nil, nil, nil, 66, 49, nil, nil, nil, - 60, 64, nil, nil, 70, 75, 57, 61, 137, 55, - nil, nil, nil, 66, nil, 75, 57, 61, nil, nil, - nil, 75, 57, 61, nil, nil, nil, nil, nil, nil, - nil, 75, 57, 61, nil, nil, 49, 75, 57, 61, - 60, 64, nil, nil, 70, nil, 49, nil, nil, 55, - 60, 64, 49, 66, 70, nil, 60, 64, nil, 55, - 70, nil, 49, 66, nil, 55, 60, 64, 49, 66, - 70, nil, 60, 64, nil, 55, 70, nil, nil, 66, - nil, 55, 75, 57, 61, 66, nil, nil, 75, 57, - 61, nil, nil, nil, nil, nil, nil, nil, 75, 57, - 61, nil, nil, nil, nil, 57, 61, nil, nil, nil, - nil, nil, nil, 49, nil, 57, 61, 60, 64, 49, - nil, 70, nil, 60, 64, nil, 55, 70, nil, 49, - 66, nil, 55, 60, 64, 49, 66, 70, nil, 60, - 209, nil, 55, 70, nil, 49, 66, nil, 161, 60, - 209, nil, 66, 70, 57, 61, 57, 61, 161, nil, - nil, nil, 66, nil, nil, nil, nil, nil, nil, nil, - 57, 61, 57, 61, 270, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 49, nil, 49, nil, 60, 64, - 60, 209, 70, nil, 70, nil, 52, 55, nil, 161, - 49, 66, 49, 66, 60, 209, 60, 64, 70, nil, - 70, 57, 61, 161, 52, 55, nil, 66, nil, 66, - nil, 57, 61, nil, nil, 280, nil, 57, 61, nil, - nil, 130, nil, nil, nil, nil, nil, 57, 61, nil, - nil, 49, nil, nil, nil, 60, 64, 57, 61, 70, - 210, 49, nil, 52, 55, 60, 209, 49, 66, 70, - nil, 60, 209, nil, 161, 70, nil, 49, 66, nil, - 161, 60, 209, nil, 66, 70, nil, 49, 57, 61, - 161, 60, 209, nil, 66, 70, nil, nil, nil, nil, - 161, nil, nil, nil, 66, 145, 149, nil, 205, nil, - nil, nil, nil, nil, 141, 143, 146, 148, 49, nil, - nil, nil, 60, 64, nil, nil, 70, nil, nil, nil, - 52, 55, nil, nil, nil, 66, nil, nil, 144, 147, - 145, 149, 151, 152, 153, 139, 140, 142, 215, 141, - 143, 146, 148, 145, 149, nil, nil, nil, nil, nil, - nil, nil, 141, 143, 146, 148, nil, nil, nil, nil, - nil, nil, nil, 144, 147, 145, 149, 151, 152, 153, - 139, 140, 142, nil, 141, 143, 146, 148, 145, 149, - 151, 152, 153, 139, 140, 142, nil, 141, 143, 146, - 148, nil, nil, nil, nil, nil, nil, nil, nil, 147, - 289, nil, 151, 152, 153, 139, 140, 142, nil, nil, - nil, 144, 147, nil, nil, 151, 152, 153, 139, 140, - 142, 16, 294, 23, 26, nil, 1, 4, nil, 9, + 75, 57, 61, nil, 55, 49, nil, nil, 66, 60, + 64, 57, 61, 70, nil, 49, nil, nil, 55, 60, + 64, nil, 66, 70, 75, 57, 61, nil, 55, nil, + nil, 49, 66, nil, nil, 60, 64, nil, nil, 70, + nil, 49, nil, nil, 55, 60, 211, nil, 66, 70, + 57, 61, nil, nil, 162, 49, 57, 61, 66, 60, + 64, nil, nil, 70, nil, nil, 57, 61, 55, nil, + nil, nil, 66, nil, nil, nil, 273, 57, 61, nil, + 49, nil, nil, nil, 60, 211, 49, nil, 70, nil, + 60, 64, nil, 162, 70, nil, 49, 66, 52, 55, + 60, 211, nil, 66, 70, 57, 61, 49, nil, 162, + nil, 60, 211, 66, nil, 70, 57, 61, nil, nil, + 162, nil, nil, nil, 66, 131, 57, 61, nil, nil, + 283, nil, 57, 61, nil, 49, nil, nil, nil, 60, + 64, nil, nil, 70, nil, nil, 49, 52, 55, nil, + 60, 64, 66, nil, 70, nil, 49, nil, 52, 55, + 60, 211, 49, 66, 70, nil, 60, 211, nil, 162, + 70, 57, 61, 66, nil, 162, nil, 57, 61, 66, + 212, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 57, 61, nil, nil, nil, nil, nil, + nil, 49, nil, nil, nil, 60, 211, 49, nil, 70, + nil, 60, 211, 207, 162, 70, nil, nil, 66, nil, + 162, nil, nil, 49, 66, nil, nil, 60, 64, nil, + nil, 70, 146, 150, nil, 52, 55, nil, nil, nil, + 66, 142, 144, 147, 149, 146, 150, nil, nil, nil, + nil, 146, 150, 217, 142, 144, 147, 149, nil, nil, + 142, 144, 147, 149, nil, 145, 148, nil, nil, 152, + 153, 154, 140, 141, 143, nil, nil, nil, 145, 148, + nil, nil, 152, 153, 154, 140, 141, 143, 152, 153, + 154, 140, 141, 143, 146, 150, nil, nil, nil, nil, + nil, nil, nil, 142, 144, 147, 149, 146, 150, nil, + nil, nil, nil, nil, nil, nil, 142, 144, 147, 149, + nil, nil, nil, nil, nil, nil, nil, nil, 148, 297, + nil, 152, 153, 154, 140, 141, 143, nil, nil, nil, + 145, 148, nil, nil, 152, 153, 154, 140, 141, 143, + 16, 292, 23, 26, nil, 1, 4, nil, 9, nil, + 13, nil, 20, nil, 27, nil, nil, 3, 6, nil, + 298, nil, 16, nil, 23, 26, nil, 1, 4, nil, + 9, nil, 13, nil, 20, nil, 27, nil, nil, 3, + 6, 16, 311, 23, 26, nil, 1, 4, nil, 9, nil, 13, nil, 20, nil, 27, nil, nil, 3, 6, - nil, 295, nil, 16, nil, 23, 26, nil, 1, 4, + nil, 279, nil, 16, nil, 23, 26, nil, 1, 4, nil, 9, nil, 13, nil, 20, nil, 27, nil, nil, - 3, 6, 16, 276, 23, 26, nil, 1, 4, nil, + 3, 6, 16, 258, 23, 26, nil, 1, 4, nil, 9, nil, 13, nil, 20, nil, 27, nil, nil, 3, - 6, nil, 307, nil, 16, nil, 23, 26, nil, 1, + 6, nil, 316, nil, 16, nil, 23, 26, nil, 1, 4, nil, 9, nil, 13, nil, 20, nil, 27, nil, - nil, 3, 6, 16, 230, 23, 26, nil, 1, 4, + nil, 3, 6, 16, 318, 23, 26, nil, 1, 4, nil, 9, nil, 13, nil, 20, nil, 27, nil, nil, - 3, 6, nil, 312, nil, 16, nil, 23, 26, nil, + 3, 6, nil, 232, nil, 16, nil, 23, 26, nil, 1, 4, nil, 9, nil, 13, nil, 20, nil, 27, - nil, nil, 3, 6, 16, 314, 23, 26, nil, 1, + nil, nil, 3, 6, 16, 319, 23, 26, nil, 1, 4, nil, 9, nil, 13, nil, 20, nil, 27, nil, - nil, 3, 6, nil, 256, nil, 16, nil, 23, 26, + nil, 3, 6, nil, 252, nil, 16, nil, 23, 26, nil, 1, 4, nil, 9, nil, 13, nil, 20, nil, - 27, nil, nil, 3, 6, 16, 315, 23, 26, nil, + 27, nil, nil, 3, 6, 16, 320, 23, 26, nil, 1, 4, nil, 9, nil, 13, nil, 20, nil, 27, - nil, nil, 3, 6, nil, 250, nil, 16, nil, 23, - 26, nil, 1, 4, nil, 9, nil, 13, nil, 20, - nil, 27, nil, nil, 3, 6, 16, 316, 23, 26, - nil, 1, 4, nil, 9, nil, 13, nil, 20, nil, - 27, nil, nil, 3, 6, nil, nil, nil, 16, nil, - 23, 26, nil, 1, 4, nil, 9, nil, 13, nil, - 20, nil, 27, nil, nil, 3, 6, 16, nil, 23, + nil, nil, 3, 6, nil, nil, nil, 16, nil, 23, 26, nil, 1, 4, nil, 9, nil, 13, nil, 20, nil, 27, nil, nil, 3, 6, 16, nil, 23, 26, nil, 1, 4, nil, 9, nil, 13, nil, 20, nil, - 27, nil, nil, 3, 6 ] + 27, nil, nil, 3, 6, 16, nil, 23, 26, nil, + 1, 4, nil, 9, nil, 13, nil, 20, nil, 27, + nil, nil, 3, 6 ] racc_action_check = [ - 34, 34, 34, 191, 105, 112, 112, 17, 11, 125, - 64, 242, 11, 287, 17, 17, 273, 273, 287, 263, - 34, 153, 153, 153, 242, 11, 9, 9, 191, 191, - 64, 34, 109, 109, 39, 34, 34, 125, 125, 34, - 112, 153, 222, 112, 34, 34, 105, 48, 34, 11, - 222, 34, 153, 139, 139, 139, 153, 153, 48, 39, - 153, 9, 180, 48, 9, 153, 153, 109, 181, 153, - 109, 69, 153, 139, 140, 140, 140, 129, 222, 222, - 222, 222, 222, 222, 139, 236, 204, 68, 139, 139, - 129, 157, 139, 236, 140, 227, 157, 139, 139, 204, - 197, 139, 168, 227, 139, 140, 151, 151, 151, 140, - 140, 197, 120, 140, 101, 168, 197, 101, 140, 140, - 120, 101, 140, 26, 189, 140, 151, 141, 141, 141, - 26, 227, 227, 227, 227, 227, 227, 151, 190, 4, - 93, 151, 151, 232, 232, 151, 4, 141, 225, 67, - 151, 151, 65, 118, 151, 94, 225, 151, 141, 77, - 77, 77, 141, 141, 118, 96, 141, 231, 231, 118, - 73, 141, 141, 23, 23, 141, 1, 1, 141, 77, - 142, 142, 142, 209, 225, 225, 225, 225, 225, 225, - 77, 62, 131, 211, 77, 77, 131, 131, 77, 217, - 142, 224, 78, 77, 77, 173, 47, 77, 90, 224, - 77, 142, 16, 16, 16, 142, 142, 47, 59, 142, - 156, 156, 47, 58, 142, 142, 55, 50, 142, 102, - 106, 142, 16, 74, 74, 74, 167, 224, 224, 224, - 224, 224, 224, 16, 45, 127, 230, 16, 16, 127, - 127, 16, 166, 74, 113, 165, 16, 16, 113, 113, - 16, 136, 110, 16, 74, 136, 136, 163, 74, 74, - 84, 239, 74, 221, 221, 221, 221, 74, 74, 84, - 84, 74, 240, 241, 74, 162, 37, 245, 84, 84, - 84, 84, 36, 115, 87, 87, 87, 220, 220, 220, - 220, 220, 220, 228, 228, 228, 228, 228, 228, 248, - 30, 27, 84, 84, 87, 262, 84, 84, 84, 84, - 84, 84, 72, 264, 265, 87, 149, 149, 149, 87, - 87, 267, 160, 87, 219, 219, 219, 219, 87, 87, - 158, 276, 87, 278, 281, 87, 149, 148, 148, 148, - 89, 116, 79, 80, 15, 293, 81, 149, 297, 298, - 7, 149, 149, 83, 85, 149, 247, 148, nil, nil, - 149, 149, nil, nil, 149, nil, nil, 149, 148, 143, - 143, 143, 148, 148, nil, nil, 148, nil, nil, nil, - nil, 148, 148, nil, nil, 148, nil, nil, 148, 143, - 144, 144, 144, nil, nil, nil, nil, nil, nil, nil, - 143, nil, nil, nil, 143, 143, nil, nil, 143, nil, - 144, nil, nil, 143, 143, nil, nil, 143, nil, nil, - 143, 144, 33, 33, 33, 144, 144, nil, nil, 144, - nil, nil, nil, nil, 144, 144, nil, nil, 144, nil, - nil, 144, 33, 152, 152, 152, nil, nil, nil, nil, + 34, 34, 34, 193, 105, 9, 9, 238, 11, 126, + 64, 206, 11, 128, 290, 238, 249, 128, 128, 290, + 34, 154, 154, 154, 206, 11, 109, 109, 193, 193, + 64, 34, 112, 112, 39, 34, 34, 126, 126, 34, + 9, 154, 224, 9, 34, 34, 105, 48, 34, 11, + 224, 34, 154, 140, 140, 140, 154, 154, 48, 39, + 154, 109, 72, 48, 109, 154, 154, 112, 69, 154, + 112, 181, 154, 140, 141, 141, 141, 244, 224, 224, + 224, 224, 224, 224, 140, 121, 169, 182, 140, 140, + 244, 158, 140, 121, 141, 229, 158, 140, 140, 169, + 119, 140, 130, 229, 140, 141, 77, 77, 77, 141, + 141, 119, 68, 141, 101, 130, 119, 101, 141, 141, + 67, 101, 141, 4, 190, 141, 77, 142, 142, 142, + 4, 229, 229, 229, 229, 229, 229, 77, 191, 26, + 192, 77, 77, 276, 276, 77, 26, 142, 227, 174, + 77, 77, 65, 47, 77, 168, 227, 77, 142, 74, + 74, 74, 142, 142, 47, 167, 142, 233, 233, 47, + 62, 142, 142, 157, 157, 142, 23, 23, 142, 74, + 143, 143, 143, 166, 227, 227, 227, 227, 227, 227, + 74, 211, 132, 59, 74, 74, 132, 132, 74, 213, + 143, 226, 219, 74, 74, 164, 199, 74, 163, 226, + 74, 143, 16, 16, 16, 143, 143, 199, 161, 143, + 1, 1, 199, 58, 143, 143, 234, 234, 143, 55, + 50, 143, 16, 152, 152, 152, 159, 226, 226, 226, + 226, 226, 226, 16, 78, 137, 46, 16, 16, 137, + 137, 16, 79, 152, 17, 45, 16, 16, 232, 80, + 16, 17, 17, 16, 152, 81, 83, 85, 152, 152, + 84, 113, 152, 241, 242, 113, 113, 152, 152, 84, + 84, 152, 243, 89, 152, 37, 247, 36, 84, 84, + 84, 84, 73, 250, 150, 150, 150, 230, 230, 230, + 230, 230, 230, 222, 222, 222, 222, 222, 222, 30, + 27, 262, 84, 84, 150, 265, 84, 84, 84, 84, + 84, 84, 266, 267, 268, 150, 87, 87, 87, 150, + 150, 270, 90, 150, 223, 223, 223, 223, 150, 150, + 93, 279, 150, 281, 284, 150, 87, 149, 149, 149, + 221, 221, 221, 221, 94, 96, 102, 87, 106, 15, + 296, 87, 87, 110, 301, 87, 302, 149, 7, 115, + 87, 87, 116, 118, 87, nil, nil, 87, 149, 144, + 144, 144, 149, 149, nil, nil, 149, nil, nil, nil, + nil, 149, 149, nil, nil, 149, nil, nil, 149, 144, + 148, 148, 148, nil, nil, nil, nil, nil, nil, nil, + 144, nil, nil, nil, 144, 144, nil, nil, 144, nil, + 148, nil, nil, 144, 144, nil, nil, 144, nil, nil, + 144, 148, 33, 33, 33, 148, 148, nil, nil, 148, + nil, nil, nil, nil, 148, 148, nil, nil, 148, nil, + nil, 148, 33, 153, 153, 153, nil, nil, nil, nil, nil, nil, nil, 33, nil, nil, nil, 33, 33, nil, - nil, 33, nil, 152, nil, nil, 33, 33, nil, nil, - 33, nil, nil, 33, 152, 147, 147, 147, 152, 152, - nil, nil, 152, nil, nil, nil, nil, 152, 152, nil, - nil, 152, nil, nil, 152, 147, 146, 146, 146, nil, + nil, 33, nil, 153, nil, nil, 33, 33, nil, nil, + 33, nil, nil, 33, 153, 147, 147, 147, 153, 153, + nil, nil, 153, nil, nil, nil, nil, 153, 153, nil, + nil, 153, nil, nil, 153, 147, 145, 145, 145, nil, nil, nil, nil, nil, nil, nil, 147, 44, 44, 44, - 147, 147, nil, nil, 147, nil, 146, nil, nil, 147, - 147, nil, nil, 147, nil, nil, 147, 146, 145, 145, - 145, 146, 146, nil, nil, 146, nil, nil, 44, nil, - 146, 146, 44, 44, 146, nil, 44, 146, 145, nil, - nil, 44, nil, nil, nil, 44, nil, nil, nil, 145, - 13, 13, 13, 145, 145, nil, nil, 145, nil, nil, - nil, nil, 145, 145, nil, nil, 145, nil, nil, 145, - 13, 98, 98, 98, nil, nil, nil, 246, 246, 246, - nil, 13, nil, nil, nil, 13, 13, nil, nil, 13, - nil, nil, nil, 13, 13, 274, 274, 274, 13, nil, - nil, nil, 98, nil, nil, nil, 98, 98, 246, nil, - 98, nil, 246, 246, nil, 98, 246, nil, nil, 98, - nil, 246, nil, nil, nil, 246, 274, nil, nil, nil, - 274, 274, nil, nil, 274, 75, 75, 75, 75, 274, - nil, nil, nil, 274, nil, 54, 54, 54, nil, nil, - nil, 284, 284, 284, nil, nil, nil, nil, nil, nil, - nil, 178, 178, 178, nil, nil, 75, 20, 20, 20, - 75, 75, nil, nil, 75, nil, 54, nil, nil, 75, - 54, 54, 284, 75, 54, nil, 284, 284, nil, 54, - 284, nil, 178, 54, nil, 284, 178, 178, 20, 284, - 178, nil, 20, 20, nil, 178, 20, nil, nil, 178, - nil, 20, 179, 179, 179, 20, nil, nil, 283, 283, - 283, nil, nil, nil, nil, nil, nil, nil, 185, 185, - 185, nil, nil, nil, nil, 193, 193, nil, nil, nil, - nil, nil, nil, 179, nil, 192, 192, 179, 179, 283, - nil, 179, nil, 283, 283, nil, 179, 283, nil, 185, - 179, nil, 283, 185, 185, 193, 283, 185, nil, 193, - 193, nil, 185, 193, nil, 192, 185, nil, 193, 192, - 192, nil, 193, 192, 202, 202, 210, 210, 192, nil, - nil, nil, 192, nil, nil, nil, nil, nil, nil, nil, - 282, 282, 128, 128, 202, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 202, nil, 210, nil, 202, 202, - 210, 210, 202, nil, 210, nil, 202, 202, nil, 210, - 282, 202, 128, 210, 282, 282, 128, 128, 282, nil, - 128, 51, 51, 282, 128, 128, nil, 282, nil, 128, - nil, 234, 234, nil, nil, 234, nil, 296, 296, nil, - nil, 51, nil, nil, nil, nil, nil, 155, 155, nil, - nil, 51, nil, nil, nil, 51, 51, 133, 133, 51, - 133, 234, nil, 51, 51, 234, 234, 296, 51, 234, - nil, 296, 296, nil, 234, 296, nil, 155, 234, nil, - 296, 155, 155, nil, 296, 155, nil, 133, 132, 132, - 155, 133, 133, nil, 155, 133, nil, nil, nil, nil, - 133, nil, nil, nil, 133, 100, 100, nil, 132, nil, - nil, nil, nil, nil, 100, 100, 100, 100, 132, nil, - nil, nil, 132, 132, nil, nil, 132, nil, nil, nil, - 132, 132, nil, nil, nil, 132, nil, nil, 100, 100, - 135, 135, 100, 100, 100, 100, 100, 100, 135, 135, - 135, 135, 135, 226, 226, nil, nil, nil, nil, nil, - nil, nil, 226, 226, 226, 226, nil, nil, nil, nil, - nil, nil, nil, 135, 135, 223, 223, 135, 135, 135, - 135, 135, 135, nil, 223, 223, 223, 223, 99, 99, - 226, 226, 226, 226, 226, 226, nil, 99, 99, 99, - 99, nil, nil, nil, nil, nil, nil, nil, nil, 223, - 244, nil, 223, 223, 223, 223, 223, 223, nil, nil, - nil, 99, 99, nil, nil, 99, 99, 99, 99, 99, - 99, 244, 249, 244, 244, nil, 244, 244, nil, 244, - nil, 244, nil, 244, nil, 244, nil, nil, 244, 244, - nil, 255, nil, 249, nil, 249, 249, nil, 249, 249, - nil, 249, nil, 249, nil, 249, nil, 249, nil, nil, - 249, 249, 255, 229, 255, 255, nil, 255, 255, nil, - 255, nil, 255, nil, 255, nil, 255, nil, nil, 255, - 255, nil, 288, nil, 229, nil, 229, 229, nil, 229, - 229, nil, 229, nil, 229, nil, 229, nil, 229, nil, - nil, 229, 229, 288, 150, 288, 288, nil, 288, 288, - nil, 288, nil, 288, nil, 288, nil, 288, nil, nil, - 288, 288, nil, 301, nil, 150, nil, 150, 150, nil, - 150, 150, nil, 150, nil, 150, nil, 150, nil, 150, - nil, nil, 150, 150, 301, 302, 301, 301, nil, 301, - 301, nil, 301, nil, 301, nil, 301, nil, 301, nil, - nil, 301, 301, nil, 183, nil, 302, nil, 302, 302, - nil, 302, 302, nil, 302, nil, 302, nil, 302, nil, - 302, nil, nil, 302, 302, 183, 311, 183, 183, nil, - 183, 183, nil, 183, nil, 183, nil, 183, nil, 183, - nil, nil, 183, 183, nil, 177, nil, 311, nil, 311, - 311, nil, 311, 311, nil, 311, nil, 311, nil, 311, - nil, 311, nil, nil, 311, 311, 177, 313, 177, 177, - nil, 177, 177, nil, 177, nil, 177, nil, 177, nil, - 177, nil, nil, 177, 177, nil, nil, nil, 313, nil, - 313, 313, nil, 313, 313, nil, 313, nil, 313, nil, - 313, nil, 313, nil, nil, 313, 313, 19, nil, 19, - 19, nil, 19, 19, nil, 19, nil, 19, nil, 19, - nil, 19, nil, nil, 19, 19, 0, nil, 0, 0, - nil, 0, 0, nil, 0, nil, 0, nil, 0, nil, - 0, nil, nil, 0, 0 ] + 147, 147, nil, nil, 147, nil, 145, nil, nil, 147, + 147, nil, nil, 147, nil, nil, 147, 145, 146, 146, + 146, 145, 145, nil, nil, 145, nil, nil, 44, nil, + 145, 145, 44, 44, 145, nil, 44, 145, 146, nil, + nil, 44, 248, 248, 248, 44, nil, nil, nil, 146, + nil, nil, nil, 146, 146, nil, nil, 146, 75, 75, + 75, 75, 146, 146, nil, nil, 146, nil, nil, 146, + nil, nil, nil, 248, 98, 98, 98, 248, 248, nil, + nil, 248, nil, nil, nil, nil, 248, nil, nil, 75, + 248, nil, nil, 75, 75, nil, nil, 75, 277, 277, + 277, nil, 75, nil, nil, 98, 75, nil, nil, 98, + 98, nil, nil, 98, nil, nil, nil, nil, 98, 13, + 13, 13, 98, nil, nil, 287, 287, 287, nil, 277, + nil, nil, nil, 277, 277, nil, nil, 277, nil, 13, + nil, nil, 277, 54, 54, 54, 277, nil, nil, nil, + 13, nil, nil, nil, 13, 13, 287, nil, 13, nil, + 287, 287, 13, 13, 287, nil, nil, 13, nil, 287, + 179, 179, 179, 287, 54, nil, nil, nil, 54, 54, + nil, nil, 54, nil, 20, 20, 20, 54, nil, nil, + nil, 54, nil, nil, 180, 180, 180, nil, nil, nil, + nil, 179, nil, nil, nil, 179, 179, nil, nil, 179, + 286, 286, 286, nil, 179, 20, nil, nil, 179, 20, + 20, 195, 195, 20, nil, 180, nil, nil, 20, 180, + 180, nil, 20, 180, 186, 186, 186, nil, 180, nil, + nil, 286, 180, nil, nil, 286, 286, nil, nil, 286, + nil, 195, nil, nil, 286, 195, 195, nil, 286, 195, + 194, 194, nil, nil, 195, 186, 204, 204, 195, 186, + 186, nil, nil, 186, nil, nil, 212, 212, 186, nil, + nil, nil, 186, nil, nil, nil, 204, 285, 285, nil, + 194, nil, nil, nil, 194, 194, 204, nil, 194, nil, + 204, 204, nil, 194, 204, nil, 212, 194, 204, 204, + 212, 212, nil, 204, 212, 51, 51, 285, nil, 212, + nil, 285, 285, 212, nil, 285, 129, 129, nil, nil, + 285, nil, nil, nil, 285, 51, 236, 236, nil, nil, + 236, nil, 300, 300, nil, 51, nil, nil, nil, 51, + 51, nil, nil, 51, nil, nil, 129, 51, 51, nil, + 129, 129, 51, nil, 129, nil, 236, nil, 129, 129, + 236, 236, 300, 129, 236, nil, 300, 300, nil, 236, + 300, 156, 156, 236, nil, 300, nil, 134, 134, 300, + 134, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 133, 133, nil, nil, nil, nil, nil, + nil, 156, nil, nil, nil, 156, 156, 134, nil, 156, + nil, 134, 134, 133, 156, 134, nil, nil, 156, nil, + 134, nil, nil, 133, 134, nil, nil, 133, 133, nil, + nil, 133, 99, 99, nil, 133, 133, nil, nil, nil, + 133, 99, 99, 99, 99, 136, 136, nil, nil, nil, + nil, 228, 228, 136, 136, 136, 136, 136, nil, nil, + 228, 228, 228, 228, nil, 99, 99, nil, nil, 99, + 99, 99, 99, 99, 99, nil, nil, nil, 136, 136, + nil, nil, 136, 136, 136, 136, 136, 136, 228, 228, + 228, 228, 228, 228, 225, 225, nil, nil, nil, nil, + nil, nil, nil, 225, 225, 225, 225, 100, 100, nil, + nil, nil, nil, nil, nil, nil, 100, 100, 100, 100, + nil, nil, nil, nil, nil, nil, nil, nil, 225, 251, + nil, 225, 225, 225, 225, 225, 225, nil, nil, nil, + 100, 100, nil, nil, 100, 100, 100, 100, 100, 100, + 251, 246, 251, 251, nil, 251, 251, nil, 251, nil, + 251, nil, 251, nil, 251, nil, nil, 251, 251, nil, + 257, nil, 246, nil, 246, 246, nil, 246, 246, nil, + 246, nil, 246, nil, 246, nil, 246, nil, nil, 246, + 246, 257, 291, 257, 257, nil, 257, 257, nil, 257, + nil, 257, nil, 257, nil, 257, nil, nil, 257, 257, + nil, 231, nil, 291, nil, 291, 291, nil, 291, 291, + nil, 291, nil, 291, nil, 291, nil, 291, nil, nil, + 291, 291, 231, 184, 231, 231, nil, 231, 231, nil, + 231, nil, 231, nil, 231, nil, 231, nil, nil, 231, + 231, nil, 305, nil, 184, nil, 184, 184, nil, 184, + 184, nil, 184, nil, 184, nil, 184, nil, 184, nil, + nil, 184, 184, 305, 306, 305, 305, nil, 305, 305, + nil, 305, nil, 305, nil, 305, nil, 305, nil, nil, + 305, 305, nil, 151, nil, 306, nil, 306, 306, nil, + 306, 306, nil, 306, nil, 306, nil, 306, nil, 306, + nil, nil, 306, 306, 151, 315, 151, 151, nil, 151, + 151, nil, 151, nil, 151, nil, 151, nil, 151, nil, + nil, 151, 151, nil, 178, nil, 315, nil, 315, 315, + nil, 315, 315, nil, 315, nil, 315, nil, 315, nil, + 315, nil, nil, 315, 315, 178, 317, 178, 178, nil, + 178, 178, nil, 178, nil, 178, nil, 178, nil, 178, + nil, nil, 178, 178, nil, nil, nil, 317, nil, 317, + 317, nil, 317, 317, nil, 317, nil, 317, nil, 317, + nil, 317, nil, nil, 317, 317, 19, nil, 19, 19, + nil, 19, 19, nil, 19, nil, 19, nil, 19, nil, + 19, nil, nil, 19, 19, 0, nil, 0, 0, nil, + 0, 0, nil, 0, nil, 0, nil, 0, nil, 0, + nil, nil, 0, 0 ] racc_action_pointer = [ - 1308, 163, nil, nil, 101, nil, nil, 354, nil, 23, - nil, 6, nil, 568, nil, 354, 210, -31, nil, 1289, - 685, nil, nil, 170, nil, nil, 85, 269, nil, nil, - 304, nil, nil, 430, -2, nil, 257, 248, nil, 24, - nil, nil, nil, nil, 515, 206, nil, 184, 25, nil, - 217, 858, nil, nil, 663, 224, nil, nil, 202, 216, - nil, nil, 170, nil, 8, 131, nil, 128, 66, 50, - nil, nil, 301, 170, 231, 653, nil, 157, 181, 331, - 332, 335, nil, 342, 264, 343, nil, 292, nil, 329, - 202, nil, nil, 134, 145, nil, 143, nil, 589, 1013, - 930, 76, 223, nil, nil, -5, 220, nil, nil, 29, - 256, nil, 2, 249, nil, 283, 342, nil, 131, nil, - 96, nil, nil, nil, nil, -11, nil, 201, 819, 67, - nil, 187, 925, 894, nil, 965, 256, nil, nil, 51, - 72, 125, 178, 377, 398, 536, 504, 483, 345, 324, - 1147, 104, 451, 19, nil, 884, 217, 58, 334, nil, - 293, nil, 275, 246, nil, 234, 234, 215, 93, nil, - nil, nil, nil, 184, nil, nil, nil, 1248, 679, 730, - 55, 30, nil, 1207, nil, 746, nil, nil, nil, 117, - 100, -20, 762, 752, nil, nil, nil, 78, nil, nil, - nil, nil, 801, nil, 76, nil, nil, nil, nil, 161, - 803, 184, nil, nil, nil, nil, nil, 194, nil, 282, - 245, 221, 26, 1000, 185, 132, 978, 79, 251, 1106, - 217, 113, 89, nil, 868, nil, 75, nil, nil, 258, - 269, 260, 1, nil, 1043, 280, 595, 359, 271, 1065, - nil, nil, nil, nil, nil, 1084, nil, nil, nil, nil, - nil, nil, 294, -2, 302, 303, nil, 310, nil, nil, - nil, nil, nil, 7, 613, nil, 312, nil, 337, nil, - nil, 338, 817, 736, 669, nil, nil, -20, 1125, nil, - nil, nil, nil, 345, nil, nil, 874, 351, 352, nil, - nil, 1166, 1188, nil, nil, nil, nil, nil, nil, nil, - nil, 1229, nil, 1270, nil, nil, nil ] + 1317, 207, nil, nil, 85, nil, nil, 362, nil, 2, + nil, 6, nil, 637, nil, 359, 210, 216, nil, 1298, + 702, nil, nil, 173, nil, nil, 101, 268, nil, nil, + 303, nil, nil, 430, -2, nil, 252, 247, nil, 24, + nil, nil, nil, nil, 515, 217, 240, 131, 25, nil, + 220, 832, nil, nil, 661, 227, nil, nil, 202, 191, + nil, nil, 149, nil, 8, 131, nil, 99, 91, 47, + nil, nil, 41, 292, 157, 576, nil, 104, 223, 231, + 238, 244, nil, 245, 264, 246, nil, 324, nil, 262, + 326, nil, nil, 334, 344, nil, 333, nil, 592, 947, + 1022, 76, 350, nil, nil, -5, 348, nil, nil, 23, + 357, nil, 29, 266, nil, 359, 363, nil, 335, 78, + nil, 69, nil, nil, nil, nil, -11, nil, -31, 843, + 92, nil, 187, 920, 904, nil, 960, 240, nil, nil, + 51, 72, 125, 178, 377, 504, 536, 483, 398, 345, + 292, 1216, 231, 451, 19, nil, 898, 170, 58, 230, + nil, 179, nil, 198, 184, nil, 162, 147, 134, 77, + nil, nil, nil, nil, 128, nil, nil, nil, 1257, 688, + 712, 64, 49, nil, 1156, nil, 752, nil, nil, nil, + 117, 100, 130, -20, 777, 738, nil, nil, nil, 184, + nil, nil, nil, nil, 783, nil, 1, nil, nil, nil, + nil, 169, 793, 190, nil, nil, nil, nil, nil, 197, + nil, 298, 251, 282, 26, 1009, 185, 132, 966, 79, + 245, 1134, 229, 113, 172, nil, 853, nil, -3, nil, + nil, 260, 261, 259, 67, nil, 1074, 279, 560, 9, + 255, 1052, nil, nil, nil, nil, nil, 1093, nil, nil, + nil, nil, 304, nil, nil, 294, 301, 302, 303, nil, + 310, nil, nil, nil, nil, nil, 134, 616, nil, 312, + nil, 337, nil, nil, 338, 804, 728, 643, nil, nil, + -19, 1115, nil, nil, nil, nil, 350, nil, nil, nil, + 859, 357, 359, nil, nil, 1175, 1197, nil, nil, nil, + nil, nil, nil, nil, nil, 1238, nil, 1279, nil, nil, + nil ] racc_action_default = [ - -168, -193, -7, -161, -193, -8, -159, -193, -9, -193, - -10, -193, -11, -160, -12, -193, -193, -193, -13, -1, - -193, -14, -2, -193, -15, -3, -193, -39, -16, -5, - -193, -17, -6, -193, -193, -160, -168, -78, -166, -168, - -165, -164, -162, -167, -193, -71, -41, -168, -168, -185, - -21, -193, -33, -22, -193, -62, -23, -101, -26, -193, - -103, -102, -27, -148, -61, -28, -60, -29, -193, -30, - -149, -31, -32, -193, -193, -193, -96, -193, -90, -94, - -98, -91, -95, -92, -193, -97, -93, -193, -111, -89, - -193, -38, -4, -193, -152, -150, -168, -40, -71, -69, - -70, -193, -193, -181, -79, -193, -191, -76, -77, -193, - -193, -179, -193, -193, -81, -191, -193, -72, -168, -47, - -193, -54, -53, -61, -44, -193, -45, -193, -193, -193, - -20, -193, -193, -193, 317, -193, -193, -188, -125, -193, - -193, -193, -193, -193, -193, -193, -193, -193, -193, -193, - -193, -193, -193, -193, -118, -193, -193, -169, -193, -170, - -58, -62, -191, -64, -56, -67, -193, -65, -61, -147, - -68, -146, -66, -63, -184, -182, -183, -193, -193, -193, - -193, -192, -180, -193, -163, -193, -105, -189, -190, -193, - -192, -193, -193, -193, -50, -49, -43, -193, -42, -24, - -25, -18, -193, -104, -193, -100, -142, -145, -143, -61, - -193, -193, -136, -144, -137, -128, -186, -190, -114, -116, - -120, -117, -122, -127, -124, -121, -126, -123, -119, -193, - -108, -112, -113, -115, -193, -130, -193, -134, -151, -178, - -176, -193, -193, -173, -193, -193, -59, -193, -71, -193, - -156, -75, -74, -37, -80, -193, -158, -82, -36, -73, - -48, -51, -84, -88, -85, -86, -87, -83, -52, -46, - -19, -99, -139, -191, -193, -187, -108, -107, -193, -131, - -129, -193, -193, -193, -193, -171, -172, -193, -193, -154, - -34, -57, -35, -191, -155, -157, -193, -193, -190, -141, - -106, -193, -193, -135, -177, -175, -174, -153, -55, -140, - -138, -193, -110, -193, -133, -109, -132 ] + -169, -194, -7, -162, -194, -8, -160, -194, -9, -194, + -10, -194, -11, -161, -12, -194, -194, -194, -13, -1, + -194, -14, -2, -194, -15, -3, -194, -39, -16, -5, + -194, -17, -6, -194, -194, -161, -169, -79, -167, -169, + -166, -165, -163, -168, -194, -72, -42, -169, -169, -186, + -21, -194, -33, -22, -194, -63, -23, -102, -26, -194, + -104, -103, -27, -149, -62, -28, -61, -29, -194, -30, + -150, -31, -32, -194, -194, -194, -97, -194, -91, -95, + -99, -92, -96, -93, -194, -98, -94, -194, -112, -90, + -194, -38, -4, -194, -153, -151, -169, -40, -72, -70, + -71, -194, -194, -182, -80, -194, -192, -77, -78, -194, + -194, -180, -194, -194, -82, -192, -194, -73, -79, -169, + -48, -194, -55, -54, -62, -45, -194, -46, -194, -194, + -194, -20, -194, -194, -194, 321, -194, -194, -189, -126, + -194, -194, -194, -194, -194, -194, -194, -194, -194, -194, + -194, -194, -194, -194, -194, -119, -194, -194, -170, -194, + -171, -59, -63, -192, -65, -57, -68, -194, -66, -62, + -148, -69, -147, -67, -64, -185, -183, -184, -194, -194, + -194, -194, -193, -181, -194, -164, -194, -106, -190, -191, + -194, -193, -192, -194, -194, -194, -51, -50, -44, -194, + -43, -24, -25, -18, -194, -105, -194, -101, -143, -146, + -144, -62, -194, -194, -137, -145, -138, -129, -187, -191, + -115, -117, -121, -118, -123, -128, -125, -122, -127, -124, + -120, -194, -109, -113, -114, -116, -194, -131, -194, -135, + -152, -179, -177, -194, -194, -174, -194, -194, -60, -194, + -72, -194, -157, -76, -75, -37, -81, -194, -159, -83, + -36, -74, -194, -49, -52, -85, -89, -86, -87, -88, + -84, -53, -47, -19, -100, -140, -192, -194, -188, -109, + -108, -194, -132, -130, -194, -194, -194, -194, -172, -173, + -194, -194, -155, -34, -58, -35, -192, -156, -158, -41, + -194, -194, -191, -142, -107, -194, -194, -136, -178, -176, + -175, -154, -56, -141, -139, -194, -111, -194, -134, -110, + -133 ] racc_goto_table = [ - 7, 92, 65, 11, 214, 115, 180, 19, 170, 243, - 107, 164, 211, 56, 50, 189, 104, 36, 235, 7, - 90, 71, 11, 15, 42, 199, 277, 63, 261, 268, - 22, 296, 125, 127, 237, 269, 113, 234, 46, 96, - 65, 106, 212, 245, 273, 94, 131, 158, 102, 39, - 110, 56, 129, 160, 241, 242, 91, 175, 162, 71, - nil, nil, 247, nil, nil, 63, 103, 136, 93, 111, - nil, nil, 300, nil, nil, nil, nil, nil, nil, nil, - nil, 272, nil, nil, nil, nil, nil, 167, nil, 211, - nil, nil, 114, nil, nil, nil, nil, 279, nil, 199, - 62, nil, 114, 191, nil, nil, 172, nil, nil, nil, - nil, nil, 63, 237, 176, nil, nil, 65, nil, nil, - nil, 65, 208, 114, 182, nil, 159, 184, 200, nil, - nil, nil, 56, 204, 122, 122, 71, nil, 62, 306, - 71, nil, 63, nil, 208, nil, 63, 63, nil, nil, - 7, nil, nil, 11, 107, nil, 170, 229, 69, 291, - 254, 303, nil, 259, nil, nil, nil, 309, nil, 63, - nil, nil, nil, 297, nil, 211, nil, 7, nil, nil, - 11, 264, 264, 7, 249, 165, 11, nil, nil, nil, - 255, 65, nil, 308, nil, nil, 69, nil, nil, 208, - 266, 266, 200, nil, nil, 122, 63, 63, 293, nil, - 71, 92, nil, nil, nil, 62, 63, nil, nil, 62, - 207, nil, nil, 208, 63, nil, 251, 252, nil, 7, - nil, 92, 11, 257, 58, 167, nil, 92, nil, nil, - nil, nil, 207, 171, 7, 67, nil, 11, 63, 7, - nil, 288, 11, nil, 172, 7, nil, nil, 11, nil, - 63, nil, nil, nil, nil, 72, nil, nil, 121, 121, - 92, 208, 58, 69, nil, 95, nil, 69, 171, 263, - 263, nil, nil, 67, 122, 208, nil, nil, 7, 62, - nil, 11, nil, 92, nil, 92, 63, 207, nil, nil, - 171, 7, 7, 72, 11, 11, nil, nil, 311, 313, - 63, 7, nil, 7, 11, nil, 11, nil, nil, 163, - nil, 207, 299, nil, nil, nil, nil, nil, nil, nil, - 169, 304, 305, 165, nil, nil, nil, 171, 171, 121, - nil, nil, nil, nil, nil, nil, nil, 69, nil, 58, - 173, nil, nil, 58, 206, 171, nil, nil, nil, nil, - 67, nil, nil, nil, 67, 169, nil, nil, nil, 207, - nil, nil, nil, nil, nil, nil, 206, nil, nil, 171, - 72, nil, nil, 207, 72, 213, nil, 169, nil, nil, - nil, 171, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, 213, 238, nil, - nil, nil, nil, 262, 262, nil, nil, nil, 121, nil, - nil, nil, nil, 58, 265, 265, nil, 171, nil, 84, - nil, 206, nil, nil, 67, nil, nil, nil, nil, nil, - nil, 171, 169, nil, 267, 267, 99, 100, nil, nil, - nil, nil, nil, nil, 72, 206, nil, nil, nil, nil, - nil, nil, 213, nil, nil, nil, 169, 163, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 169, nil, - nil, nil, nil, nil, nil, nil, 213, 135, nil, nil, - 138, nil, nil, nil, nil, nil, nil, nil, 173, nil, - 154, nil, nil, 206, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 169, nil, nil, 206, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 169, nil, - nil, nil, nil, nil, 213, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 213, nil, - nil, nil, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, nil, 231, 232, 233 ] + 11, 92, 216, 7, 93, 115, 181, 19, 50, 213, + 245, 117, 165, 58, 42, 190, 56, 90, 36, 11, + 106, 171, 7, 237, 63, 201, 280, 71, 114, 113, + 22, 239, 126, 128, 264, 271, 15, 300, 114, 132, + 96, 256, 236, 272, 46, 214, 130, 122, 122, 247, + 276, 58, 94, 159, 56, 102, 39, 110, 163, 114, + 137, 161, 63, 249, 117, 71, 103, 243, 244, 111, + 91, 176, nil, 304, nil, nil, nil, nil, nil, nil, + 275, nil, nil, nil, nil, nil, nil, 213, nil, nil, + nil, nil, 262, nil, nil, nil, nil, nil, 164, nil, + 201, 192, nil, 282, 193, nil, nil, nil, nil, 63, + nil, 239, 173, nil, 183, 177, nil, 185, nil, 122, + nil, nil, nil, nil, nil, nil, 160, nil, 206, 58, + nil, nil, 202, 58, 208, nil, 56, nil, nil, nil, + 63, nil, 310, 71, 63, 63, nil, 71, nil, nil, + nil, 11, nil, nil, 7, nil, 208, 261, 231, 72, + 307, nil, 294, 253, 254, nil, nil, 63, 313, 95, + 259, 171, nil, nil, nil, 213, 301, nil, 11, nil, + nil, 7, nil, nil, 11, 251, nil, 7, nil, nil, + nil, 257, nil, nil, 265, 265, 312, 72, nil, 122, + nil, nil, nil, nil, 58, 63, 63, 202, 269, 269, + 296, nil, 208, 92, nil, 63, 117, nil, 71, nil, + nil, nil, nil, 63, nil, nil, nil, nil, nil, nil, + nil, 11, nil, 92, 7, nil, 208, nil, nil, 92, + nil, nil, nil, 67, 174, 69, 11, 63, 164, 7, + nil, 11, nil, 291, 7, nil, nil, 11, nil, 63, + 7, 303, 173, nil, nil, nil, nil, nil, nil, nil, + 308, 309, nil, 92, nil, 72, nil, nil, nil, 72, + 215, 67, nil, 69, nil, 208, nil, nil, nil, nil, + nil, 11, nil, nil, 7, nil, 63, 92, nil, 92, + 208, nil, 215, 240, nil, 11, 11, nil, 7, 7, + nil, 63, 315, 317, nil, 11, nil, 11, 7, nil, + 7, nil, nil, nil, nil, nil, nil, nil, 170, nil, + 172, nil, 65, nil, nil, nil, nil, nil, nil, nil, + 270, 270, nil, 62, nil, nil, nil, nil, nil, nil, + 72, nil, nil, nil, nil, nil, nil, nil, 215, 67, + nil, 69, nil, 67, 170, 69, 172, nil, nil, nil, + 65, nil, 84, nil, nil, nil, nil, 123, 123, nil, + nil, 62, 215, nil, nil, nil, 170, nil, 172, 99, + 100, nil, nil, nil, 174, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, 168, nil, nil, + nil, nil, nil, nil, 268, 268, 172, 172, 166, nil, + 136, 215, nil, 139, 67, nil, 69, nil, nil, nil, + nil, nil, 170, 155, 172, nil, 215, nil, 65, 123, + nil, nil, 65, 210, nil, nil, nil, nil, nil, 62, + nil, nil, nil, 62, 209, nil, 170, nil, 172, nil, + nil, nil, nil, nil, nil, 210, nil, nil, 170, nil, + 172, nil, nil, nil, nil, nil, 209, nil, nil, nil, + nil, nil, nil, nil, nil, nil, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, nil, 233, 234, + 235, nil, nil, 267, 267, 170, nil, 172, nil, nil, + nil, nil, nil, 65, 266, 266, nil, nil, nil, 123, + 170, 210, 172, nil, 62, nil, nil, nil, nil, nil, + nil, nil, 209, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 210, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, 209, 168, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 166, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 210, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 209, nil, nil, nil, 210, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + 209 ] racc_goto_check = [ - 20, 4, 23, 33, 60, 31, 32, 2, 46, 70, - 48, 43, 58, 20, 18, 32, 51, 28, 56, 20, - 33, 26, 33, 1, 67, 19, 54, 45, 42, 42, - 3, 53, 37, 37, 58, 38, 52, 55, 36, 28, - 23, 34, 59, 30, 61, 62, 52, 63, 64, 65, - 66, 20, 18, 29, 68, 69, 5, 71, 31, 26, - nil, nil, 32, nil, nil, 45, 3, 52, 49, 3, - nil, nil, 54, nil, nil, nil, nil, nil, nil, nil, - nil, 60, nil, nil, nil, nil, nil, 23, nil, 58, - nil, nil, 49, nil, nil, nil, nil, 56, nil, 19, - 22, nil, 49, 37, nil, nil, 26, nil, nil, nil, - nil, nil, 45, 58, 28, nil, nil, 23, nil, nil, - nil, 23, 23, 49, 67, nil, 3, 67, 20, nil, - nil, nil, 20, 18, 22, 22, 26, nil, 22, 70, - 26, nil, 45, nil, 23, nil, 45, 45, nil, nil, - 20, nil, nil, 33, 48, nil, 46, 2, 25, 43, - 51, 58, nil, 48, nil, nil, nil, 60, nil, 45, - nil, nil, nil, 32, nil, 58, nil, 20, nil, nil, - 33, 23, 23, 20, 2, 22, 33, nil, nil, nil, - 2, 23, nil, 32, nil, nil, 25, nil, nil, 23, - 26, 26, 20, nil, nil, 22, 45, 45, 31, nil, - 26, 4, nil, nil, nil, 22, 45, nil, nil, 22, - 22, nil, nil, 23, 45, nil, 49, 49, nil, 20, - nil, 4, 33, 49, 21, 23, nil, 4, nil, nil, - nil, nil, 22, 25, 20, 24, nil, 33, 45, 20, - nil, 2, 33, nil, 26, 20, nil, nil, 33, nil, - 45, nil, nil, nil, nil, 27, nil, nil, 21, 21, - 4, 23, 21, 25, nil, 27, nil, 25, 25, 22, - 22, nil, nil, 24, 22, 23, nil, nil, 20, 22, - nil, 33, nil, 4, nil, 4, 45, 22, nil, nil, - 25, 20, 20, 27, 33, 33, nil, nil, 2, 2, - 45, 20, nil, 20, 33, nil, 33, nil, nil, 21, - nil, 22, 49, nil, nil, nil, nil, nil, nil, nil, - 24, 49, 49, 22, nil, nil, nil, 25, 25, 21, - nil, nil, nil, nil, nil, nil, nil, 25, nil, 21, - 27, nil, nil, 21, 21, 25, nil, nil, nil, nil, - 24, nil, nil, nil, 24, 24, nil, nil, nil, 22, - nil, nil, nil, nil, nil, nil, 21, nil, nil, 25, - 27, nil, nil, 22, 27, 27, nil, 24, nil, nil, - nil, 25, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, 27, 27, nil, - nil, nil, nil, 21, 21, nil, nil, nil, 21, nil, - nil, nil, nil, 21, 24, 24, nil, 25, nil, 47, - nil, 21, nil, nil, 24, nil, nil, nil, nil, nil, - nil, 25, 24, nil, 27, 27, 47, 47, nil, nil, - nil, nil, nil, nil, 27, 21, nil, nil, nil, nil, - nil, nil, 27, nil, nil, nil, 24, 21, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 24, nil, - nil, nil, nil, nil, nil, nil, 27, 47, nil, nil, - 47, nil, nil, nil, nil, nil, nil, nil, 27, nil, - 47, nil, nil, 21, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 24, nil, nil, 21, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 24, nil, - nil, nil, nil, nil, 27, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 27, nil, - nil, nil, 47, 47, 47, 47, 47, 47, 47, 47, - 47, 47, 47, nil, 47, 47, 47 ] + 33, 4, 60, 20, 49, 31, 32, 2, 18, 58, + 70, 48, 43, 21, 67, 32, 20, 33, 28, 33, + 34, 46, 20, 56, 45, 19, 54, 26, 49, 52, + 3, 58, 37, 37, 42, 42, 1, 53, 49, 52, + 28, 51, 55, 38, 36, 59, 18, 21, 21, 30, + 61, 21, 62, 63, 20, 64, 65, 66, 31, 49, + 52, 29, 45, 32, 48, 26, 3, 68, 69, 3, + 5, 71, nil, 54, nil, nil, nil, nil, nil, nil, + 60, nil, nil, nil, nil, nil, nil, 58, nil, nil, + nil, nil, 32, nil, nil, nil, nil, nil, 21, nil, + 19, 34, nil, 56, 37, nil, nil, nil, nil, 45, + nil, 58, 26, nil, 67, 28, nil, 67, nil, 21, + nil, nil, nil, nil, nil, nil, 3, nil, 18, 21, + nil, nil, 20, 21, 21, nil, 20, nil, nil, nil, + 45, nil, 70, 26, 45, 45, nil, 26, nil, nil, + nil, 33, nil, nil, 20, nil, 21, 48, 2, 27, + 58, nil, 43, 49, 49, nil, nil, 45, 60, 27, + 49, 46, nil, nil, nil, 58, 32, nil, 33, nil, + nil, 20, nil, nil, 33, 2, nil, 20, nil, nil, + nil, 2, nil, nil, 21, 21, 32, 27, nil, 21, + nil, nil, nil, nil, 21, 45, 45, 20, 26, 26, + 31, nil, 21, 4, nil, 45, 48, nil, 26, nil, + nil, nil, nil, 45, nil, nil, nil, nil, nil, nil, + nil, 33, nil, 4, 20, nil, 21, nil, nil, 4, + nil, nil, nil, 24, 27, 25, 33, 45, 21, 20, + nil, 33, nil, 2, 20, nil, nil, 33, nil, 45, + 20, 49, 26, nil, nil, nil, nil, nil, nil, nil, + 49, 49, nil, 4, nil, 27, nil, nil, nil, 27, + 27, 24, nil, 25, nil, 21, nil, nil, nil, nil, + nil, 33, nil, nil, 20, nil, 45, 4, nil, 4, + 21, nil, 27, 27, nil, 33, 33, nil, 20, 20, + nil, 45, 2, 2, nil, 33, nil, 33, 20, nil, + 20, nil, nil, nil, nil, nil, nil, nil, 24, nil, + 25, nil, 23, nil, nil, nil, nil, nil, nil, nil, + 27, 27, nil, 22, nil, nil, nil, nil, nil, nil, + 27, nil, nil, nil, nil, nil, nil, nil, 27, 24, + nil, 25, nil, 24, 24, 25, 25, nil, nil, nil, + 23, nil, 47, nil, nil, nil, nil, 22, 22, nil, + nil, 22, 27, nil, nil, nil, 24, nil, 25, 47, + 47, nil, nil, nil, 27, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, 23, nil, nil, + nil, nil, nil, nil, 24, 24, 25, 25, 22, nil, + 47, 27, nil, 47, 24, nil, 25, nil, nil, nil, + nil, nil, 24, 47, 25, nil, 27, nil, 23, 22, + nil, nil, 23, 23, nil, nil, nil, nil, nil, 22, + nil, nil, nil, 22, 22, nil, 24, nil, 25, nil, + nil, nil, nil, nil, nil, 23, nil, nil, 24, nil, + 25, nil, nil, nil, nil, nil, 22, nil, nil, nil, + nil, nil, nil, nil, nil, nil, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, nil, 47, 47, + 47, nil, nil, 23, 23, 24, nil, 25, nil, nil, + nil, nil, nil, 23, 22, 22, nil, nil, nil, 22, + 24, 23, 25, nil, 22, nil, nil, nil, nil, nil, + nil, nil, 22, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 23, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, 22, 23, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 22, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 23, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 22, nil, nil, nil, 23, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + 22 ] racc_goto_pointer = [ - nil, 23, 7, 30, -18, 39, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 1, -103, - 0, 221, 87, -11, 232, 145, 8, 252, 13, -45, - -117, -40, -100, 3, 4, nil, 27, -15, -162, nil, - nil, nil, -164, -87, nil, 14, -90, 413, -27, 48, - nil, -21, -8, -242, -204, -118, -137, nil, -121, -91, - -129, -166, 22, -49, 12, 40, 11, 15, -103, -102, - -148, -44 ] + nil, 36, 7, 30, -18, 53, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, -5, -104, + 3, 0, 330, 319, 230, 232, 14, 146, 14, -37, + -112, -40, -100, 0, -17, nil, 33, -15, -156, nil, + nil, nil, -160, -86, nil, 11, -77, 356, -34, -16, + nil, -141, -15, -239, -206, -114, -133, nil, -125, -89, + -132, -162, 29, -43, 19, 47, 18, 5, -91, -90, + -148, -30 ] racc_goto_default = [ - nil, nil, nil, 124, 25, 29, 32, 2, 5, 8, + nil, nil, nil, 125, 25, 29, 32, 2, 5, 8, 10, 12, 14, 18, 21, 24, 28, 31, nil, 53, 76, 78, 79, 81, 83, 85, 86, 89, 30, nil, - nil, nil, nil, 59, nil, 17, nil, nil, 126, 197, - 119, 120, nil, nil, 166, 80, 82, nil, 117, 88, - 108, nil, nil, 185, nil, nil, nil, 236, 68, nil, + nil, nil, nil, 59, nil, 17, nil, nil, 127, 199, + 120, 121, nil, nil, 167, 80, 82, nil, 107, 88, + 108, 104, nil, 186, nil, nil, nil, 238, 68, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil ] @@ -1194,13 +1213,13 @@ module_eval <<'.,.,', 'grammar.ra', 193 end .,., -module_eval <<'.,.,', 'grammar.ra', 216 +module_eval <<'.,.,', 'grammar.ra', 217 def _reduce_41( val, _values, result ) if val[0] =~ /^[a-z]/ Puppet.warning addcontext("Collection names must now be capitalized") end type = val[0].downcase - args = {:type => type } + args = {:type => type} if val[1].is_a?(AST::CollExpr) args[:query] = val[1] @@ -1212,13 +1231,37 @@ module_eval <<'.,.,', 'grammar.ra', 216 if args[:form] == :exported and ! Puppet[:storeconfigs] and ! Puppet[:parseonly] Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored") end + args[:override] = val[3] result = ast AST::Collection, args result end .,., -module_eval <<'.,.,', 'grammar.ra', 226 +module_eval <<'.,.,', 'grammar.ra', 236 def _reduce_42( val, _values, result ) + if val[0] =~ /^[a-z]/ + Puppet.warning addcontext("Collection names must now be capitalized") + end + type = val[0].downcase + args = {:type => type } + + if val[1].is_a?(AST::CollExpr) + args[:query] = val[1] + args[:query].type = type + args[:form] = args[:query].form + else + args[:form] = val[1] + end + if args[:form] == :exported and ! Puppet[:storeconfigs] and ! Puppet[:parseonly] + Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored") + end + result = ast AST::Collection, args + result + end +.,., + +module_eval <<'.,.,', 'grammar.ra', 246 + def _reduce_43( val, _values, result ) if val[1] result = val[1] result.form = :virtual @@ -1229,8 +1272,8 @@ module_eval <<'.,.,', 'grammar.ra', 226 end .,., -module_eval <<'.,.,', 'grammar.ra', 234 - def _reduce_43( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 254 + def _reduce_44( val, _values, result ) if val[1] result = val[1] result.form = :exported @@ -1241,33 +1284,33 @@ module_eval <<'.,.,', 'grammar.ra', 234 end .,., - # reduce 44 omitted - # reduce 45 omitted -module_eval <<'.,.,', 'grammar.ra', 242 - def _reduce_46( val, _values, result ) + # reduce 46 omitted + +module_eval <<'.,.,', 'grammar.ra', 262 + def _reduce_47( val, _values, result ) result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2] result end .,., - # reduce 47 omitted + # reduce 48 omitted -module_eval <<'.,.,', 'grammar.ra', 248 - def _reduce_48( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 268 + def _reduce_49( val, _values, result ) result = val[1] result.parens = true result end .,., - # reduce 49 omitted - # reduce 50 omitted -module_eval <<'.,.,', 'grammar.ra', 256 - def _reduce_51( val, _values, result ) + # reduce 51 omitted + +module_eval <<'.,.,', 'grammar.ra', 276 + def _reduce_52( val, _values, result ) result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2] #result = ast AST::CollExpr #result.push *val @@ -1275,8 +1318,8 @@ module_eval <<'.,.,', 'grammar.ra', 256 end .,., -module_eval <<'.,.,', 'grammar.ra', 261 - def _reduce_52( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 281 + def _reduce_53( val, _values, result ) result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2] #result = ast AST::CollExpr #result.push *val @@ -1284,21 +1327,21 @@ module_eval <<'.,.,', 'grammar.ra', 261 end .,., - # reduce 53 omitted - # reduce 54 omitted -module_eval <<'.,.,', 'grammar.ra', 268 - def _reduce_55( val, _values, result ) + # reduce 55 omitted + +module_eval <<'.,.,', 'grammar.ra', 288 + def _reduce_56( val, _values, result ) result = ast AST::ResourceInstance, :children => [val[0],val[2]] result end .,., - # reduce 56 omitted + # reduce 57 omitted -module_eval <<'.,.,', 'grammar.ra', 278 - def _reduce_57( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 298 + def _reduce_58( val, _values, result ) if val[0].instance_of?(AST::ResourceInstance) result = ast AST::ASTArray, :children => [val[0],val[2]] else @@ -1309,33 +1352,31 @@ module_eval <<'.,.,', 'grammar.ra', 278 end .,., - # reduce 58 omitted - # reduce 59 omitted -module_eval <<'.,.,', 'grammar.ra', 285 - def _reduce_60( val, _values, result ) + # reduce 60 omitted + +module_eval <<'.,.,', 'grammar.ra', 305 + def _reduce_61( val, _values, result ) result = ast AST::Undef, :value => :undef result end .,., -module_eval <<'.,.,', 'grammar.ra', 289 - def _reduce_61( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 309 + def _reduce_62( val, _values, result ) result = ast AST::Name, :value => val[0] result end .,., -module_eval <<'.,.,', 'grammar.ra', 293 - def _reduce_62( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 313 + def _reduce_63( val, _values, result ) result = ast AST::Type, :value => val[0] result end .,., - # reduce 63 omitted - # reduce 64 omitted # reduce 65 omitted @@ -1346,8 +1387,10 @@ module_eval <<'.,.,', 'grammar.ra', 293 # reduce 68 omitted -module_eval <<'.,.,', 'grammar.ra', 309 - def _reduce_69( val, _values, result ) + # reduce 69 omitted + +module_eval <<'.,.,', 'grammar.ra', 329 + def _reduce_70( val, _values, result ) if val[0] =~ /::/ raise Puppet::ParseError, "Cannot assign to variables in other namespaces" end @@ -1358,30 +1401,30 @@ module_eval <<'.,.,', 'grammar.ra', 309 end .,., -module_eval <<'.,.,', 'grammar.ra', 314 - def _reduce_70( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 334 + def _reduce_71( val, _values, result ) variable = ast AST::Name, :value => val[0] result = ast AST::VarDef, :name => variable, :value => val[2], :append => true result end .,., -module_eval <<'.,.,', 'grammar.ra', 319 - def _reduce_71( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 339 + def _reduce_72( val, _values, result ) result = ast AST::ASTArray result end .,., -module_eval <<'.,.,', 'grammar.ra', 319 - def _reduce_72( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 339 + def _reduce_73( val, _values, result ) result = val[0] result end .,., -module_eval <<'.,.,', 'grammar.ra', 328 - def _reduce_73( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 348 + def _reduce_74( val, _values, result ) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) result = val[0] @@ -1392,41 +1435,41 @@ module_eval <<'.,.,', 'grammar.ra', 328 end .,., -module_eval <<'.,.,', 'grammar.ra', 332 - def _reduce_74( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 352 + def _reduce_75( val, _values, result ) result = ast AST::ResourceParam, :param => val[0], :value => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 337 - def _reduce_75( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 357 + def _reduce_76( val, _values, result ) result = ast AST::ResourceParam, :param => val[0], :value => val[2], :add => true result end .,., - # reduce 76 omitted - # reduce 77 omitted -module_eval <<'.,.,', 'grammar.ra', 345 - def _reduce_78( val, _values, result ) + # reduce 78 omitted + +module_eval <<'.,.,', 'grammar.ra', 365 + def _reduce_79( val, _values, result ) result = ast AST::ASTArray result end .,., -module_eval <<'.,.,', 'grammar.ra', 345 - def _reduce_79( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 365 + def _reduce_80( val, _values, result ) result = val[0] result end .,., -module_eval <<'.,.,', 'grammar.ra', 354 - def _reduce_80( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 374 + def _reduce_81( val, _values, result ) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) result = val[0] @@ -1437,10 +1480,10 @@ module_eval <<'.,.,', 'grammar.ra', 354 end .,., - # reduce 81 omitted + # reduce 82 omitted -module_eval <<'.,.,', 'grammar.ra', 363 - def _reduce_82( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 383 + def _reduce_83( val, _values, result ) if val[0].instance_of?(AST::ASTArray) result = val[0].push(val[2]) else @@ -1450,8 +1493,6 @@ module_eval <<'.,.,', 'grammar.ra', 363 end .,., - # reduce 83 omitted - # reduce 84 omitted # reduce 85 omitted @@ -1482,8 +1523,10 @@ module_eval <<'.,.,', 'grammar.ra', 363 # reduce 98 omitted -module_eval <<'.,.,', 'grammar.ra', 390 - def _reduce_99( val, _values, result ) + # reduce 99 omitted + +module_eval <<'.,.,', 'grammar.ra', 410 + def _reduce_100( val, _values, result ) args = aryfy(val[2]) result = ast AST::Function, :name => val[0], @@ -1493,8 +1536,8 @@ module_eval <<'.,.,', 'grammar.ra', 390 end .,., -module_eval <<'.,.,', 'grammar.ra', 395 - def _reduce_100( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 415 + def _reduce_101( val, _values, result ) result = ast AST::Function, :name => val[0], :arguments => AST::ASTArray.new({}), @@ -1503,44 +1546,44 @@ module_eval <<'.,.,', 'grammar.ra', 395 end .,., -module_eval <<'.,.,', 'grammar.ra', 399 - def _reduce_101( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 419 + def _reduce_102( val, _values, result ) result = ast AST::String, :value => val[0] result end .,., -module_eval <<'.,.,', 'grammar.ra', 401 - def _reduce_102( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 421 + def _reduce_103( val, _values, result ) result = ast AST::FlatString, :value => val[0] result end .,., -module_eval <<'.,.,', 'grammar.ra', 405 - def _reduce_103( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 425 + def _reduce_104( val, _values, result ) result = ast AST::Boolean, :value => val[0] result end .,., -module_eval <<'.,.,', 'grammar.ra', 410 - def _reduce_104( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 430 + def _reduce_105( val, _values, result ) Puppet.warning addcontext("Deprecation notice: Resource references should now be capitalized") result = ast AST::ResourceReference, :type => val[0], :title => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 412 - def _reduce_105( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 432 + def _reduce_106( val, _values, result ) result = ast AST::ResourceReference, :type => val[0], :title => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 426 - def _reduce_106( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 446 + def _reduce_107( val, _values, result ) @lexer.commentpop args = { :test => val[1], @@ -1556,8 +1599,8 @@ module_eval <<'.,.,', 'grammar.ra', 426 end .,., -module_eval <<'.,.,', 'grammar.ra', 439 - def _reduce_107( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 459 + def _reduce_108( val, _values, result ) @lexer.commentpop args = { :test => val[1], @@ -1573,147 +1616,147 @@ module_eval <<'.,.,', 'grammar.ra', 439 end .,., - # reduce 108 omitted + # reduce 109 omitted -module_eval <<'.,.,', 'grammar.ra', 445 - def _reduce_109( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 465 + def _reduce_110( val, _values, result ) @lexer.commentpop result = ast AST::Else, :statements => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 449 - def _reduce_110( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 469 + def _reduce_111( val, _values, result ) @lexer.commentpop result = ast AST::Else, :statements => ast(AST::Nop) result end .,., - # reduce 111 omitted - -module_eval <<'.,.,', 'grammar.ra', 466 - def _reduce_112( val, _values, result ) - result = ast AST::ArithmeticOperator, :operator => val[1], :lval => val[0], :rval => val[2] - result - end -.,., + # reduce 112 omitted -module_eval <<'.,.,', 'grammar.ra', 469 +module_eval <<'.,.,', 'grammar.ra', 486 def _reduce_113( val, _values, result ) result = ast AST::ArithmeticOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 472 +module_eval <<'.,.,', 'grammar.ra', 489 def _reduce_114( val, _values, result ) result = ast AST::ArithmeticOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 475 +module_eval <<'.,.,', 'grammar.ra', 492 def _reduce_115( val, _values, result ) result = ast AST::ArithmeticOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 478 +module_eval <<'.,.,', 'grammar.ra', 495 def _reduce_116( val, _values, result ) result = ast AST::ArithmeticOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 481 +module_eval <<'.,.,', 'grammar.ra', 498 def _reduce_117( val, _values, result ) result = ast AST::ArithmeticOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 484 +module_eval <<'.,.,', 'grammar.ra', 501 def _reduce_118( val, _values, result ) - result = ast AST::Minus, :value => val[1] + result = ast AST::ArithmeticOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 487 +module_eval <<'.,.,', 'grammar.ra', 504 def _reduce_119( val, _values, result ) - result = ast AST::ComparisonOperator, :operator => val[1], :lval => val[0], :rval => val[2] + result = ast AST::Minus, :value => val[1] result end .,., -module_eval <<'.,.,', 'grammar.ra', 490 +module_eval <<'.,.,', 'grammar.ra', 507 def _reduce_120( val, _values, result ) result = ast AST::ComparisonOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 493 +module_eval <<'.,.,', 'grammar.ra', 510 def _reduce_121( val, _values, result ) result = ast AST::ComparisonOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 496 +module_eval <<'.,.,', 'grammar.ra', 513 def _reduce_122( val, _values, result ) result = ast AST::ComparisonOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 499 +module_eval <<'.,.,', 'grammar.ra', 516 def _reduce_123( val, _values, result ) result = ast AST::ComparisonOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 502 +module_eval <<'.,.,', 'grammar.ra', 519 def _reduce_124( val, _values, result ) result = ast AST::ComparisonOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 505 +module_eval <<'.,.,', 'grammar.ra', 522 def _reduce_125( val, _values, result ) - result = ast AST::Not, :value => val[1] + result = ast AST::ComparisonOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 508 +module_eval <<'.,.,', 'grammar.ra', 525 def _reduce_126( val, _values, result ) - result = ast AST::BooleanOperator, :operator => val[1], :lval => val[0], :rval => val[2] + result = ast AST::Not, :value => val[1] result end .,., -module_eval <<'.,.,', 'grammar.ra', 511 +module_eval <<'.,.,', 'grammar.ra', 528 def _reduce_127( val, _values, result ) result = ast AST::BooleanOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 514 +module_eval <<'.,.,', 'grammar.ra', 531 def _reduce_128( val, _values, result ) - result = val[1] + result = ast AST::BooleanOperator, :operator => val[1], :lval => val[0], :rval => val[2] result end .,., -module_eval <<'.,.,', 'grammar.ra', 523 +module_eval <<'.,.,', 'grammar.ra', 534 def _reduce_129( val, _values, result ) + result = val[1] + result + end +.,., + +module_eval <<'.,.,', 'grammar.ra', 543 + def _reduce_130( val, _values, result ) @lexer.commentpop options = val[3] unless options.instance_of?(AST::ASTArray) @@ -1724,10 +1767,10 @@ module_eval <<'.,.,', 'grammar.ra', 523 end .,., - # reduce 130 omitted + # reduce 131 omitted -module_eval <<'.,.,', 'grammar.ra', 533 - def _reduce_131( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 553 + def _reduce_132( val, _values, result ) if val[0].instance_of?(AST::ASTArray) val[0].push val[1] result = val[0] @@ -1738,16 +1781,16 @@ module_eval <<'.,.,', 'grammar.ra', 533 end .,., -module_eval <<'.,.,', 'grammar.ra', 538 - def _reduce_132( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 558 + def _reduce_133( val, _values, result ) @lexer.commentpop result = ast AST::CaseOpt, :value => val[0], :statements => val[3] result end .,., -module_eval <<'.,.,', 'grammar.ra', 544 - def _reduce_133( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 564 + def _reduce_134( val, _values, result ) @lexer.commentpop result = ast(AST::CaseOpt, :value => val[0], @@ -1757,10 +1800,10 @@ module_eval <<'.,.,', 'grammar.ra', 544 end .,., - # reduce 134 omitted + # reduce 135 omitted -module_eval <<'.,.,', 'grammar.ra', 554 - def _reduce_135( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 574 + def _reduce_136( val, _values, result ) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) result = val[0] @@ -1771,27 +1814,27 @@ module_eval <<'.,.,', 'grammar.ra', 554 end .,., -module_eval <<'.,.,', 'grammar.ra', 558 - def _reduce_136( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 578 + def _reduce_137( val, _values, result ) result = ast AST::Selector, :param => val[0], :values => val[2] result end .,., - # reduce 137 omitted + # reduce 138 omitted -module_eval <<'.,.,', 'grammar.ra', 564 - def _reduce_138( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 584 + def _reduce_139( val, _values, result ) @lexer.commentpop result = val[1] result end .,., - # reduce 139 omitted + # reduce 140 omitted -module_eval <<'.,.,', 'grammar.ra', 574 - def _reduce_140( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 594 + def _reduce_141( val, _values, result ) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) result = val[0] @@ -1802,15 +1845,13 @@ module_eval <<'.,.,', 'grammar.ra', 574 end .,., -module_eval <<'.,.,', 'grammar.ra', 578 - def _reduce_141( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 598 + def _reduce_142( val, _values, result ) result = ast AST::ResourceParam, :param => val[0], :value => val[2] result end .,., - # reduce 142 omitted - # reduce 143 omitted # reduce 144 omitted @@ -1823,29 +1864,31 @@ module_eval <<'.,.,', 'grammar.ra', 578 # reduce 148 omitted -module_eval <<'.,.,', 'grammar.ra', 589 - def _reduce_149( val, _values, result ) + # reduce 149 omitted + +module_eval <<'.,.,', 'grammar.ra', 609 + def _reduce_150( val, _values, result ) result = ast AST::Default, :value => val[0] result end .,., -module_eval <<'.,.,', 'grammar.ra', 591 - def _reduce_150( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 611 + def _reduce_151( val, _values, result ) result = [val[0].value] result end .,., -module_eval <<'.,.,', 'grammar.ra', 595 - def _reduce_151( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 615 + def _reduce_152( val, _values, result ) results = val[0] << val[2].value result end .,., -module_eval <<'.,.,', 'grammar.ra', 603 - def _reduce_152( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 623 + def _reduce_153( val, _values, result ) val[1].each do |file| import(file) end @@ -1855,8 +1898,8 @@ module_eval <<'.,.,', 'grammar.ra', 603 end .,., -module_eval <<'.,.,', 'grammar.ra', 614 - def _reduce_153( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 634 + def _reduce_154( val, _values, result ) @lexer.commentpop newdefine classname(val[1]), :arguments => val[2], :code => val[4] @lexer.indefine = false @@ -1867,8 +1910,8 @@ module_eval <<'.,.,', 'grammar.ra', 614 end .,., -module_eval <<'.,.,', 'grammar.ra', 619 - def _reduce_154( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 639 + def _reduce_155( val, _values, result ) @lexer.commentpop newdefine classname(val[1]), :arguments => val[2] @lexer.indefine = false @@ -1877,8 +1920,8 @@ module_eval <<'.,.,', 'grammar.ra', 619 end .,., -module_eval <<'.,.,', 'grammar.ra', 628 - def _reduce_155( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 648 + def _reduce_156( val, _values, result ) @lexer.commentpop # Our class gets defined in the parent namespace, not our own. @lexer.namepop @@ -1888,8 +1931,8 @@ module_eval <<'.,.,', 'grammar.ra', 628 end .,., -module_eval <<'.,.,', 'grammar.ra', 634 - def _reduce_156( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 654 + def _reduce_157( val, _values, result ) @lexer.commentpop # Our class gets defined in the parent namespace, not our own. @lexer.namepop @@ -1899,8 +1942,8 @@ module_eval <<'.,.,', 'grammar.ra', 634 end .,., -module_eval <<'.,.,', 'grammar.ra', 640 - def _reduce_157( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 660 + def _reduce_158( val, _values, result ) @lexer.commentpop newnode val[1], :parent => val[2], :code => val[4] result = nil @@ -1908,8 +1951,8 @@ module_eval <<'.,.,', 'grammar.ra', 640 end .,., -module_eval <<'.,.,', 'grammar.ra', 644 - def _reduce_158( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 664 + def _reduce_159( val, _values, result ) @lexer.commentpop newnode val[1], :parent => val[2] result = nil @@ -1917,16 +1960,16 @@ module_eval <<'.,.,', 'grammar.ra', 644 end .,., - # reduce 159 omitted - # reduce 160 omitted # reduce 161 omitted # reduce 162 omitted -module_eval <<'.,.,', 'grammar.ra', 658 - def _reduce_163( val, _values, result ) + # reduce 163 omitted + +module_eval <<'.,.,', 'grammar.ra', 678 + def _reduce_164( val, _values, result ) result = val[0] result = [result] unless result.is_a?(Array) result << val[2] @@ -1934,49 +1977,49 @@ module_eval <<'.,.,', 'grammar.ra', 658 end .,., - # reduce 164 omitted - # reduce 165 omitted # reduce 166 omitted # reduce 167 omitted -module_eval <<'.,.,', 'grammar.ra', 667 - def _reduce_168( val, _values, result ) + # reduce 168 omitted + +module_eval <<'.,.,', 'grammar.ra', 687 + def _reduce_169( val, _values, result ) result = nil result end .,., -module_eval <<'.,.,', 'grammar.ra', 671 - def _reduce_169( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 691 + def _reduce_170( val, _values, result ) result = ast AST::ASTArray, :children => [] result end .,., - # reduce 170 omitted + # reduce 171 omitted -module_eval <<'.,.,', 'grammar.ra', 676 - def _reduce_171( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 696 + def _reduce_172( val, _values, result ) result = nil result end .,., -module_eval <<'.,.,', 'grammar.ra', 680 - def _reduce_172( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 700 + def _reduce_173( val, _values, result ) result = val[1] result = [result] unless result[0].is_a?(Array) result end .,., - # reduce 173 omitted + # reduce 174 omitted -module_eval <<'.,.,', 'grammar.ra', 687 - def _reduce_174( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 707 + def _reduce_175( val, _values, result ) result = val[0] result = [result] unless result[0].is_a?(Array) result << val[2] @@ -1984,67 +2027,67 @@ module_eval <<'.,.,', 'grammar.ra', 687 end .,., -module_eval <<'.,.,', 'grammar.ra', 692 - def _reduce_175( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 712 + def _reduce_176( val, _values, result ) Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype") result = [val[0], val[2]] result end .,., -module_eval <<'.,.,', 'grammar.ra', 696 - def _reduce_176( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 716 + def _reduce_177( val, _values, result ) Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype") result = [val[0]] result end .,., -module_eval <<'.,.,', 'grammar.ra', 698 - def _reduce_177( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 718 + def _reduce_178( val, _values, result ) result = [val[0], val[2]] result end .,., -module_eval <<'.,.,', 'grammar.ra', 700 - def _reduce_178( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 720 + def _reduce_179( val, _values, result ) result = [val[0]] result end .,., - # reduce 179 omitted + # reduce 180 omitted -module_eval <<'.,.,', 'grammar.ra', 705 - def _reduce_180( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 725 + def _reduce_181( val, _values, result ) result = val[1] result end .,., - # reduce 181 omitted + # reduce 182 omitted -module_eval <<'.,.,', 'grammar.ra', 710 - def _reduce_182( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 730 + def _reduce_183( val, _values, result ) result = val[1] result end .,., - # reduce 183 omitted - # reduce 184 omitted -module_eval <<'.,.,', 'grammar.ra', 716 - def _reduce_185( val, _values, result ) + # reduce 185 omitted + +module_eval <<'.,.,', 'grammar.ra', 736 + def _reduce_186( val, _values, result ) result = ast AST::Variable, :value => val[0] result end .,., -module_eval <<'.,.,', 'grammar.ra', 724 - def _reduce_186( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 744 + def _reduce_187( val, _values, result ) if val[1].instance_of?(AST::ASTArray) result = val[1] else @@ -2054,8 +2097,8 @@ module_eval <<'.,.,', 'grammar.ra', 724 end .,., -module_eval <<'.,.,', 'grammar.ra', 731 - def _reduce_187( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 751 + def _reduce_188( val, _values, result ) if val[1].instance_of?(AST::ASTArray) result = val[1] else @@ -2065,21 +2108,21 @@ module_eval <<'.,.,', 'grammar.ra', 731 end .,., -module_eval <<'.,.,', 'grammar.ra', 733 - def _reduce_188( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 753 + def _reduce_189( val, _values, result ) result = ast AST::ASTArray result end .,., - # reduce 189 omitted - # reduce 190 omitted # reduce 191 omitted -module_eval <<'.,.,', 'grammar.ra', 738 - def _reduce_192( val, _values, result ) + # reduce 192 omitted + +module_eval <<'.,.,', 'grammar.ra', 758 + def _reduce_193( val, _values, result ) result = nil result end |
