diff options
author | Brice Figureau <brice-puppet@daysofwonder.com> | 2009-07-28 19:37:11 +0200 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2009-08-01 11:15:29 +1000 |
commit | b45ccf8d38a10d3f5226cbabe494240901e4e383 (patch) | |
tree | 9e5e8bbbd88ce7f66dc5a42c6aa7c2c6c57e7b4e /lib | |
parent | 58a73b5c68485dc5d41a46936c31e5fad5f037b5 (diff) | |
download | puppet-b45ccf8d38a10d3f5226cbabe494240901e4e383.tar.gz puppet-b45ccf8d38a10d3f5226cbabe494240901e4e383.tar.xz puppet-b45ccf8d38a10d3f5226cbabe494240901e4e383.zip |
Implement node matching with regexes
This patch enhance AST::HostName to support regexes, and modifies
the parser to allow regex to be used as node name.
Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>]
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/parser/ast/definition.rb | 6 | ||||
-rw-r--r-- | lib/puppet/parser/ast/leaf.rb | 29 | ||||
-rw-r--r-- | lib/puppet/parser/ast/node.rb | 9 | ||||
-rw-r--r-- | lib/puppet/parser/grammar.ra | 1 | ||||
-rw-r--r-- | lib/puppet/parser/loaded_code.rb | 10 | ||||
-rw-r--r-- | lib/puppet/parser/parser.rb | 1121 |
6 files changed, 604 insertions, 572 deletions
diff --git a/lib/puppet/parser/ast/definition.rb b/lib/puppet/parser/ast/definition.rb index 092afef46..00b0416a0 100644 --- a/lib/puppet/parser/ast/definition.rb +++ b/lib/puppet/parser/ast/definition.rb @@ -24,9 +24,13 @@ class Puppet::Parser::AST::Definition < Puppet::Parser::AST::Branch false end + def get_classname(scope) + self.classname + end + # Create a resource that knows how to evaluate our actual code. def evaluate(scope) - resource = Puppet::Parser::Resource.new(:type => self.class.name, :title => self.classname, :scope => scope, :source => scope.source) + resource = Puppet::Parser::Resource.new(:type => self.class.name, :title => get_classname(scope), :scope => scope, :source => scope.source) scope.catalog.tag(*resource.tags) diff --git a/lib/puppet/parser/ast/leaf.rb b/lib/puppet/parser/ast/leaf.rb index 59bfc9e9d..1c1eae972 100644 --- a/lib/puppet/parser/ast/leaf.rb +++ b/lib/puppet/parser/ast/leaf.rb @@ -19,6 +19,10 @@ class Puppet::Parser::AST obj == value end + def match(value) + @value == value + end + def to_s return @value.to_s unless @value.nil? end @@ -85,12 +89,12 @@ class Puppet::Parser::AST # undef values; equiv to nil class Undef < AST::Leaf; end - # Host names, either fully qualified or just the short name + # Host names, either fully qualified or just the short name, or even a regex class HostName < AST::Leaf def initialize(hash) super - @value = @value.to_s.downcase + @value = @value.to_s.downcase unless @value.is_a?(Regex) if @value =~ /[^-\w.]/ raise Puppet::DevError, "'%s' is not a valid hostname" % @value @@ -98,7 +102,9 @@ class Puppet::Parser::AST end def to_classname - return @value + classname = @value.to_s.downcase + classname.gsub!(/[^-a-zA-Z0-9:.]/,'') if regex? + classname end # implementing eql? and hash so that when an HostName is stored @@ -111,6 +117,19 @@ class Puppet::Parser::AST def hash return @value.hash end + + def match(value) + value = value.value if value.is_a?(HostName) + return @value.match(value) + end + + def regex? + @value.is_a?(Regex) + end + + def to_s + @value.to_s + end end # A simple variable. This object is only used during interpolation; @@ -153,6 +172,10 @@ class Puppet::Parser::AST matched end + def match(value) + @value.match(value) + end + def to_s return "/#{@value.source}/" end diff --git a/lib/puppet/parser/ast/node.rb b/lib/puppet/parser/ast/node.rb index b2d404487..4f75201eb 100644 --- a/lib/puppet/parser/ast/node.rb +++ b/lib/puppet/parser/ast/node.rb @@ -17,6 +17,15 @@ class Puppet::Parser::AST::Node < Puppet::Parser::AST::HostClass "" end + # in Regex mode, our classname can't be our Regex. + # so we use the currently connected client as our + # classname, mimicing exactly what would have happened + # if there was a specific node definition for this node. + def get_classname(scope) + return scope.host if name.regex? + classname + end + # Make sure node scopes are marked as such. def subscope(*args) scope = super diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra index ed55d2150..4c7421145 100644 --- a/lib/puppet/parser/grammar.ra +++ b/lib/puppet/parser/grammar.ra @@ -699,6 +699,7 @@ hostname: NAME { result = val[0][:value] } | SQTEXT { result = val[0][:value] } | DQTEXT { result = val[0][:value] } | DEFAULT { result = val[0][:value] } + | regex nil: { result = nil diff --git a/lib/puppet/parser/loaded_code.rb b/lib/puppet/parser/loaded_code.rb index 9200c3256..111e8ea1b 100644 --- a/lib/puppet/parser/loaded_code.rb +++ b/lib/puppet/parser/loaded_code.rb @@ -18,7 +18,15 @@ class Puppet::Parser::LoadedCode end def node(name) - @nodes[check_name(name)] + name = check_name(name) + unless node = @nodes[name] + @nodes.each do |nodename, n| + if nodename.regex? and nodename.match(name) + return n + end + end + end + node end def nodes? diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb index dbe0be4b6..376b818ff 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..id9c55934a79', 'grammar.ra', 801 +module_eval <<'..end grammar.ra modeval..ide7bdbd4a34', 'grammar.ra', 802 # 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..id9c55934a79 +..end grammar.ra modeval..ide7bdbd4a34 ##### racc 1.4.5 generates ### @@ -219,565 +219,550 @@ racc_reduce_table = [ 1, 131, :_reduce_170, 1, 131, :_reduce_171, 1, 131, :_reduce_172, - 0, 65, :_reduce_173, - 0, 132, :_reduce_174, + 1, 131, :_reduce_none, + 0, 65, :_reduce_174, + 0, 132, :_reduce_175, 1, 126, :_reduce_none, - 3, 126, :_reduce_176, 3, 126, :_reduce_177, + 3, 126, :_reduce_178, 1, 133, :_reduce_none, - 3, 133, :_reduce_179, - 3, 134, :_reduce_180, - 1, 134, :_reduce_181, - 3, 134, :_reduce_182, - 1, 134, :_reduce_183, + 3, 133, :_reduce_180, + 3, 134, :_reduce_181, + 1, 134, :_reduce_182, + 3, 134, :_reduce_183, + 1, 134, :_reduce_184, 1, 129, :_reduce_none, - 2, 129, :_reduce_185, + 2, 129, :_reduce_186, 1, 127, :_reduce_none, - 2, 127, :_reduce_187, + 2, 127, :_reduce_188, 1, 135, :_reduce_none, 1, 135, :_reduce_none, - 1, 84, :_reduce_190, - 3, 108, :_reduce_191, - 4, 108, :_reduce_192, - 2, 108, :_reduce_193, + 1, 84, :_reduce_191, + 3, 108, :_reduce_192, + 4, 108, :_reduce_193, + 2, 108, :_reduce_194, 1, 115, :_reduce_none, 1, 115, :_reduce_none, 0, 94, :_reduce_none, - 1, 94, :_reduce_197, - 1, 117, :_reduce_198 ] + 1, 94, :_reduce_198, + 1, 117, :_reduce_199 ] -racc_reduce_n = 199 +racc_reduce_n = 200 -racc_shift_n = 328 +racc_shift_n = 329 racc_action_table = [ - 76, 54, 57, 286, 186, 38, 39, 284, 89, 246, - 52, 186, 90, 159, 143, 283, 98, 125, 151, 155, - 72, 76, 54, 57, 137, 91, 38, 39, 244, 245, - 137, 46, 38, 39, 260, 56, 59, 244, 245, 67, - 40, 72, 122, 42, 53, 77, 193, 164, 62, 92, - -151, 83, 46, 76, 54, 57, 56, 59, 46, 61, - 67, 40, 164, 169, 42, 53, 77, 40, 206, 62, - 42, 164, 83, 46, 76, 54, 57, -148, 169, 164, - 61, 205, 46, 136, 46, 300, 36, 169, 56, 200, - 46, 248, 67, 4, 72, 169, 276, 110, 299, 247, - 263, 62, 151, 155, 36, 46, 76, 54, 57, 56, - 59, 4, 61, 67, 36, 252, 36, 182, 53, 77, - 256, 4, 62, 4, 8, 83, 162, 76, 54, 57, - 159, 143, 162, 61, 249, 151, 155, 46, 244, 245, - -145, 56, 59, -147, 216, 67, 269, 72, 209, 217, - 53, 207, 252, 129, 62, 209, 210, 256, 46, 52, - 54, 57, 56, 59, 240, 61, 67, 271, 209, 210, - 137, 53, 77, 209, 310, 62, 54, 57, 83, 49, - 76, 54, 57, 54, 57, -149, 61, 33, 34, -150, - 46, 151, 155, -146, 56, 59, 176, 277, 67, 257, - 72, 177, 50, 53, 90, 129, -148, 62, 89, -145, - 61, 46, 76, 54, 57, 56, 59, 136, 61, 67, - -163, 183, 279, -147, 53, 77, -148, 175, 62, 188, - 131, 83, -147, 76, 54, 57, 285, 185, 186, 61, - 129, 189, 195, 46, 297, 298, 195, 56, 59, 301, - 104, 67, -146, 72, 188, 188, 53, -146, 61, 311, - 62, 279, 313, -150, 46, 76, 54, 57, 56, 59, - -147, 61, 67, -145, -148, -146, -150, 53, 77, 315, - 96, 62, -149, 160, 83, 45, 76, 54, 57, 191, - 321, -197, 61, 37, 162, 174, 46, -145, nil, nil, - 56, 59, nil, nil, 67, nil, nil, nil, nil, 53, - nil, nil, nil, 62, nil, nil, nil, 46, 76, 54, - 57, 56, 59, nil, 61, 67, nil, nil, nil, nil, - 53, nil, nil, nil, 62, nil, nil, nil, 72, 76, - 54, 57, nil, nil, nil, 61, nil, nil, nil, 46, - nil, nil, nil, 56, 59, nil, nil, 67, nil, nil, - nil, nil, 53, 77, nil, nil, 62, nil, nil, 83, - 46, 76, 54, 57, 56, 59, nil, 61, 67, nil, - nil, nil, nil, 53, nil, nil, nil, 62, nil, nil, - nil, 72, 76, 54, 57, nil, nil, nil, 61, nil, - nil, nil, 46, nil, nil, nil, 56, 59, nil, nil, - 67, nil, 72, nil, nil, 53, 77, nil, nil, 62, - nil, nil, 83, 46, 76, 54, 57, 56, 59, nil, - 61, 67, nil, nil, nil, nil, 53, 77, nil, nil, - 62, nil, nil, 83, 72, 76, 54, 57, nil, nil, - nil, 61, nil, nil, nil, 46, nil, nil, nil, 56, - 59, nil, nil, 67, nil, 72, nil, nil, 53, 77, - nil, nil, 62, nil, nil, 83, 46, 76, 54, 57, - 56, 59, nil, 61, 67, nil, nil, nil, nil, 53, - 77, nil, nil, 62, nil, nil, 83, 72, 76, 54, - 57, nil, nil, nil, 61, nil, nil, nil, 46, nil, - nil, nil, 56, 59, nil, nil, 67, 76, 54, 57, - 140, 53, 77, nil, nil, 62, nil, nil, 83, 46, - nil, nil, nil, 56, 112, nil, 61, 67, 76, 54, - 57, nil, 110, nil, nil, nil, 62, nil, 46, 54, - 57, nil, 56, 59, nil, nil, 67, 61, nil, nil, - nil, 53, nil, nil, nil, 62, nil, nil, nil, 46, - 76, 54, 57, 56, 59, nil, 61, 67, nil, 46, - nil, nil, 53, 56, 200, nil, 62, 67, 76, 54, - 57, nil, 110, nil, nil, nil, 62, 61, nil, nil, - nil, 46, nil, nil, nil, 56, 59, 61, 72, 67, - 76, 54, 57, nil, 53, nil, nil, nil, 62, 46, - nil, nil, nil, 56, 59, nil, nil, 67, nil, 61, - 72, nil, 53, 77, nil, nil, 62, nil, nil, 83, - nil, 46, 76, 54, 57, 56, 59, 61, nil, 67, - nil, nil, nil, nil, 53, 77, nil, nil, 62, nil, - nil, 83, nil, 76, 54, 57, nil, nil, nil, 61, - nil, nil, nil, 46, nil, nil, nil, 56, 59, nil, - nil, 67, nil, 72, nil, nil, 53, nil, nil, nil, - 62, nil, nil, nil, 46, 76, 54, 57, 56, 59, - nil, 61, 67, nil, nil, nil, nil, 53, 77, nil, - nil, 62, nil, nil, 83, 72, 76, 54, 57, nil, - nil, nil, 61, nil, nil, nil, 46, nil, nil, nil, - 56, 59, nil, nil, 67, nil, 72, nil, nil, 53, - 77, nil, nil, 62, nil, nil, 83, 46, 76, 54, - 57, 56, 59, nil, 61, 67, nil, nil, nil, nil, - 53, 77, nil, nil, 62, nil, nil, 83, 72, 76, - 54, 57, nil, nil, nil, 61, nil, nil, nil, 46, - nil, nil, nil, 56, 59, nil, nil, 67, nil, 72, - nil, nil, 53, 77, nil, nil, 62, nil, nil, 83, - 46, 76, 54, 57, 56, 59, nil, 61, 67, nil, - nil, nil, nil, 53, 77, nil, nil, 62, nil, nil, - 83, nil, 76, 54, 57, nil, nil, nil, 61, nil, - nil, nil, 46, nil, nil, nil, 56, 59, nil, nil, - 67, nil, 72, nil, nil, 53, nil, nil, nil, 62, - nil, nil, nil, 46, 54, 57, nil, 56, 59, nil, - 61, 67, nil, nil, nil, nil, 53, 77, 54, 57, - 62, nil, nil, 83, 274, 54, 57, nil, nil, nil, - nil, 61, nil, nil, 46, nil, nil, nil, 56, 59, - nil, nil, 67, 54, 57, 132, 50, 53, 46, nil, - nil, 62, 56, 200, nil, 46, 67, 54, 57, 56, - 59, 110, 61, 67, nil, 62, nil, 50, 53, nil, - nil, nil, 62, 46, nil, nil, 61, 56, 200, 54, - 57, 67, nil, 61, nil, nil, 110, 46, nil, nil, - 62, 56, 200, 54, 57, 67, nil, nil, nil, nil, - 110, 61, nil, nil, 62, nil, nil, nil, nil, 46, - nil, nil, nil, 56, 200, 61, nil, 67, 54, 57, - 54, 57, 110, 46, nil, nil, 62, 56, 200, nil, - nil, 67, nil, nil, nil, nil, 110, 61, 213, nil, - 62, nil, nil, nil, nil, 54, 57, nil, 46, 281, - 46, 61, 56, 59, 56, 59, 67, nil, 67, nil, - 50, 53, 50, 53, nil, 62, nil, 62, nil, nil, - 54, 57, nil, 202, nil, 46, 61, nil, 61, 56, - 200, nil, nil, 67, nil, nil, nil, nil, 110, nil, - nil, nil, 62, nil, nil, nil, nil, nil, nil, nil, - 46, 156, nil, 61, 56, 200, nil, nil, 67, nil, - 149, 154, nil, 110, nil, nil, nil, 62, nil, 145, - 147, 150, 153, 149, 154, nil, nil, nil, 61, nil, - nil, 215, 145, 147, 150, 153, nil, nil, 157, 158, - 159, 143, nil, 148, 152, 151, 155, 157, 158, 159, - 143, 144, 146, nil, 151, 155, 148, 152, nil, nil, - 157, 158, 159, 143, 144, 146, nil, 151, 155, 149, - 154, nil, nil, nil, nil, nil, nil, nil, 145, 147, - 150, 153, 149, 154, nil, nil, nil, nil, nil, nil, - nil, 145, 147, 150, 153, nil, nil, 157, 158, 159, - 143, nil, 148, 152, 151, 155, 157, 158, 159, 143, - 144, 146, nil, 151, 155, nil, nil, nil, nil, 157, - 158, 159, 143, 144, 146, nil, 151, 155, 149, 154, - nil, nil, nil, nil, nil, nil, nil, 145, 147, 150, - 153, 149, 154, nil, nil, nil, nil, nil, nil, nil, - 145, 147, 150, 153, nil, 154, nil, nil, nil, nil, - nil, nil, 152, 145, nil, 157, 158, 159, 143, 144, - 146, nil, 151, 155, 148, 152, 154, nil, 157, 158, - 159, 143, 144, 146, 145, 151, 155, nil, nil, 154, - nil, 157, 158, 159, 143, 144, 146, 145, 151, 155, - 154, nil, 157, 158, 159, 143, 144, 146, 145, 151, - 155, nil, 157, 158, 159, 143, 144, 146, nil, 151, - 155, nil, nil, nil, 319, 157, 158, 159, 143, 144, - 146, nil, 151, 155, nil, nil, 157, 158, 159, 143, - 144, 146, nil, 151, 155, 18, 266, 23, 26, nil, + 77, 56, 59, 56, 59, 54, 285, 187, 165, 126, + 158, 159, 160, 144, 284, 56, 59, 152, 156, 48, + 73, 77, 56, 59, 170, 138, 90, 77, 56, 59, + 91, 48, 249, 48, 123, 58, 61, 58, 201, 68, + 248, 68, 312, 92, 55, 78, 111, 73, 63, 194, + 63, 84, 48, 77, 56, 59, 58, 61, 48, 41, + 68, 41, 58, 61, 187, 55, 68, 93, 261, 63, + 247, 55, 78, 38, 39, 63, -146, 138, 84, -151, + 41, 287, 38, 39, 48, 253, 41, 301, 58, 201, + 257, 264, 68, 77, 56, 59, 137, 111, 245, 246, + 300, 63, 165, 77, 56, 59, 245, 246, 40, 277, + 253, 44, 41, 48, 36, 257, 163, 40, 170, 165, + 44, 4, 8, 73, 48, 54, 56, 59, 58, 61, + 48, 41, 68, 165, 48, 170, 36, 55, 58, 61, + 41, 63, 68, 4, 48, 51, 36, 55, 78, 170, + 207, 63, 41, 4, 84, 163, 48, 77, 56, 59, + 58, 61, 41, 206, 68, 38, 39, 36, 52, 55, + 183, 208, -148, 63, 4, 210, 211, 73, 77, 56, + 59, 160, 144, -145, 41, 270, 152, 156, 48, 160, + 144, 130, 58, 61, 152, 156, 68, 77, 56, 59, + 40, 55, 78, 44, 272, 63, 250, 138, 84, 48, + 245, 246, -147, 58, 61, -149, 41, 68, 77, 56, + 59, -150, 55, 41, 161, 217, 63, 278, 48, 210, + 218, 258, 58, 61, 163, 241, 68, 41, 73, 210, + 211, 55, 33, 34, 41, 63, 56, 59, 175, 48, + 77, 56, 59, 58, 61, -146, 41, 68, 210, 311, + 152, 156, 55, 78, 152, 156, 63, -148, 90, 84, + -145, 77, 56, 59, 176, 137, 177, 41, 280, -163, + 41, 48, 178, -149, -147, 58, 61, 91, 286, 68, + 184, -147, 132, 130, 55, 196, 298, 299, 63, 186, + 302, 189, 48, 77, 56, 59, 58, 61, 105, 41, + 68, 189, -145, -148, 189, 55, -150, 280, 314, 63, + 99, -147, -145, 73, 77, 56, 59, -148, -146, -150, + 41, 316, 190, -146, 48, 97, 130, 47, 58, 61, + 322, -198, 68, 37, 196, 187, 192, 55, 78, nil, + nil, 63, nil, nil, 84, 48, 77, 56, 59, 58, + 61, nil, 41, 68, nil, nil, nil, nil, 55, nil, + nil, nil, 63, nil, nil, nil, 73, 77, 56, 59, + nil, nil, nil, 41, nil, nil, nil, 48, nil, nil, + nil, 58, 61, nil, nil, 68, nil, 73, nil, nil, + 55, 78, nil, nil, 63, nil, nil, 84, 48, 77, + 56, 59, 58, 61, nil, 41, 68, nil, nil, nil, + nil, 55, 78, nil, nil, 63, nil, nil, 84, 73, + 77, 56, 59, nil, nil, nil, 41, nil, nil, nil, + 48, nil, nil, nil, 58, 61, nil, nil, 68, nil, + 73, nil, nil, 55, 78, nil, nil, 63, nil, nil, + 84, 48, 77, 56, 59, 58, 61, nil, 41, 68, + nil, nil, nil, nil, 55, 78, nil, nil, 63, nil, + nil, 84, nil, 77, 56, 59, nil, nil, nil, 41, + nil, nil, nil, 48, nil, nil, nil, 58, 113, nil, + nil, 68, nil, 73, nil, nil, 111, nil, nil, nil, + 63, nil, 155, nil, 48, nil, nil, nil, 58, 61, + 146, 41, 68, 77, 56, 59, 141, 55, 78, nil, + nil, 63, nil, nil, 84, nil, nil, 77, 56, 59, + nil, nil, 41, nil, 77, 56, 59, nil, 158, 159, + 160, 144, 145, 147, 48, 152, 156, nil, 58, 61, + nil, nil, 68, nil, 73, nil, nil, 55, 48, 155, + nil, 63, 58, 61, nil, 48, 68, 146, nil, 58, + 61, 55, 41, 68, nil, 63, nil, nil, 55, 78, + nil, nil, 63, nil, nil, 84, 41, 77, 56, 59, + 56, 59, nil, 41, nil, 158, 159, 160, 144, 145, + 147, nil, 152, 156, nil, nil, nil, 73, 77, 56, + 59, nil, nil, nil, 77, 56, 59, nil, 48, nil, + 48, nil, 58, 61, 58, 201, 68, nil, 68, nil, + nil, 55, 78, 111, 73, 63, nil, 63, 84, 48, + 77, 56, 59, 58, 61, 48, 41, 68, 41, 58, + 61, nil, 55, 68, nil, nil, 63, nil, 55, 78, + 73, nil, 63, nil, nil, 84, nil, 41, nil, 155, + nil, 48, nil, 41, nil, 58, 61, 146, nil, 68, + 77, 56, 59, nil, 55, 78, nil, nil, 63, nil, + nil, 84, nil, nil, nil, nil, nil, nil, nil, 41, + 73, 77, 56, 59, nil, 158, 159, 160, 144, 145, + 147, 48, 152, 156, nil, 58, 61, nil, nil, 68, + nil, 73, nil, nil, 55, 78, nil, nil, 63, nil, + nil, 84, 48, 77, 56, 59, 58, 61, nil, 41, + 68, nil, nil, nil, nil, 55, 78, nil, nil, 63, + nil, nil, 84, 73, 77, 56, 59, nil, nil, nil, + 41, nil, nil, nil, 48, nil, nil, nil, 58, 61, + nil, nil, 68, nil, 73, nil, nil, 55, 78, nil, + nil, 63, nil, nil, 84, 48, 77, 56, 59, 58, + 61, nil, 41, 68, nil, nil, nil, nil, 55, 78, + nil, nil, 63, nil, nil, 84, 73, nil, 56, 59, + nil, nil, nil, 41, 56, 59, nil, 48, nil, nil, + nil, 58, 61, nil, nil, 68, nil, nil, 133, nil, + 55, 78, nil, nil, 63, nil, nil, 84, 48, 56, + 59, nil, 58, 61, 48, 41, 68, nil, 58, 201, + 52, 55, 68, 56, 59, 63, nil, 111, nil, 275, + nil, 63, nil, nil, nil, nil, 41, nil, nil, 48, + nil, nil, 41, 58, 61, 56, 59, 68, nil, nil, + nil, 52, 55, 48, nil, nil, 63, 58, 201, 56, + 59, 68, nil, nil, nil, 214, 111, 41, nil, nil, + 63, nil, nil, nil, nil, 48, nil, 56, 59, 58, + 61, 41, nil, 68, nil, nil, nil, 52, 55, 48, + nil, nil, 63, 58, 201, 56, 59, 68, 203, nil, + nil, nil, 111, 41, nil, nil, 63, 48, nil, 56, + 59, 58, 61, nil, nil, 68, nil, 41, nil, 52, + 55, nil, nil, nil, 63, 48, nil, 56, 59, 58, + 201, 282, nil, 68, nil, 41, nil, nil, 111, 48, + nil, nil, 63, 58, 201, nil, nil, 68, nil, nil, + nil, nil, 111, 41, nil, nil, 63, 48, nil, 157, + nil, 58, 201, nil, nil, 68, nil, 41, 150, 155, + 111, nil, nil, nil, 63, nil, nil, 146, 148, 151, + 154, 150, 155, nil, nil, 41, nil, nil, nil, nil, + 146, 148, 151, 154, nil, nil, 158, 159, 160, 144, + nil, 149, 153, 152, 156, 158, 159, 160, 144, 145, + 147, nil, 152, 156, nil, nil, nil, nil, 158, 159, + 160, 144, 145, 147, nil, 152, 156, 150, 155, nil, + nil, nil, nil, nil, nil, nil, 146, 148, 151, 154, + 150, 155, nil, nil, nil, nil, nil, nil, nil, 146, + 148, 151, 154, nil, nil, nil, nil, nil, nil, nil, + 149, 153, nil, nil, 158, 159, 160, 144, 145, 147, + nil, 152, 156, 149, 153, nil, nil, 158, 159, 160, + 144, 145, 147, nil, 152, 156, 150, 155, nil, nil, + nil, nil, nil, nil, 216, 146, 148, 151, 154, 150, + 155, nil, nil, nil, nil, nil, nil, nil, 146, 148, + 151, 154, nil, 155, nil, nil, nil, nil, nil, 149, + 153, 146, nil, 158, 159, 160, 144, 145, 147, nil, + 152, 156, nil, 153, nil, nil, 158, 159, 160, 144, + 145, 147, 281, 152, 156, nil, nil, nil, nil, 158, + 159, 160, 144, 145, 147, nil, 152, 156, nil, nil, + nil, 303, nil, 18, nil, 23, 26, nil, 1, 5, + nil, 12, nil, 16, nil, 20, nil, 27, nil, nil, + 4, 8, 18, 305, 23, 26, nil, 1, 5, nil, + 12, nil, 16, nil, 20, nil, 27, nil, nil, 4, + 8, nil, 307, nil, 18, nil, 23, 26, nil, 1, + 5, nil, 12, nil, 16, nil, 20, nil, 27, nil, + nil, 4, 8, 18, 320, 23, 26, nil, 1, 5, + nil, 12, nil, 16, nil, 20, nil, 27, nil, nil, + 4, 8, nil, 259, nil, 18, nil, 23, 26, nil, + 1, 5, nil, 12, nil, 16, nil, 20, nil, 27, + nil, nil, 4, 8, 18, 232, 23, 26, nil, 1, + 5, nil, 12, nil, 16, nil, 20, nil, 27, nil, + nil, 4, 8, nil, 323, nil, 18, nil, 23, 26, + nil, 1, 5, nil, 12, nil, 16, nil, 20, nil, + 27, nil, nil, 4, 8, 18, 325, 23, 26, nil, 1, 5, nil, 12, nil, 16, nil, 20, nil, 27, - nil, nil, 4, 8, nil, 304, nil, 18, nil, 23, + nil, nil, 4, 8, nil, 327, nil, 18, nil, 23, 26, nil, 1, 5, nil, 12, nil, 16, nil, 20, - nil, 27, nil, nil, 4, 8, 18, 306, 23, 26, + nil, 27, nil, nil, 4, 8, 18, 267, 23, 26, nil, 1, 5, nil, 12, nil, 16, nil, 20, nil, - 27, nil, nil, 4, 8, nil, 280, nil, 18, nil, + 27, nil, nil, 4, 8, nil, 328, nil, 18, nil, 23, 26, nil, 1, 5, nil, 12, nil, 16, nil, - 20, nil, 27, nil, nil, 4, 8, 18, 231, 23, + 20, nil, 27, nil, nil, 4, 8, 18, nil, 23, 26, nil, 1, 5, nil, 12, nil, 16, nil, 20, - nil, 27, nil, nil, 4, 8, nil, 322, nil, 18, - nil, 23, 26, nil, 1, 5, nil, 12, nil, 16, - nil, 20, nil, 27, nil, nil, 4, 8, 18, 258, - 23, 26, nil, 1, 5, nil, 12, nil, 16, nil, - 20, nil, 27, nil, nil, 4, 8, nil, 324, nil, - 18, nil, 23, 26, nil, 1, 5, nil, 12, nil, - 16, nil, 20, nil, 27, nil, nil, 4, 8, 18, - 326, 23, 26, nil, 1, 5, nil, 12, nil, 16, - nil, 20, nil, 27, nil, nil, 4, 8, nil, 302, - nil, 18, nil, 23, 26, nil, 1, 5, nil, 12, - nil, 16, nil, 20, nil, 27, nil, nil, 4, 8, - 18, 327, 23, 26, nil, 1, 5, nil, 12, nil, - 16, nil, 20, nil, 27, nil, nil, 4, 8, nil, - nil, nil, 18, nil, 23, 26, nil, 1, 5, nil, - 12, nil, 16, nil, 20, nil, 27, nil, nil, 4, - 8, 18, nil, 23, 26, nil, 1, 5, nil, 12, - nil, 16, nil, 20, nil, 27, nil, nil, 4, 8, - 18, nil, 23, 26, nil, 1, 5, nil, 12, nil, - 16, nil, 20, nil, 27, nil, nil, 4, 8, 157, - 158, 159, 143, 144, 146, nil, 151, 155 ] + nil, 27, nil, nil, 4, 8, 18, nil, 23, 26, + nil, 1, 5, nil, 12, nil, 16, nil, 20, nil, + 27, nil, nil, 4, 8, 18, nil, 23, 26, nil, + 1, 5, nil, 12, nil, 16, nil, 20, nil, 27, + nil, nil, 4, 8, 158, 159, 160, 144, 145, 147, + nil, 152, 156, 158, 159, 160, 144, 145, 147, nil, + 152, 156 ] racc_action_check = [ - 34, 34, 34, 242, 129, 122, 122, 239, 21, 165, - 59, 112, 21, 234, 234, 239, 27, 41, 234, 234, - 34, 159, 159, 159, 112, 21, 12, 12, 242, 242, - 59, 34, 125, 125, 184, 34, 34, 165, 165, 34, - 122, 159, 41, 122, 34, 34, 129, 91, 34, 21, - 81, 34, 159, 185, 185, 185, 159, 159, 91, 34, - 159, 12, 164, 91, 12, 159, 159, 125, 133, 159, - 125, 243, 159, 164, 143, 143, 143, 80, 164, 92, - 159, 133, 243, 214, 185, 254, 26, 243, 185, 185, - 92, 168, 185, 26, 143, 92, 214, 185, 254, 168, - 187, 185, 235, 235, 5, 143, 186, 186, 186, 143, - 143, 5, 185, 143, 104, 300, 28, 104, 143, 143, - 300, 104, 143, 28, 28, 143, 188, 144, 144, 144, - 233, 233, 189, 143, 173, 233, 233, 186, 173, 173, - 79, 186, 186, 75, 139, 186, 194, 144, 139, 139, - 186, 135, 177, 195, 186, 135, 135, 177, 144, 16, - 16, 16, 144, 144, 161, 186, 144, 196, 161, 161, - 200, 144, 144, 273, 273, 144, 23, 23, 144, 16, - 18, 18, 18, 175, 175, 71, 144, 1, 1, 70, - 16, 218, 218, 69, 16, 16, 96, 217, 16, 178, - 18, 97, 16, 16, 100, 174, 66, 16, 65, 63, - 151, 18, 20, 20, 20, 18, 18, 55, 16, 18, - 53, 105, 231, 51, 18, 18, 116, 95, 18, 163, - 47, 18, 109, 145, 145, 145, 241, 111, 162, 18, - 45, 117, 250, 20, 252, 253, 130, 20, 20, 256, - 35, 20, 118, 145, 265, 113, 20, 82, 155, 279, - 20, 280, 283, 85, 145, 301, 301, 301, 145, 145, - 289, 20, 145, 291, 292, 293, 294, 145, 145, 296, - 25, 145, 87, 88, 145, 15, 297, 297, 297, 123, - 309, 310, 145, 9, 90, 93, 301, 114, nil, nil, - 301, 301, nil, nil, 301, nil, nil, nil, nil, 301, - nil, nil, nil, 301, nil, nil, nil, 297, 158, 158, - 158, 297, 297, nil, 301, 297, nil, nil, nil, nil, - 297, nil, nil, nil, 297, nil, nil, nil, 158, 271, - 271, 271, nil, nil, nil, 297, nil, nil, nil, 158, - nil, nil, nil, 158, 158, nil, nil, 158, nil, nil, - nil, nil, 158, 158, nil, nil, 158, nil, nil, 158, - 271, 146, 146, 146, 271, 271, nil, 158, 271, nil, - nil, nil, nil, 271, nil, nil, nil, 271, nil, nil, - nil, 146, 147, 147, 147, nil, nil, nil, 271, nil, - nil, nil, 146, nil, nil, nil, 146, 146, nil, nil, - 146, nil, 147, nil, nil, 146, 146, nil, nil, 146, - nil, nil, 146, 147, 33, 33, 33, 147, 147, nil, - 146, 147, nil, nil, nil, nil, 147, 147, nil, nil, - 147, nil, nil, 147, 33, 77, 77, 77, nil, nil, - nil, 147, nil, nil, nil, 33, nil, nil, nil, 33, - 33, nil, nil, 33, nil, 77, nil, nil, 33, 33, - nil, nil, 33, nil, nil, 33, 77, 148, 148, 148, - 77, 77, nil, 33, 77, nil, nil, nil, nil, 77, - 77, nil, nil, 77, nil, nil, 77, 148, 37, 37, - 37, nil, nil, nil, 77, nil, nil, nil, 148, nil, - nil, nil, 148, 148, nil, nil, 148, 76, 76, 76, - 76, 148, 148, nil, nil, 148, nil, nil, 148, 37, - nil, nil, nil, 37, 37, nil, 148, 37, 193, 193, - 193, nil, 37, nil, nil, nil, 37, nil, 76, 202, - 202, nil, 76, 76, nil, nil, 76, 37, nil, nil, - nil, 76, nil, nil, nil, 76, nil, nil, nil, 193, - 208, 208, 208, 193, 193, nil, 76, 193, nil, 202, - nil, nil, 193, 202, 202, nil, 193, 202, 72, 72, - 72, nil, 202, nil, nil, nil, 202, 193, nil, nil, - nil, 208, nil, nil, nil, 208, 208, 202, 72, 208, - 149, 149, 149, nil, 208, nil, nil, nil, 208, 72, - nil, nil, nil, 72, 72, nil, nil, 72, nil, 208, - 149, nil, 72, 72, nil, nil, 72, nil, nil, 72, - nil, 149, 52, 52, 52, 149, 149, 72, nil, 149, - nil, nil, nil, nil, 149, 149, nil, nil, 149, nil, - nil, 149, nil, 150, 150, 150, nil, nil, nil, 149, - nil, nil, nil, 52, nil, nil, nil, 52, 52, nil, - nil, 52, nil, 150, nil, nil, 52, nil, nil, nil, - 52, nil, nil, nil, 150, 152, 152, 152, 150, 150, - nil, 52, 150, nil, nil, nil, nil, 150, 150, nil, - nil, 150, nil, nil, 150, 152, 153, 153, 153, nil, - nil, nil, 150, nil, nil, nil, 152, nil, nil, nil, - 152, 152, nil, nil, 152, nil, 153, nil, nil, 152, - 152, nil, nil, 152, nil, nil, 152, 153, 154, 154, - 154, 153, 153, nil, 152, 153, nil, nil, nil, nil, - 153, 153, nil, nil, 153, nil, nil, 153, 154, 157, - 157, 157, nil, nil, nil, 153, nil, nil, nil, 154, - nil, nil, nil, 154, 154, nil, nil, 154, nil, 157, - nil, nil, 154, 154, nil, nil, 154, nil, nil, 154, - 157, 89, 89, 89, 157, 157, nil, 154, 157, nil, - nil, nil, nil, 157, 157, nil, nil, 157, nil, nil, - 157, nil, 83, 83, 83, nil, nil, nil, 157, nil, - nil, nil, 89, nil, nil, nil, 89, 89, nil, nil, - 89, nil, 83, nil, nil, 89, nil, nil, nil, 89, - nil, nil, nil, 83, 206, 206, nil, 83, 83, nil, - 89, 83, nil, nil, nil, nil, 83, 83, 247, 247, - 83, nil, nil, 83, 206, 49, 49, nil, nil, nil, - nil, 83, nil, nil, 206, nil, nil, nil, 206, 206, - nil, nil, 206, 248, 248, 49, 206, 206, 247, nil, - nil, 206, 247, 247, nil, 49, 247, 160, 160, 49, - 49, 247, 206, 49, nil, 247, nil, 49, 49, nil, - nil, nil, 49, 248, nil, nil, 247, 248, 248, 284, - 284, 248, nil, 49, nil, nil, 248, 160, nil, nil, - 248, 160, 160, 308, 308, 160, nil, nil, nil, nil, - 160, 248, nil, nil, 160, nil, nil, nil, nil, 284, - nil, nil, nil, 284, 284, 160, nil, 284, 137, 137, - 136, 136, 284, 308, nil, nil, 284, 308, 308, nil, - nil, 308, nil, nil, nil, nil, 308, 284, 137, nil, - 308, nil, nil, nil, nil, 237, 237, nil, 137, 237, - 136, 308, 137, 137, 136, 136, 137, nil, 136, nil, - 137, 137, 136, 136, nil, 137, nil, 136, nil, nil, - 131, 131, nil, 131, nil, 237, 137, nil, 136, 237, - 237, nil, nil, 237, nil, nil, nil, nil, 237, nil, - nil, nil, 237, nil, nil, nil, nil, nil, nil, nil, - 131, 86, nil, 237, 131, 131, nil, nil, 131, nil, - 86, 86, nil, 131, nil, nil, nil, 131, nil, 86, - 86, 86, 86, 138, 138, nil, nil, nil, 131, nil, - nil, 138, 138, 138, 138, 138, nil, nil, 219, 219, - 219, 219, nil, 86, 86, 219, 219, 86, 86, 86, - 86, 86, 86, nil, 86, 86, 138, 138, nil, nil, - 138, 138, 138, 138, 138, 138, nil, 138, 138, 103, - 103, nil, nil, nil, nil, nil, nil, nil, 103, 103, - 103, 103, 227, 227, nil, nil, nil, nil, nil, nil, - nil, 227, 227, 227, 227, nil, nil, 221, 221, 221, - 221, nil, 103, 103, 221, 221, 103, 103, 103, 103, - 103, 103, nil, 103, 103, nil, nil, nil, nil, 227, - 227, 227, 227, 227, 227, nil, 227, 227, 223, 223, - nil, nil, nil, nil, nil, nil, nil, 223, 223, 223, - 223, 102, 102, nil, nil, nil, nil, nil, nil, nil, - 102, 102, 102, 102, nil, 224, nil, nil, nil, nil, - nil, nil, 223, 224, nil, 223, 223, 223, 223, 223, - 223, nil, 223, 223, 102, 102, 225, nil, 102, 102, - 102, 102, 102, 102, 225, 102, 102, nil, nil, 222, - nil, 224, 224, 224, 224, 224, 224, 222, 224, 224, - 228, nil, 220, 220, 220, 220, 220, 220, 228, 220, - 220, nil, 225, 225, 225, 225, 225, 225, nil, 225, - 225, nil, nil, nil, 303, 222, 222, 222, 222, 222, - 222, nil, 222, 222, nil, nil, 228, 228, 228, 228, - 228, 228, nil, 228, 228, 303, 191, 303, 303, nil, - 303, 303, nil, 303, nil, 303, nil, 303, nil, 303, - nil, nil, 303, 303, nil, 259, nil, 191, nil, 191, - 191, nil, 191, 191, nil, 191, nil, 191, nil, 191, - nil, 191, nil, nil, 191, 191, 259, 267, 259, 259, - nil, 259, 259, nil, 259, nil, 259, nil, 259, nil, - 259, nil, nil, 259, 259, nil, 232, nil, 267, nil, - 267, 267, nil, 267, 267, nil, 267, nil, 267, nil, - 267, nil, 267, nil, nil, 267, 267, 232, 156, 232, - 232, nil, 232, 232, nil, 232, nil, 232, nil, 232, - nil, 232, nil, nil, 232, 232, nil, 311, nil, 156, - nil, 156, 156, nil, 156, 156, nil, 156, nil, 156, - nil, 156, nil, 156, nil, nil, 156, 156, 311, 183, - 311, 311, nil, 311, 311, nil, 311, nil, 311, nil, - 311, nil, 311, nil, nil, 311, 311, nil, 313, nil, - 183, nil, 183, 183, nil, 183, 183, nil, 183, nil, - 183, nil, 183, nil, 183, nil, nil, 183, 183, 313, - 323, 313, 313, nil, 313, 313, nil, 313, nil, 313, - nil, 313, nil, 313, nil, nil, 313, 313, nil, 257, - nil, 323, nil, 323, 323, nil, 323, 323, nil, 323, - nil, 323, nil, 323, nil, 323, nil, nil, 323, 323, - 257, 325, 257, 257, nil, 257, 257, nil, 257, nil, - 257, nil, 257, nil, 257, nil, nil, 257, 257, nil, - nil, nil, 325, nil, 325, 325, nil, 325, 325, nil, - 325, nil, 325, nil, 325, nil, 325, nil, nil, 325, - 325, 30, nil, 30, 30, nil, 30, 30, nil, 30, - nil, 30, nil, 30, nil, 30, nil, nil, 30, 30, - 0, nil, 0, 0, nil, 0, 0, nil, 0, nil, - 0, nil, 0, nil, 0, nil, nil, 0, 0, 229, - 229, 229, 229, 229, 229, nil, 229, 229 ] + 155, 155, 155, 248, 248, 61, 240, 130, 93, 43, + 222, 222, 222, 222, 240, 176, 176, 222, 222, 93, + 155, 90, 90, 90, 93, 61, 21, 84, 84, 84, + 21, 155, 169, 248, 43, 155, 155, 248, 248, 155, + 169, 248, 280, 21, 155, 155, 248, 84, 155, 130, + 248, 155, 90, 186, 186, 186, 90, 90, 84, 155, + 90, 248, 84, 84, 113, 90, 84, 21, 185, 90, + 166, 84, 84, 12, 12, 84, 83, 113, 84, 82, + 90, 243, 123, 123, 186, 178, 84, 255, 186, 186, + 178, 188, 186, 187, 187, 187, 215, 186, 166, 166, + 255, 186, 92, 159, 159, 159, 243, 243, 12, 215, + 301, 12, 186, 92, 28, 301, 189, 123, 92, 244, + 123, 28, 28, 159, 187, 16, 16, 16, 187, 187, + 244, 12, 187, 165, 159, 244, 5, 187, 159, 159, + 123, 187, 159, 5, 165, 16, 26, 159, 159, 165, + 134, 159, 187, 26, 159, 190, 16, 18, 18, 18, + 16, 16, 159, 134, 16, 126, 126, 105, 16, 16, + 105, 136, 81, 16, 105, 136, 136, 18, 20, 20, + 20, 234, 234, 80, 16, 195, 234, 234, 18, 235, + 235, 196, 18, 18, 235, 235, 18, 194, 194, 194, + 126, 18, 18, 126, 197, 18, 174, 201, 18, 20, + 174, 174, 76, 20, 20, 72, 18, 20, 144, 144, + 144, 71, 20, 126, 89, 140, 20, 218, 194, 140, + 140, 179, 194, 194, 91, 162, 194, 20, 144, 162, + 162, 194, 1, 1, 156, 194, 23, 23, 94, 144, + 302, 302, 302, 144, 144, 70, 194, 144, 274, 274, + 236, 236, 144, 144, 219, 219, 144, 67, 66, 144, + 64, 298, 298, 298, 96, 57, 97, 144, 232, 55, + 152, 302, 98, 88, 53, 302, 302, 101, 242, 302, + 106, 110, 49, 47, 302, 251, 253, 254, 302, 112, + 257, 114, 298, 78, 78, 78, 298, 298, 35, 302, + 298, 266, 115, 117, 164, 298, 86, 281, 284, 298, + 27, 290, 292, 78, 272, 272, 272, 293, 294, 295, + 298, 297, 118, 119, 78, 25, 175, 15, 78, 78, + 310, 311, 78, 9, 131, 163, 124, 78, 78, nil, + nil, 78, nil, nil, 78, 272, 145, 145, 145, 272, + 272, nil, 78, 272, nil, nil, nil, nil, 272, nil, + nil, nil, 272, nil, nil, nil, 145, 33, 33, 33, + nil, nil, nil, 272, nil, nil, nil, 145, nil, nil, + nil, 145, 145, nil, nil, 145, nil, 33, nil, nil, + 145, 145, nil, nil, 145, nil, nil, 145, 33, 34, + 34, 34, 33, 33, nil, 145, 33, nil, nil, nil, + nil, 33, 33, nil, nil, 33, nil, nil, 33, 34, + 146, 146, 146, nil, nil, nil, 33, nil, nil, nil, + 34, nil, nil, nil, 34, 34, nil, nil, 34, nil, + 146, nil, nil, 34, 34, nil, nil, 34, nil, nil, + 34, 146, 37, 37, 37, 146, 146, nil, 34, 146, + nil, nil, nil, nil, 146, 146, nil, nil, 146, nil, + nil, 146, nil, 147, 147, 147, nil, nil, nil, 146, + nil, nil, nil, 37, nil, nil, nil, 37, 37, nil, + nil, 37, nil, 147, nil, nil, 37, nil, nil, nil, + 37, nil, 223, nil, 147, nil, nil, nil, 147, 147, + 223, 37, 147, 77, 77, 77, 77, 147, 147, nil, + nil, 147, nil, nil, 147, nil, nil, 209, 209, 209, + nil, nil, 147, nil, 73, 73, 73, nil, 223, 223, + 223, 223, 223, 223, 77, 223, 223, nil, 77, 77, + nil, nil, 77, nil, 73, nil, nil, 77, 209, 226, + nil, 77, 209, 209, nil, 73, 209, 226, nil, 73, + 73, 209, 77, 73, nil, 209, nil, nil, 73, 73, + nil, nil, 73, nil, nil, 73, 209, 158, 158, 158, + 203, 203, nil, 73, nil, 226, 226, 226, 226, 226, + 226, nil, 226, 226, nil, nil, nil, 158, 54, 54, + 54, nil, nil, nil, 148, 148, 148, nil, 158, nil, + 203, nil, 158, 158, 203, 203, 158, nil, 203, nil, + nil, 158, 158, 203, 148, 158, nil, 203, 158, 54, + 149, 149, 149, 54, 54, 148, 158, 54, 203, 148, + 148, nil, 54, 148, nil, nil, 54, nil, 148, 148, + 149, nil, 148, nil, nil, 148, nil, 54, nil, 229, + nil, 149, nil, 148, nil, 149, 149, 229, nil, 149, + 150, 150, 150, nil, 149, 149, nil, nil, 149, nil, + nil, 149, nil, nil, nil, nil, nil, nil, nil, 149, + 150, 151, 151, 151, nil, 229, 229, 229, 229, 229, + 229, 150, 229, 229, nil, 150, 150, nil, nil, 150, + nil, 151, nil, nil, 150, 150, nil, nil, 150, nil, + nil, 150, 151, 153, 153, 153, 151, 151, nil, 150, + 151, nil, nil, nil, nil, 151, 151, nil, nil, 151, + nil, nil, 151, 153, 154, 154, 154, nil, nil, nil, + 151, nil, nil, nil, 153, nil, nil, nil, 153, 153, + nil, nil, 153, nil, 154, nil, nil, 153, 153, nil, + nil, 153, nil, nil, 153, 154, 160, 160, 160, 154, + 154, nil, 153, 154, nil, nil, nil, nil, 154, 154, + nil, nil, 154, nil, nil, 154, 160, nil, 51, 51, + nil, nil, nil, 154, 249, 249, nil, 160, nil, nil, + nil, 160, 160, nil, nil, 160, nil, nil, 51, nil, + 160, 160, nil, nil, 160, nil, nil, 160, 51, 207, + 207, nil, 51, 51, 249, 160, 51, nil, 249, 249, + 51, 51, 249, 285, 285, 51, nil, 249, nil, 207, + nil, 249, nil, nil, nil, nil, 51, nil, nil, 207, + nil, nil, 249, 207, 207, 138, 138, 207, nil, nil, + nil, 207, 207, 285, nil, nil, 207, 285, 285, 309, + 309, 285, nil, nil, nil, 138, 285, 207, nil, nil, + 285, nil, nil, nil, nil, 138, nil, 137, 137, 138, + 138, 285, nil, 138, nil, nil, nil, 138, 138, 309, + nil, nil, 138, 309, 309, 132, 132, 309, 132, nil, + nil, nil, 309, 138, nil, nil, 309, 137, nil, 161, + 161, 137, 137, nil, nil, 137, nil, 309, nil, 137, + 137, nil, nil, nil, 137, 132, nil, 238, 238, 132, + 132, 238, nil, 132, nil, 137, nil, nil, 132, 161, + nil, nil, 132, 161, 161, nil, nil, 161, nil, nil, + nil, nil, 161, 132, nil, nil, 161, 238, nil, 87, + nil, 238, 238, nil, nil, 238, nil, 161, 87, 87, + 238, nil, nil, nil, 238, nil, nil, 87, 87, 87, + 87, 228, 228, nil, nil, 238, nil, nil, nil, nil, + 228, 228, 228, 228, nil, nil, 220, 220, 220, 220, + nil, 87, 87, 220, 220, 87, 87, 87, 87, 87, + 87, nil, 87, 87, nil, nil, nil, nil, 228, 228, + 228, 228, 228, 228, nil, 228, 228, 103, 103, nil, + nil, nil, nil, nil, nil, nil, 103, 103, 103, 103, + 104, 104, nil, nil, nil, nil, nil, nil, nil, 104, + 104, 104, 104, nil, nil, nil, nil, nil, nil, nil, + 103, 103, nil, nil, 103, 103, 103, 103, 103, 103, + nil, 103, 103, 104, 104, nil, nil, 104, 104, 104, + 104, 104, 104, nil, 104, 104, 139, 139, nil, nil, + nil, nil, nil, nil, 139, 139, 139, 139, 139, 224, + 224, nil, nil, nil, nil, nil, nil, nil, 224, 224, + 224, 224, nil, 225, nil, nil, nil, nil, nil, 139, + 139, 225, nil, 139, 139, 139, 139, 139, 139, nil, + 139, 139, nil, 224, nil, nil, 224, 224, 224, 224, + 224, 224, 233, 224, 224, nil, nil, nil, nil, 225, + 225, 225, 225, 225, 225, nil, 225, 225, nil, nil, + nil, 258, nil, 233, nil, 233, 233, nil, 233, 233, + nil, 233, nil, 233, nil, 233, nil, 233, nil, nil, + 233, 233, 258, 260, 258, 258, nil, 258, 258, nil, + 258, nil, 258, nil, 258, nil, 258, nil, nil, 258, + 258, nil, 268, nil, 260, nil, 260, 260, nil, 260, + 260, nil, 260, nil, 260, nil, 260, nil, 260, nil, + nil, 260, 260, 268, 304, 268, 268, nil, 268, 268, + nil, 268, nil, 268, nil, 268, nil, 268, nil, nil, + 268, 268, nil, 184, nil, 304, nil, 304, 304, nil, + 304, 304, nil, 304, nil, 304, nil, 304, nil, 304, + nil, nil, 304, 304, 184, 157, 184, 184, nil, 184, + 184, nil, 184, nil, 184, nil, 184, nil, 184, nil, + nil, 184, 184, nil, 312, nil, 157, nil, 157, 157, + nil, 157, 157, nil, 157, nil, 157, nil, 157, nil, + 157, nil, nil, 157, 157, 312, 314, 312, 312, nil, + 312, 312, nil, 312, nil, 312, nil, 312, nil, 312, + nil, nil, 312, 312, nil, 324, nil, 314, nil, 314, + 314, nil, 314, 314, nil, 314, nil, 314, nil, 314, + nil, 314, nil, nil, 314, 314, 324, 192, 324, 324, + nil, 324, 324, nil, 324, nil, 324, nil, 324, nil, + 324, nil, nil, 324, 324, nil, 326, nil, 192, nil, + 192, 192, nil, 192, 192, nil, 192, nil, 192, nil, + 192, nil, 192, nil, nil, 192, 192, 326, nil, 326, + 326, nil, 326, 326, nil, 326, nil, 326, nil, 326, + nil, 326, nil, nil, 326, 326, 0, nil, 0, 0, + nil, 0, 0, nil, 0, nil, 0, nil, 0, nil, + 0, nil, nil, 0, 0, 30, nil, 30, 30, nil, + 30, 30, nil, 30, nil, 30, nil, 30, nil, 30, + nil, nil, 30, 30, 230, 230, 230, 230, 230, 230, + nil, 230, 230, 221, 221, 221, 221, 221, 221, nil, + 221, 221 ] racc_action_pointer = [ - 1532, 174, nil, nil, nil, 66, nil, nil, nil, 287, - nil, nil, 23, nil, nil, 279, 157, nil, 178, nil, - 210, 6, nil, 173, nil, 280, 48, -26, 78, nil, - 1513, nil, nil, 422, -2, 215, nil, 496, nil, nil, - nil, 7, nil, nil, nil, 202, nil, 209, nil, 872, - nil, 202, 640, 218, nil, 207, nil, nil, nil, 8, - nil, nil, nil, 188, nil, 206, 185, nil, nil, 172, - 168, 164, 586, nil, nil, 122, 515, 443, nil, 119, - 56, 29, 236, 820, nil, 242, 1045, 261, 277, 799, - 256, 25, 57, 289, nil, 217, 196, 179, nil, nil, - 198, nil, 1176, 1104, 76, 215, nil, nil, nil, 211, - nil, 198, 2, 245, 276, nil, 205, 223, 231, nil, - nil, nil, 2, 283, nil, 29, nil, nil, nil, -5, - 236, 1017, nil, 58, nil, 146, 967, 965, 1058, 139, - nil, nil, nil, 72, 125, 231, 369, 390, 475, 608, - 661, 149, 693, 714, 746, 197, 1371, 767, 316, 19, - 904, 159, 229, 219, 40, -11, nil, nil, 75, nil, - nil, nil, nil, 90, 167, 180, nil, 119, 193, nil, - nil, nil, nil, 1412, 27, 51, 104, 93, 88, 94, - nil, 1289, nil, 536, 139, 115, 158, nil, nil, nil, - 148, nil, 546, nil, nil, nil, 851, nil, 568, nil, - nil, nil, nil, nil, 73, nil, nil, 192, 132, 1036, - 1200, 1095, 1223, 1163, 1189, 1210, nil, 1117, 1234, 1527, - nil, 193, 1349, 76, -41, 43, nil, 992, nil, -3, - nil, 229, -20, 49, nil, nil, nil, 865, 890, nil, - 232, nil, 231, 222, 75, nil, 236, 1472, nil, 1308, - nil, nil, nil, nil, nil, 244, nil, 1330, nil, nil, - nil, 337, nil, 164, nil, nil, nil, nil, nil, 253, - 232, nil, nil, 256, 926, nil, nil, nil, nil, 249, - nil, 252, 253, 254, 255, nil, 272, 284, nil, nil, - 82, 263, nil, 1267, nil, nil, nil, nil, 940, 283, - 284, 1390, nil, 1431, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 1453, nil, 1494, nil, nil ] + 1418, 229, nil, nil, nil, 98, nil, nil, nil, 337, + nil, nil, 70, nil, nil, 331, 123, nil, 155, nil, + 176, 24, nil, 243, nil, 335, 108, 278, 76, nil, + 1437, nil, nil, 375, 407, 273, nil, 460, nil, nil, + nil, nil, nil, -1, nil, nil, nil, 255, nil, 271, + nil, 815, nil, 263, 616, 277, nil, 265, nil, nil, + nil, 3, nil, nil, 249, nil, 266, 246, nil, nil, + 234, 200, 194, 542, nil, nil, 191, 521, 301, nil, + 162, 151, 58, 55, 25, nil, 295, 993, 262, 218, + 19, 196, 80, -14, 242, nil, 264, 276, 260, nil, + nil, 281, nil, 1052, 1065, 129, 284, nil, nil, nil, + 270, nil, 260, 55, 291, 291, nil, 292, 314, 312, + nil, nil, nil, 79, 340, nil, 162, nil, nil, nil, + -2, 334, 932, nil, 140, nil, 166, 914, 882, 1111, + 220, nil, nil, nil, 216, 354, 428, 481, 622, 648, + 688, 709, 219, 741, 762, -2, 183, 1298, 595, 101, + 794, 946, 230, 336, 304, 111, 50, nil, nil, 16, + nil, nil, nil, nil, 162, 298, 12, nil, 52, 225, + nil, nil, nil, nil, 1276, 61, 51, 91, 84, 78, + 117, nil, 1380, nil, 195, 178, 153, 195, nil, nil, + nil, 185, nil, 597, nil, nil, nil, 846, nil, 535, + nil, nil, nil, nil, nil, 86, nil, nil, 222, 205, + 984, 1441, -42, 496, 1124, 1137, 553, nil, 1006, 663, + 1432, nil, 249, 1175, 127, 135, 201, nil, 964, nil, + -4, nil, 281, 58, 97, nil, nil, nil, 0, 821, + nil, 285, nil, 283, 274, 77, nil, 287, 1194, nil, + 1216, nil, nil, nil, nil, nil, 301, nil, 1235, nil, + nil, nil, 322, nil, 249, nil, nil, nil, nil, nil, + 36, 288, nil, nil, 312, 860, nil, nil, nil, nil, + 300, nil, 301, 306, 307, 308, nil, 324, 269, nil, + nil, 77, 248, nil, 1257, nil, nil, nil, nil, 896, + 333, 334, 1317, nil, 1339, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 1358, nil, 1399, nil, nil ] racc_action_default = [ - -173, -199, -15, -3, -165, -199, -16, -5, -163, -199, - -17, -6, -199, -7, -8, -199, -164, -9, -199, -10, - -199, -199, -11, -199, -12, -199, -199, -39, -199, -13, - -1, -14, -2, -199, -199, -173, -164, -72, -171, -170, - -169, -173, -172, -166, -168, -79, -190, -199, -31, -199, - -33, -32, -199, -63, -102, -21, -104, -103, -22, -62, - -23, -198, -61, -26, -153, -199, -27, -152, -151, -28, - -29, -30, -199, -94, -112, -90, -199, -199, -97, -91, - -95, -99, -92, -199, -96, -93, -199, -98, -199, -199, - -72, -173, -173, -42, -154, -156, -199, -173, -40, -38, - -199, -4, -70, -71, -199, -199, -186, -73, -67, -64, - -63, -59, -62, -196, -65, -57, -68, -199, -66, -150, - -69, -149, -199, -199, -184, -199, -77, -78, -80, -199, - -196, -199, -20, -199, -82, -199, -199, -199, -199, -199, - -193, -128, -121, -199, -199, -199, -199, -199, -199, -199, - -199, -199, -199, -199, -199, -199, -199, -199, -199, -199, - -199, -199, -199, -196, -173, -199, -46, -48, -199, -62, - -55, -54, -45, -199, -79, -199, 328, -174, -199, -175, - -188, -187, -189, -199, -199, -60, -199, -199, -197, -72, - -185, -199, -167, -199, -199, -197, -199, -147, -139, -140, - -62, -145, -199, -148, -146, -18, -199, -105, -199, -194, - -195, -24, -25, -101, -199, -131, -191, -195, -117, -119, - -123, -120, -125, -130, -127, -124, -113, -129, -126, -122, - -114, -109, -199, -115, -116, -118, -137, -199, -133, -199, - -106, -199, -199, -199, -51, -50, -44, -199, -199, -43, - -196, -155, -183, -199, -199, -178, -181, -199, -160, -199, - -34, -58, -75, -35, -74, -196, -162, -199, -76, -37, - -81, -199, -142, -196, -19, -83, -100, -192, -108, -199, - -109, -132, -134, -199, -199, -36, -49, -47, -88, -84, - -52, -85, -89, -86, -87, -53, -199, -199, -176, -177, - -199, -199, -158, -199, -159, -56, -161, -144, -199, -199, - -195, -199, -107, -199, -138, -41, -182, -179, -180, -157, - -143, -141, -111, -199, -136, -199, -110, -135 ] + -174, -200, -15, -3, -165, -200, -16, -5, -163, -200, + -17, -6, -200, -7, -8, -200, -164, -9, -200, -10, + -200, -200, -11, -200, -12, -200, -200, -39, -200, -13, + -1, -14, -2, -200, -200, -174, -164, -72, -171, -170, + -169, -199, -173, -174, -172, -166, -168, -79, -191, -200, + -31, -200, -33, -32, -200, -63, -102, -21, -104, -103, + -22, -62, -23, -61, -26, -153, -200, -27, -152, -151, + -28, -29, -30, -200, -94, -112, -90, -200, -200, -97, + -91, -95, -99, -92, -200, -96, -93, -200, -98, -200, + -200, -72, -174, -174, -42, -154, -156, -200, -174, -40, + -38, -200, -4, -70, -71, -200, -200, -187, -73, -67, + -64, -63, -59, -62, -197, -65, -57, -68, -200, -66, + -150, -69, -149, -200, -200, -185, -200, -77, -78, -80, + -200, -197, -200, -20, -200, -82, -200, -200, -200, -200, + -200, -194, -128, -121, -200, -200, -200, -200, -200, -200, + -200, -200, -200, -200, -200, -200, -200, -200, -200, -200, + -200, -200, -200, -200, -197, -174, -200, -46, -48, -200, + -62, -55, -54, -45, -200, -79, -200, 329, -175, -200, + -176, -189, -188, -190, -200, -200, -60, -200, -200, -198, + -72, -186, -200, -167, -200, -200, -198, -200, -147, -139, + -140, -62, -145, -200, -148, -146, -18, -200, -105, -200, + -195, -196, -24, -25, -101, -200, -131, -192, -196, -117, + -119, -123, -120, -125, -130, -127, -124, -113, -129, -126, + -122, -114, -109, -200, -115, -116, -118, -137, -200, -133, + -200, -106, -200, -200, -200, -51, -50, -44, -200, -200, + -43, -197, -155, -184, -200, -200, -179, -182, -200, -160, + -200, -34, -58, -75, -35, -74, -197, -162, -200, -76, + -37, -81, -200, -142, -197, -19, -83, -100, -193, -108, + -200, -109, -132, -134, -200, -200, -36, -49, -47, -88, + -84, -52, -85, -89, -86, -87, -53, -200, -200, -177, + -178, -200, -200, -158, -200, -159, -56, -161, -144, -200, + -200, -196, -200, -107, -200, -138, -41, -183, -180, -181, + -157, -143, -141, -111, -200, -136, -200, -110, -135 ] racc_goto_table = [ - 15, 21, 101, 199, 30, 196, 130, 113, 255, 43, - 238, 126, 211, 278, 35, 120, 60, 25, 115, 135, - 32, 55, 165, 173, 68, 187, 290, 295, 270, 100, - 15, 21, 48, 226, 236, 97, 308, 230, 237, 287, - 93, 198, 194, 139, 184, 68, 273, 95, 178, 60, - 66, 105, 51, 108, 133, 106, 161, 68, 41, 94, - 163, 124, 312, 123, 111, 48, 190, 253, 254, 99, - 181, 116, nil, 109, 272, 241, 196, nil, 88, nil, - nil, nil, 211, 66, nil, 51, nil, 282, nil, nil, - nil, nil, nil, nil, nil, 242, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 134, 236, nil, 180, nil, nil, nil, 179, nil, nil, - nil, nil, 192, nil, nil, 171, 171, nil, nil, nil, - nil, 317, nil, nil, 134, 250, 212, 60, nil, 68, - 126, nil, 214, nil, 68, 68, nil, 134, nil, nil, - nil, nil, 48, 48, 264, nil, 15, 21, 314, 265, - 232, 126, 296, 120, nil, 203, 261, 197, 68, nil, - 66, 66, 51, 51, nil, nil, nil, 305, nil, nil, - 320, nil, 196, 15, 21, 309, nil, 259, nil, nil, - nil, 15, 21, 68, 203, 267, 197, nil, 171, nil, - nil, 108, nil, nil, 101, nil, 212, nil, nil, nil, - 68, 251, nil, 71, 68, nil, 70, nil, nil, 116, - nil, 109, 48, nil, nil, nil, nil, nil, nil, nil, - nil, 101, 15, 21, 121, nil, 203, 119, 197, 101, - 66, nil, 51, nil, 262, 68, 71, nil, nil, 70, - nil, 268, nil, nil, nil, 68, 68, 15, 21, 15, - 21, 303, nil, 288, 288, nil, 275, 15, 21, 69, - nil, 203, 63, 197, nil, 101, nil, 171, nil, nil, - nil, 292, 292, 289, 289, nil, nil, nil, nil, nil, - 118, nil, 68, 114, nil, 101, nil, 101, nil, nil, - nil, nil, 69, 15, 21, 63, nil, nil, nil, nil, - nil, 15, 21, 15, 21, 323, 68, 325, 203, nil, - 197, nil, nil, 15, 21, 15, 21, nil, 121, 307, - nil, 119, nil, 71, 71, nil, 70, 70, nil, nil, - nil, nil, 203, nil, 197, nil, nil, 170, 170, nil, - nil, nil, nil, nil, nil, 316, nil, 121, nil, 318, - 119, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 121, nil, 204, 119, nil, 201, nil, 69, - 69, nil, 63, 63, nil, 86, nil, nil, nil, 121, - nil, nil, 119, 71, nil, nil, 70, nil, nil, nil, - 102, 103, nil, 204, nil, nil, 201, nil, nil, nil, - 170, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 121, nil, nil, 119, 118, nil, - nil, 114, nil, nil, 121, 121, nil, 294, 294, 138, - nil, nil, nil, nil, 141, 204, nil, nil, 201, 69, - 142, nil, 63, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 121, nil, nil, 119, nil, nil, nil, nil, nil, - 204, nil, nil, 201, nil, nil, nil, nil, nil, 170, - 293, 293, nil, 291, 291, 121, nil, nil, 119, nil, + 15, 21, 102, 197, 30, 116, 200, 114, 42, 256, + 188, 131, 50, 57, 121, 45, 62, 35, 239, 212, + 32, 166, 174, 279, 69, 25, 136, 195, 271, 101, + 15, 21, 237, 109, 291, 296, 309, 127, 98, 238, + 288, 94, 199, 185, 274, 69, 96, 50, 134, 140, + 67, 62, 72, 179, 106, 107, 43, 124, 112, 69, + 242, 164, 162, 125, 191, 254, 255, 100, 182, nil, + nil, 117, 313, 122, 197, nil, nil, 273, nil, nil, + nil, nil, nil, nil, nil, 67, nil, 72, nil, 212, + nil, nil, nil, nil, 243, 283, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 237, + nil, nil, nil, nil, nil, nil, nil, 181, 180, 42, + nil, 89, 42, nil, nil, nil, 172, 172, nil, 193, + nil, nil, 318, 50, 50, 215, nil, 213, 62, 251, + 69, nil, nil, nil, nil, 69, 69, 297, 227, nil, + nil, nil, 231, nil, 262, 135, 315, 15, 21, nil, + 266, 233, 306, 121, nil, 127, 204, nil, 122, 69, + 310, 67, 67, 72, 72, nil, nil, nil, 135, 265, + 197, nil, 109, 321, 15, 21, 127, nil, 260, nil, + nil, 135, 15, 21, 69, 204, 268, 122, nil, 172, + nil, nil, nil, 50, nil, 102, nil, 213, nil, nil, + nil, 69, nil, nil, 53, 69, nil, 71, nil, nil, + 117, 95, 122, nil, nil, nil, nil, nil, nil, nil, + 64, nil, 102, 15, 21, 110, nil, 204, 120, 122, + 102, 67, nil, 72, 289, 289, 69, nil, nil, 53, + nil, 115, 71, nil, nil, nil, 69, 69, 15, 21, + 15, 21, 304, nil, nil, 64, nil, nil, 15, 21, + nil, nil, 204, 70, 122, nil, 102, nil, 172, nil, + nil, nil, 293, 293, 122, 122, nil, nil, 263, nil, + nil, nil, nil, 69, 119, 269, 102, nil, 102, nil, + nil, nil, nil, nil, 15, 21, 171, 171, 70, nil, + 276, nil, 15, 21, 15, 21, 324, 69, 326, 204, + nil, 122, nil, nil, 15, 21, 15, 21, nil, nil, + 198, nil, nil, 120, nil, 53, 53, nil, 71, 71, + nil, nil, nil, 204, nil, 122, 202, nil, nil, nil, + nil, 64, 64, nil, nil, nil, nil, nil, nil, 198, + nil, nil, 120, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 308, 252, 202, nil, nil, nil, 171, + nil, nil, nil, nil, 110, nil, nil, 120, nil, 205, + nil, nil, nil, nil, 70, 70, nil, nil, nil, 317, + 115, 198, nil, 319, 120, 53, nil, nil, 71, nil, + nil, nil, nil, nil, nil, nil, nil, 202, 205, 87, + nil, 64, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 103, 104, 198, nil, nil, 120, + nil, nil, nil, 119, nil, nil, 290, 290, nil, 295, + 295, nil, 202, nil, nil, nil, nil, nil, 171, nil, + 205, nil, 292, 292, 70, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 139, nil, nil, nil, nil, 142, + nil, nil, nil, 198, nil, 143, 120, nil, nil, nil, + nil, nil, nil, nil, nil, 205, nil, nil, nil, 202, + nil, nil, nil, nil, nil, 294, 294, 198, nil, nil, + 120, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 202, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 218, 219, 220, 221, 222, 223, 224, 225, nil, 227, - 228, 229, nil, nil, 233, 234, 235, 204, nil, nil, - 201, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 204, nil, nil, 201 ] + nil, nil, 205, nil, nil, 219, 220, 221, 222, 223, + 224, 225, 226, nil, 228, 229, 230, nil, nil, 234, + 235, 236, nil, nil, nil, nil, 205 ] racc_goto_check = [ - 20, 33, 4, 61, 2, 59, 34, 31, 72, 68, - 57, 48, 19, 54, 28, 46, 20, 1, 43, 52, - 3, 18, 37, 37, 45, 32, 42, 42, 51, 33, - 20, 33, 26, 55, 59, 28, 53, 55, 56, 38, - 36, 60, 32, 52, 30, 45, 62, 63, 64, 20, - 22, 65, 27, 26, 18, 3, 52, 45, 66, 27, - 31, 3, 54, 67, 29, 26, 69, 70, 71, 5, - 73, 22, nil, 27, 61, 32, 59, nil, 49, nil, - nil, nil, 19, 22, nil, 27, nil, 57, nil, nil, - nil, nil, nil, nil, nil, 37, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 49, 59, nil, 28, nil, nil, nil, 3, nil, nil, - nil, nil, 68, nil, nil, 22, 22, nil, nil, nil, - nil, 72, nil, nil, 49, 34, 20, 20, nil, 45, - 48, nil, 18, nil, 45, 45, nil, 49, nil, nil, - nil, nil, 26, 26, 48, nil, 20, 33, 59, 31, - 2, 48, 32, 46, nil, 22, 43, 27, 45, nil, - 22, 22, 27, 27, nil, nil, nil, 32, nil, nil, - 61, nil, 59, 20, 33, 32, nil, 2, nil, nil, - nil, 20, 33, 45, 22, 2, 27, nil, 22, nil, - nil, 26, nil, nil, 4, nil, 20, nil, nil, nil, - 45, 27, nil, 25, 45, nil, 24, nil, nil, 22, - nil, 27, 26, nil, nil, nil, nil, nil, nil, nil, - nil, 4, 20, 33, 25, nil, 22, 24, 27, 4, - 22, nil, 27, nil, 49, 45, 25, nil, nil, 24, - nil, 49, nil, nil, nil, 45, 45, 20, 33, 20, - 33, 2, nil, 26, 26, nil, 49, 20, 33, 23, - nil, 22, 21, 27, nil, 4, nil, 22, nil, nil, - nil, 22, 22, 27, 27, nil, nil, nil, nil, nil, - 23, nil, 45, 21, nil, 4, nil, 4, nil, nil, - nil, nil, 23, 20, 33, 21, nil, nil, nil, nil, - nil, 20, 33, 20, 33, 2, 45, 2, 22, nil, - 27, nil, nil, 20, 33, 20, 33, nil, 25, 49, - nil, 24, nil, 25, 25, nil, 24, 24, nil, nil, - nil, nil, 22, nil, 27, nil, nil, 21, 21, nil, - nil, nil, nil, nil, nil, 49, nil, 25, nil, 49, + 20, 33, 4, 59, 2, 43, 61, 31, 55, 72, + 32, 34, 26, 18, 46, 68, 20, 28, 57, 19, + 3, 37, 37, 54, 45, 1, 52, 32, 51, 33, + 20, 33, 59, 26, 42, 42, 53, 48, 28, 56, + 38, 36, 60, 30, 62, 45, 63, 26, 18, 52, + 22, 20, 25, 64, 65, 3, 66, 67, 29, 45, + 32, 31, 52, 3, 69, 70, 71, 5, 73, nil, + nil, 22, 54, 25, 59, nil, nil, 61, nil, nil, + nil, nil, nil, nil, nil, 22, nil, 25, nil, 19, + nil, nil, nil, nil, 37, 57, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 59, + nil, nil, nil, nil, nil, nil, nil, 28, 3, 55, + nil, 49, 55, nil, nil, nil, 22, 22, nil, 68, + nil, nil, 72, 26, 26, 18, nil, 20, 20, 34, + 45, nil, nil, nil, nil, 45, 45, 32, 55, nil, + nil, nil, 55, nil, 43, 49, 59, 20, 33, nil, + 31, 2, 32, 46, nil, 48, 22, nil, 25, 45, + 32, 22, 22, 25, 25, nil, nil, nil, 49, 48, + 59, nil, 26, 61, 20, 33, 48, nil, 2, nil, + nil, 49, 20, 33, 45, 22, 2, 25, nil, 22, + nil, nil, nil, 26, nil, 4, nil, 20, nil, nil, + nil, 45, nil, nil, 27, 45, nil, 24, nil, nil, + 22, 27, 25, nil, nil, nil, nil, nil, nil, nil, + 21, nil, 4, 20, 33, 27, nil, 22, 24, 25, + 4, 22, nil, 25, 26, 26, 45, nil, nil, 27, + nil, 21, 24, nil, nil, nil, 45, 45, 20, 33, + 20, 33, 2, nil, nil, 21, nil, nil, 20, 33, + nil, nil, 22, 23, 25, nil, 4, nil, 22, nil, + nil, nil, 22, 22, 25, 25, nil, nil, 49, nil, + nil, nil, nil, 45, 23, 49, 4, nil, 4, nil, + nil, nil, nil, nil, 20, 33, 21, 21, 23, nil, + 49, nil, 20, 33, 20, 33, 2, 45, 2, 22, + nil, 25, nil, nil, 20, 33, 20, 33, nil, nil, + 27, nil, nil, 24, nil, 27, 27, nil, 24, 24, + nil, nil, nil, 22, nil, 25, 21, nil, nil, nil, + nil, 21, 21, nil, nil, nil, nil, nil, nil, 27, + nil, nil, 24, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 49, 27, 21, nil, nil, nil, 21, + nil, nil, nil, nil, 27, nil, nil, 24, nil, 23, + nil, nil, nil, nil, 23, 23, nil, nil, nil, 49, + 21, 27, nil, 49, 24, 27, nil, nil, 24, nil, + nil, nil, nil, nil, nil, nil, nil, 21, 23, 47, + nil, 21, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 47, 47, 27, nil, nil, 24, + nil, nil, nil, 23, nil, nil, 27, 27, nil, 24, + 24, nil, 21, nil, nil, nil, nil, nil, 21, nil, + 23, nil, 21, 21, 23, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 47, nil, nil, nil, nil, 47, + nil, nil, nil, 27, nil, 47, 24, nil, nil, nil, + nil, nil, nil, nil, nil, 23, nil, nil, nil, 21, + nil, nil, nil, nil, nil, 23, 23, 27, nil, nil, 24, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 21, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 25, nil, 23, 24, nil, 21, nil, 23, - 23, nil, 21, 21, nil, 47, nil, nil, nil, 25, - nil, nil, 24, 25, nil, nil, 24, nil, nil, nil, - 47, 47, nil, 23, nil, nil, 21, nil, nil, nil, - 21, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 25, nil, nil, 24, 23, nil, - nil, 21, nil, nil, 25, 25, nil, 24, 24, 47, - nil, nil, nil, nil, 47, 23, nil, nil, 21, 23, - 47, nil, 21, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 25, nil, nil, 24, nil, nil, nil, nil, nil, - 23, nil, nil, 21, nil, nil, nil, nil, nil, 21, - 23, 23, nil, 21, 21, 25, nil, nil, 24, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 47, 47, 47, 47, 47, 47, 47, 47, nil, 47, - 47, 47, nil, nil, 47, 47, 47, 23, nil, nil, - 21, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 23, nil, nil, 21 ] + nil, nil, 23, nil, nil, 47, 47, 47, 47, 47, + 47, 47, 47, nil, 47, 47, 47, nil, nil, 47, + 47, 47, nil, nil, nil, nil, 23 ] racc_goto_pointer = [ - nil, 17, 4, 20, -28, 41, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, 5, -124, - 0, 256, 34, 253, 200, 197, 16, 36, 9, 27, - -67, -30, -88, 1, -39, nil, 19, -69, -204, nil, - nil, nil, -221, -19, nil, 8, -22, 377, -34, 58, - nil, -167, -33, -237, -218, -118, -122, -150, nil, -126, - -90, -128, -156, 24, -49, 16, 46, 22, -3, -56, - -110, -109, -169, -34 ] + nil, 25, 4, 20, -28, 39, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, -3, -118, + 0, 214, 34, 257, 201, 36, -4, 198, 12, 21, + -69, -30, -104, 1, -36, nil, 20, -71, -204, nil, + nil, nil, -214, -32, nil, 8, -23, 401, -10, 101, + nil, -168, -28, -238, -209, -4, -122, -143, nil, -129, + -90, -126, -159, 23, -45, 19, 44, 14, 3, -59, + -113, -112, -169, -37 ] racc_goto_default = [ - nil, nil, nil, 172, 3, 7, 11, 13, 14, 17, - 19, 22, 24, 29, 31, 2, 6, 10, nil, 58, - 78, 79, 80, 82, 85, 87, 73, 75, 9, nil, - nil, nil, nil, 65, nil, 28, nil, nil, 166, 243, - 167, 168, nil, nil, 117, 81, 84, nil, 107, 74, - 127, 128, nil, 208, nil, 64, nil, nil, 239, 47, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 44, + nil, nil, nil, 173, 3, 7, 11, 13, 14, 17, + 19, 22, 24, 29, 31, 2, 6, 10, nil, 60, + 79, 80, 81, 83, 86, 88, 74, 76, 9, nil, + nil, nil, nil, 66, nil, 28, nil, nil, 167, 244, + 168, 169, nil, nil, 118, 82, 85, nil, 108, 75, + 128, 129, nil, 209, nil, 65, nil, nil, 240, 49, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 46, nil, nil, nil, nil ] racc_token_table = { @@ -2100,41 +2085,43 @@ module_eval <<'.,.,', 'grammar.ra', 700 end .,., -module_eval <<'.,.,', 'grammar.ra', 705 - def _reduce_173( val, _values, result ) + # reduce 173 omitted + +module_eval <<'.,.,', 'grammar.ra', 706 + def _reduce_174( val, _values, result ) result = nil result end .,., -module_eval <<'.,.,', 'grammar.ra', 709 - def _reduce_174( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 710 + def _reduce_175( val, _values, result ) result = ast AST::ASTArray, :children => [] result end .,., - # reduce 175 omitted + # reduce 176 omitted -module_eval <<'.,.,', 'grammar.ra', 714 - def _reduce_176( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 715 + def _reduce_177( val, _values, result ) result = nil result end .,., -module_eval <<'.,.,', 'grammar.ra', 718 - def _reduce_177( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 719 + def _reduce_178( val, _values, result ) result = val[1] result = [result] unless result[0].is_a?(Array) result end .,., - # reduce 178 omitted + # reduce 179 omitted -module_eval <<'.,.,', 'grammar.ra', 725 - def _reduce_179( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 726 + def _reduce_180( val, _values, result ) result = val[0] result = [result] unless result[0].is_a?(Array) result << val[2] @@ -2142,67 +2129,67 @@ module_eval <<'.,.,', 'grammar.ra', 725 end .,., -module_eval <<'.,.,', 'grammar.ra', 730 - def _reduce_180( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 731 + def _reduce_181( val, _values, result ) Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype") result = [val[0][:value], val[2]] result end .,., -module_eval <<'.,.,', 'grammar.ra', 734 - def _reduce_181( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 735 + def _reduce_182( val, _values, result ) Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype") result = [val[0][:value]] result end .,., -module_eval <<'.,.,', 'grammar.ra', 736 - def _reduce_182( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 737 + def _reduce_183( val, _values, result ) result = [val[0][:value], val[2]] result end .,., -module_eval <<'.,.,', 'grammar.ra', 738 - def _reduce_183( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 739 + def _reduce_184( val, _values, result ) result = [val[0][:value]] result end .,., - # reduce 184 omitted + # reduce 185 omitted -module_eval <<'.,.,', 'grammar.ra', 743 - def _reduce_185( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 744 + def _reduce_186( val, _values, result ) result = val[1] result end .,., - # reduce 186 omitted + # reduce 187 omitted -module_eval <<'.,.,', 'grammar.ra', 748 - def _reduce_187( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 749 + def _reduce_188( val, _values, result ) result = val[1] result end .,., - # reduce 188 omitted - # reduce 189 omitted -module_eval <<'.,.,', 'grammar.ra', 754 - def _reduce_190( val, _values, result ) + # reduce 190 omitted + +module_eval <<'.,.,', 'grammar.ra', 755 + def _reduce_191( val, _values, result ) result = ast AST::Variable, :value => val[0][:value], :line => val[0][:line] result end .,., -module_eval <<'.,.,', 'grammar.ra', 762 - def _reduce_191( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 763 + def _reduce_192( val, _values, result ) if val[1].instance_of?(AST::ASTArray) result = val[1] else @@ -2212,8 +2199,8 @@ module_eval <<'.,.,', 'grammar.ra', 762 end .,., -module_eval <<'.,.,', 'grammar.ra', 769 - def _reduce_192( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 770 + def _reduce_193( val, _values, result ) if val[1].instance_of?(AST::ASTArray) result = val[1] else @@ -2223,28 +2210,28 @@ module_eval <<'.,.,', 'grammar.ra', 769 end .,., -module_eval <<'.,.,', 'grammar.ra', 771 - def _reduce_193( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 772 + def _reduce_194( val, _values, result ) result = ast AST::ASTArray result end .,., - # reduce 194 omitted - # reduce 195 omitted # reduce 196 omitted -module_eval <<'.,.,', 'grammar.ra', 776 - def _reduce_197( val, _values, result ) + # reduce 197 omitted + +module_eval <<'.,.,', 'grammar.ra', 777 + def _reduce_198( val, _values, result ) result = nil result end .,., -module_eval <<'.,.,', 'grammar.ra', 781 - def _reduce_198( val, _values, result ) +module_eval <<'.,.,', 'grammar.ra', 782 + def _reduce_199( val, _values, result ) result = ast AST::Regex, :value => val[0][:value] result end |