From 25048ecc40db746f7e88bb6c5e1fc4f2c0150a4f Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Wed, 1 Sep 2010 14:18:41 -0700 Subject: [#4685] Classes, defines, and nodes allowed inside of non-evaluated conditionals Previously, ASTArray#evaluate() was responsible for checking whether the user had tried to declare a class, define, or node in a prohibited location (such as a conditional construct). This meant that errors would only be reported to the user if the conditional code was actually evaluated. Moved the checking into the parser, so that errors are always reported. --- lib/puppet/parser/ast/astarray.rb | 20 +- lib/puppet/parser/grammar.ra | 25 +- lib/puppet/parser/parser.rb | 2233 ++++++++++++++++++------------------- 3 files changed, 1118 insertions(+), 1160 deletions(-) (limited to 'lib/puppet') diff --git a/lib/puppet/parser/ast/astarray.rb b/lib/puppet/parser/ast/astarray.rb index 432300c7a..e856570f8 100644 --- a/lib/puppet/parser/ast/astarray.rb +++ b/lib/puppet/parser/ast/astarray.rb @@ -9,11 +9,6 @@ class Puppet::Parser::AST class ASTArray < Branch include Enumerable - # True if this ASTArray represents a list of statements in a - # context that defines a namespace. Classes and definitions may - # only appear in such a context. - attr_accessor :is_a_namespace - # Return a child by index. Probably never used. def [](index) @children[index] @@ -37,17 +32,10 @@ class Puppet::Parser::AST } rets = items.flatten.collect { |child| - if child.respond_to? :instantiate - if is_a_namespace - # no problem, just don't evaluate it. - else - msg = "Classes, definitions, and nodes may only appear at toplevel or inside other classes" - error = Puppet::Error.new(msg) - error.line = child.line - error.file = child.file - raise error - end - else + # Skip things that respond to :instantiate (classes, nodes, + # and definitions), because they have already been + # instantiated. + if !child.respond_to?(:instantiate) child.safeevaluate(scope) end } diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra index 3185c435d..9377c0b02 100644 --- a/lib/puppet/parser/grammar.ra +++ b/lib/puppet/parser/grammar.ra @@ -28,22 +28,30 @@ prechigh preclow rule -program: statements { - val[0].is_a_namespace = true - result = val[0] -} +program: statements_and_declarations | nil - statements: statement { + statements_and_declarations: statement_or_declaration { result = ast AST::ASTArray, :children => [val[0]] } - | statements statement { + | statements_and_declarations statement_or_declaration { val[0].push(val[1]) result = val[0] } +# statements is like statements_and_declarations, but it doesn't allow +# nested definitions, classes, or nodes. +statements: statements_and_declarations { + val[0].each do |stmt| + if stmt.is_a?(AST::TopLevelConstruct) + error "Classes, definitions, and nodes may only appear at toplevel or inside other classes" + end + end + result = val[0] +} + # The main list of valid statements -statement: resource +statement_or_declaration: resource | virtualresource | collection | assignment @@ -659,11 +667,10 @@ definition: DEFINE classname argumentlist LBRACE statements RBRACE { } #hostclass: CLASS NAME argumentlist parent LBRACE statements RBRACE { -hostclass: CLASS classname argumentlist classparent LBRACE statements RBRACE { +hostclass: CLASS classname argumentlist classparent LBRACE statements_and_declarations RBRACE { @lexer.commentpop # Our class gets defined in the parent namespace, not our own. @lexer.namepop - val[5].is_a_namespace = true result = Puppet::Parser::AST::Hostclass.new(classname(val[1]), ast_context(true).merge(:arguments => val[2], :parent => val[3], :code => val[5], :line => val[0][:line])) diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb index e4f5149b9..868716e0d 100644 --- a/lib/puppet/parser/parser.rb +++ b/lib/puppet/parser/parser.rb @@ -21,7 +21,7 @@ module Puppet module Parser class Parser < Racc::Parser -module_eval(<<'...end grammar.ra/module_eval...', 'grammar.ra', 851) +module_eval(<<'...end grammar.ra/module_eval...', 'grammar.ra', 858) # It got too annoying having code in a file that needs to be compiled. require 'puppet/parser/parser_support' @@ -36,651 +36,608 @@ require 'puppet/parser/parser_support' ##### State transition tables begin ### racc_action_table = [ - 256, 257, 228, 82, 54, 72, 75, 181, 251, 48, - 72, 75, 194, 205, 210, 163, 156, 348, 46, 47, - 344, 184, 201, 203, 206, 209, 162, 352, 54, 182, - 351, 169, 54, -168, 72, 75, 241, 242, 102, 305, - 106, 158, 58, 193, 230, 60, 204, 208, 193, 306, - 213, 196, 197, 198, 200, 202, 97, 207, 211, 72, - 75, 72, 75, 163, 199, 59, 58, 71, 245, 60, - 58, 83, 86, 60, 162, 92, 244, 72, 75, 169, - 78, 100, 352, 269, 89, 351, 63, 94, 64, 59, - 228, 326, 71, 59, 162, 59, 83, 86, 83, 268, - 92, 65, 92, 184, 76, 78, 307, 137, 163, 89, - 162, 89, 72, 75, 83, 268, 241, 242, 92, 162, - 59, 163, 59, 137, 169, 62, 254, 89, 207, 211, - 72, 75, 162, 308, 102, 199, 106, 169, 59, 255, - 213, 196, 197, 198, -166, 162, 309, 207, 211, 83, - 268, 310, 97, 92, 199, 72, 75, 355, 137, 102, - -170, 106, 89, 71, 218, 356, 173, 83, 86, 220, - 313, 92, -171, 59, 72, 75, 78, 100, 37, 218, - 89, 249, 38, 94, 220, 246, 247, 173, 71, 11, - 210, 59, 83, 86, 246, 367, 92, 271, 201, 37, - -167, 78, 37, 38, 270, 89, 38, 71, 246, 247, - 11, 83, 86, 11, 14, 92, 59, 72, 75, 76, - 78, 102, 278, 106, 89, 277, 213, 196, 197, 198, - 200, 202, 275, 207, 211, 59, 246, 274, 152, 97, - 199, 37, 318, 72, 75, 127, 319, 102, -169, 106, - 71, 63, 11, 14, 83, 86, -167, 37, 92, 207, - 211, 127, -169, 78, 100, 97, 199, 89, 11, 14, - 94, -166, 117, 72, 75, -185, 71, 82, 59, 336, - 83, 86, 197, 198, 92, 231, 338, 207, 211, 78, - 100, 181, 48, 89, 199, 74, 94, 240, -168, 72, - 75, 241, 242, 102, 59, 106, 71, 184, 176, 37, - 83, 86, 59, 38, 92, 345, 322, 175, 76, 78, - 11, 97, -172, 89, -171, 72, 75, -170, 59, 102, - 214, 106, 71, 64, 59, 215, 83, 86, 173, 217, - 92, -23, -23, -23, -23, 78, 100, 97, 155, 89, - 72, 75, 94, 122, 102, 152, 106, 82, 71, 223, - 59, 122, 83, 86, 72, 75, 92, -168, 102, 225, - 106, 78, 100, -166, 276, 89, 226, 117, 94, 44, - 45, 41, 42, 71, -169, -167, 59, 83, 86, 72, - 75, 92, 226, 102, 229, 106, 78, 71, 52, -168, - 89, 83, 86, 72, 75, 92, -166, 102, -169, 106, - 78, 59, 197, 198, 89, -167, -171, 207, 211, 365, - 231, 152, 71, 234, 199, 59, 83, 86, 50, 210, - 92, -21, -21, -21, -21, 78, 71, 201, 372, 89, - 83, 86, 49, 374, 92, 72, 75, 228, -220, 78, - 59, 226, 354, 89, 377, 72, 75, 40, 39, 102, - 237, 106, 341, nil, 59, 213, 196, 197, 198, 200, - 202, nil, 207, 211, nil, nil, nil, 97, 162, 199, - nil, nil, 83, 268, nil, nil, 92, nil, 71, nil, - nil, 137, 83, 86, nil, 89, 92, 44, 45, 41, - 42, 78, 100, 72, 75, 89, 59, 102, 94, 106, - 213, 196, 197, 198, 200, 202, 59, 207, 211, nil, - 213, 196, 197, 198, 199, 97, nil, 207, 211, 72, - 75, nil, nil, 102, 199, 106, 71, nil, nil, nil, - 83, 86, nil, nil, 92, nil, nil, nil, nil, 78, - 100, 97, nil, 89, nil, nil, 94, nil, nil, 72, - 75, nil, 71, 102, 59, 106, 83, 86, nil, nil, - 92, nil, nil, nil, nil, 78, 100, nil, nil, 89, - nil, 97, 94, nil, nil, 72, 75, nil, nil, 102, - 59, 106, 71, nil, nil, nil, 83, 86, nil, nil, - 92, nil, nil, nil, nil, 78, 100, 97, nil, 89, - 72, 75, 94, nil, 102, nil, 106, nil, 71, nil, - 59, nil, 83, 86, 72, 75, 92, nil, 102, nil, - nil, 78, 100, nil, nil, 89, nil, nil, 94, nil, - nil, nil, nil, 71, nil, nil, 59, 83, 86, 72, - 75, 92, nil, 102, nil, 106, 78, 71, nil, nil, - 89, 83, 143, nil, nil, 92, nil, nil, nil, nil, - 137, 59, nil, nil, 89, 72, 75, nil, nil, 102, - nil, 106, 71, nil, nil, 59, 83, 86, nil, nil, - 92, nil, nil, nil, nil, 78, nil, 97, nil, 89, - nil, 72, 75, nil, nil, 102, nil, 106, 71, nil, - 59, nil, 83, 86, nil, nil, 92, nil, nil, nil, - nil, 78, 100, 97, nil, 89, nil, nil, 94, nil, - nil, 72, 75, nil, 71, 102, 59, 106, 83, 86, - nil, nil, 92, nil, nil, nil, nil, 78, 100, nil, - nil, 89, nil, 97, 94, nil, nil, 72, 75, nil, - nil, 102, 59, 106, 71, nil, nil, nil, 83, 86, - nil, nil, 92, nil, nil, nil, nil, 78, 100, 97, - nil, 89, 72, 75, 94, nil, 102, nil, 106, nil, - 71, nil, 59, nil, 83, 86, nil, nil, 92, nil, - nil, nil, nil, 78, 100, nil, nil, 89, 72, 75, - 94, nil, 102, nil, 106, 71, nil, nil, 59, 83, - 86, nil, nil, 92, nil, nil, nil, nil, 78, nil, - 97, nil, 89, nil, 72, 75, nil, nil, 102, nil, - 106, 71, nil, 59, nil, 83, 86, nil, nil, 92, - nil, nil, 72, 75, 78, 100, 97, nil, 89, 72, - 75, 94, nil, 102, nil, 106, nil, 71, nil, 59, - nil, 83, 86, nil, nil, 92, nil, nil, nil, nil, - 78, 100, nil, nil, 89, 162, nil, 94, nil, 83, - 268, nil, 71, 92, nil, 59, 83, 86, 137, nil, - 92, nil, 89, nil, nil, 78, 72, 75, nil, 89, - 102, nil, 106, 59, nil, nil, nil, nil, nil, nil, - 59, nil, nil, nil, nil, 72, 75, nil, 97, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 71, - nil, nil, nil, 83, 86, nil, nil, 92, 177, nil, - 72, 75, 78, 100, nil, nil, 89, nil, 71, 94, - nil, nil, 83, 86, nil, nil, 92, 59, 72, 75, - 76, 78, 102, 339, 106, 89, nil, nil, nil, nil, - nil, nil, nil, 71, nil, nil, 59, 83, 86, nil, - 97, 92, nil, 72, 75, 76, 78, 102, nil, 106, - 89, 71, nil, 72, 75, 83, 86, nil, nil, 92, - nil, 59, nil, nil, 78, 100, nil, nil, 89, 72, - 75, 94, nil, nil, nil, nil, 71, nil, nil, 59, - 83, 86, nil, nil, 92, nil, 162, nil, nil, 78, - 83, 268, nil, 89, 92, nil, 72, 75, nil, 137, - 102, nil, 162, 89, 59, nil, 83, 268, nil, nil, - 92, nil, 72, 75, 59, 137, 102, nil, 106, 89, - nil, nil, 72, 75, nil, nil, 102, nil, 106, 71, - 59, nil, nil, 83, 268, nil, nil, 92, nil, nil, - nil, nil, 137, nil, 97, 71, 89, nil, nil, 83, - 86, nil, nil, 92, nil, 71, nil, 59, 78, 83, - 86, nil, 89, 92, nil, nil, nil, nil, 78, 100, - 72, 75, 89, 59, 102, 94, 106, 213, 196, 197, - 198, 200, 202, 59, 207, 211, nil, nil, nil, 72, - 75, 199, 97, 102, 189, 106, 72, 75, nil, nil, - 102, nil, 106, 71, nil, nil, nil, 83, 86, nil, - nil, 92, nil, nil, nil, nil, 78, 100, 72, 75, - 89, nil, 71, 94, nil, nil, 83, 86, nil, 71, - 92, 59, nil, 83, 86, 78, nil, 92, nil, 89, - nil, nil, 78, 72, 75, nil, 89, 102, nil, 106, - 59, 162, nil, nil, nil, 83, 268, 59, nil, 92, - nil, 72, 75, nil, 137, 102, nil, 106, 89, nil, - nil, nil, nil, nil, nil, nil, 71, nil, nil, 59, - 83, 86, nil, 97, 92, nil, nil, nil, nil, 78, - nil, 72, 75, 89, 71, 102, nil, 106, 83, 86, - nil, nil, 92, nil, 59, nil, nil, 78, 100, nil, - nil, 89, nil, 97, 94, nil, nil, 72, 75, nil, - nil, 102, 59, 106, 71, nil, nil, nil, 83, 86, - nil, nil, 92, nil, nil, nil, nil, 78, 100, 97, - nil, 89, nil, nil, 94, nil, nil, nil, nil, nil, - 71, nil, 59, nil, 83, 86, 212, nil, 92, nil, - nil, nil, nil, 78, 100, 205, 210, 89, nil, nil, - 94, nil, nil, nil, 201, 203, 206, 209, 59, nil, - 205, 210, nil, nil, nil, nil, nil, nil, nil, 201, - 203, 206, 209, nil, nil, nil, nil, nil, 204, 208, - nil, nil, 213, 196, 197, 198, 200, 202, nil, 207, - 211, nil, nil, 204, 208, nil, 199, 213, 196, 197, - 198, 200, 202, nil, 207, 211, 205, 210, nil, nil, - nil, 199, nil, nil, nil, 201, 203, 206, 209, nil, - nil, 205, 210, nil, nil, nil, nil, nil, nil, nil, - 201, 203, 206, 209, nil, nil, nil, nil, nil, 204, - 208, nil, nil, 213, 196, 197, 198, 200, 202, nil, - 207, 211, nil, nil, 204, 208, nil, 199, 213, 196, - 197, 198, 200, 202, nil, 207, 211, 205, 210, nil, - nil, nil, 199, nil, nil, nil, 201, 203, 206, 209, - nil, nil, 205, 210, nil, nil, nil, nil, nil, nil, - 273, 201, 203, 206, 209, nil, nil, nil, nil, nil, - nil, 208, nil, nil, 213, 196, 197, 198, 200, 202, - nil, 207, 211, nil, nil, 204, 208, nil, 199, 213, - 196, 197, 198, 200, 202, nil, 207, 211, 205, 210, - nil, nil, nil, 199, nil, nil, nil, 201, 203, 206, - 209, nil, nil, 26, 210, 33, 1, nil, 7, 12, - nil, 17, 201, 23, nil, 29, nil, 3, nil, nil, - 11, 14, nil, 210, nil, 213, 196, 197, 198, 200, - 202, 201, 207, 211, nil, nil, nil, nil, nil, 199, - 213, 196, 197, 198, 200, 202, nil, 207, 211, nil, - nil, 324, nil, nil, 199, nil, nil, nil, nil, 213, - 196, 197, 198, 200, 202, nil, 207, 211, nil, nil, - 379, nil, 26, 199, 33, 1, nil, 7, 12, nil, - 17, nil, 23, nil, 29, nil, 3, nil, nil, 11, - 14, 26, 382, 33, 1, nil, 7, 12, nil, 17, - nil, 23, nil, 29, nil, 3, nil, nil, 11, 14, - nil, 296, nil, 26, nil, 33, 1, nil, 7, 12, - nil, 17, nil, 23, nil, 29, nil, 3, nil, nil, - 11, 14, 26, 364, 33, 1, nil, 7, 12, nil, - 17, nil, 23, nil, 29, nil, 3, nil, nil, 11, - 14, nil, 381, nil, 26, nil, 33, 1, nil, 7, - 12, nil, 17, nil, 23, nil, 29, nil, 3, nil, - nil, 11, 14, 26, 383, 33, 1, nil, 7, 12, - nil, 17, nil, 23, nil, 29, nil, 3, nil, nil, - 11, 14, nil, 357, nil, 26, nil, 33, 1, nil, - 7, 12, nil, 17, nil, 23, nil, 29, nil, 3, - nil, nil, 11, 14, 26, 363, 33, 1, nil, 7, - 12, nil, 17, nil, 23, nil, 29, nil, 3, nil, - nil, 11, 14, nil, 375, nil, 26, nil, 33, 1, - nil, 7, 12, nil, 17, nil, 23, nil, 29, nil, - 3, nil, nil, 11, 14, 26, 304, 33, 1, nil, - 7, 12, nil, 17, nil, 23, nil, 29, nil, 3, - nil, nil, 11, 14, nil, 349, nil, 26, nil, 33, - 1, nil, 7, 12, nil, 17, nil, 23, nil, 29, - nil, 3, nil, nil, 11, 14, 26, nil, 33, 1, - nil, 7, 12, nil, 17, nil, 23, nil, 29, nil, - 3, nil, nil, 11, 14, 26, nil, 33, 1, nil, - 7, 12, nil, 17, nil, 23, nil, 29, nil, 3, - nil, nil, 11, 14 ] + 242, 243, 55, 231, 356, 112, 157, 113, 78, 298, + 68, 71, 357, 181, 186, 326, 344, 340, 55, 295, + 114, 231, 177, 179, 182, 185, 170, 294, 68, 71, + 286, 158, 100, 285, 103, 68, 71, 291, 292, 55, + 59, 291, 292, 61, 111, 233, 180, 184, 198, 231, + 189, 172, 173, 174, 176, 178, 59, 183, 187, 61, + -168, 66, 170, 60, 175, 79, 81, 186, 202, 88, + 112, 166, 79, 252, 74, 177, 88, 59, 84, 60, + 61, 139, 68, 71, 333, 84, 100, 117, 103, 60, + 36, -170, 68, 71, 38, 306, 60, 307, 203, 240, + 60, 10, 203, 189, 172, 173, 174, 176, 178, 202, + 183, 187, 241, 202, 209, 66, 218, 175, 209, 79, + 81, 219, 284, 88, 309, 202, 256, 283, 74, 79, + 252, 308, 84, 88, 203, 68, 71, 310, 139, 100, + 203, 103, 84, 60, 218, 202, 256, 367, 36, 219, + 209, 202, 38, 60, 68, 71, 209, 95, 100, 10, + 103, 68, 71, 68, 71, 100, 337, 103, 66, 335, + 199, 154, 79, 81, 173, 174, 88, 183, 187, 183, + 187, 74, 99, 95, 175, 84, 175, 66, 90, 311, + 337, 79, 81, 335, 66, 88, 60, 287, 79, 81, + 74, 198, 88, 315, 84, 68, 71, 74, 99, -172, + 213, 84, 68, 71, 90, 60, 100, 36, 103, 68, + 71, 38, 60, 100, 318, 103, 68, 71, 10, 15, + 36, -167, 213, 355, 38, 167, 36, 313, 202, 154, + 127, 10, 79, 252, 323, 66, 88, 10, 15, 79, + 81, 139, 66, 88, 166, 84, 79, 81, 74, 202, + 88, 229, 84, 79, 252, 74, 60, 88, 49, 84, + 68, 71, 139, 60, 78, -186, 84, 47, 48, 49, + 60, 329, 36, 170, 183, 187, 127, 60, -169, 68, + 71, 175, 70, 10, 15, 68, 71, 161, -171, 100, + 289, 103, -169, 66, 291, 292, 60, 79, 81, 258, + -167, 88, -170, 256, 257, 72, 74, 95, -168, 60, + 84, 156, 66, 154, 68, 71, 79, 81, 66, 122, + 88, 60, 79, 81, 72, 74, 88, -170, -173, 84, + -172, 74, 99, 68, 71, 84, -171, 100, 90, 103, + 60, 200, 334, 68, 71, 213, 60, 202, 215, 254, + 338, 79, 252, 173, 174, 88, 122, 296, 183, 187, + 139, 256, 257, 216, 84, 175, 66, 234, 68, 71, + 79, 81, 113, 117, 88, 60, 202, 217, 78, 74, + 79, 252, 353, 84, 88, 53, 68, 71, 223, 139, + 100, 260, 103, 84, 60, 43, 44, 40, 41, 358, + 52, 66, 51, 225, 60, 79, 81, -169, 229, 88, + 365, 68, 71, 72, 74, 100, 238, 103, 84, 66, + 228, -167, 234, 79, 81, 372, 373, 88, -169, 60, + -167, -170, 74, 95, -168, -172, 84, 68, 71, 45, + 375, 100, 229, 103, 66, -221, 232, 60, 79, 81, + 378, 39, 88, -24, -24, -24, -24, 74, 99, 95, + -168, 84, 383, 384, 90, nil, nil, 68, 71, nil, + 66, 100, 60, 103, 79, 81, nil, nil, 88, -22, + -22, -22, -22, 74, 99, nil, nil, 84, nil, 95, + 90, nil, nil, 68, 71, nil, nil, 100, 60, 103, + 66, nil, nil, nil, 79, 81, nil, nil, 88, 43, + 44, 40, 41, 74, 99, 95, nil, 84, nil, nil, + 90, nil, nil, 68, 71, nil, 66, 100, 60, 103, + 79, 81, nil, nil, 88, nil, nil, nil, nil, 74, + 99, nil, nil, 84, nil, 95, 90, nil, nil, 68, + 71, nil, nil, 100, 60, 103, 66, nil, nil, nil, + 79, 81, nil, nil, 88, nil, nil, 68, 71, 74, + 99, 100, nil, 84, 68, 71, 90, nil, 100, nil, + 103, nil, 66, nil, 60, nil, 79, 81, nil, nil, + 88, nil, nil, nil, nil, 74, 95, nil, nil, 84, + 66, nil, nil, nil, 79, 144, nil, 66, 88, nil, + 60, 79, 81, 139, nil, 88, nil, 84, nil, nil, + 74, 99, nil, nil, 84, 68, 71, 90, 60, 100, + nil, 103, nil, nil, nil, 60, nil, nil, nil, nil, + nil, nil, nil, nil, 68, 71, nil, 95, 100, nil, + 103, 68, 71, nil, nil, 100, nil, 103, 66, nil, + nil, nil, 79, 81, nil, nil, 88, nil, nil, 68, + 71, 74, 99, nil, nil, 84, nil, 66, 90, nil, + nil, 79, 81, nil, 66, 88, 60, nil, 79, 81, + 74, nil, 88, nil, 84, 68, 71, 74, nil, nil, + nil, 84, 202, nil, nil, 60, 79, 252, nil, nil, + 88, nil, 60, nil, nil, 139, 68, 71, 162, 84, + 100, nil, 103, nil, nil, nil, nil, nil, 66, nil, + 60, nil, 79, 81, nil, nil, 88, nil, 95, nil, + 72, 74, 68, 71, nil, 84, 100, nil, 103, 66, + nil, nil, nil, 79, 81, nil, 60, 88, nil, nil, + nil, nil, 74, 99, 95, nil, 84, 68, 71, 90, + nil, nil, nil, nil, nil, 66, nil, 60, nil, 79, + 81, nil, nil, 88, nil, nil, nil, nil, 74, 99, + 327, nil, 84, 68, 71, 90, nil, 100, nil, 103, + 66, nil, nil, 60, 79, 81, nil, nil, 88, nil, + nil, nil, 72, 74, nil, 95, nil, 84, 68, 71, + nil, nil, 100, nil, 103, nil, 66, nil, 60, nil, + 79, 81, 68, 71, 88, nil, 100, nil, 103, 74, + 99, nil, nil, 84, nil, nil, 90, nil, nil, nil, + nil, 66, nil, nil, 60, 79, 81, 68, 71, 88, + nil, 100, nil, 103, 74, 66, nil, nil, 84, 79, + 81, 68, 71, 88, nil, 100, nil, nil, 74, 60, + nil, nil, 84, nil, nil, nil, nil, nil, nil, nil, + 66, nil, nil, 60, 79, 81, nil, nil, 88, nil, + nil, 68, 71, 74, 66, nil, nil, 84, 79, 252, + nil, nil, 88, nil, nil, nil, nil, 139, 60, 68, + 71, 84, nil, 100, nil, 103, nil, nil, nil, nil, + nil, nil, 60, nil, 202, nil, nil, nil, 79, 252, + nil, 95, 88, nil, nil, nil, nil, 139, nil, 68, + 71, 84, 66, 100, nil, 103, 79, 81, nil, nil, + 88, nil, 60, nil, nil, 74, 99, nil, nil, 84, + nil, 95, 90, nil, nil, 68, 71, nil, nil, 100, + 60, 103, 66, nil, nil, nil, 79, 81, nil, nil, + 88, nil, nil, nil, nil, 74, 99, 95, nil, 84, + nil, nil, 90, nil, nil, 68, 71, nil, 66, 100, + 60, 103, 79, 81, nil, nil, 88, nil, nil, nil, + nil, 74, 99, nil, nil, 84, nil, 95, 90, nil, + nil, 68, 71, nil, nil, 100, 60, 103, 66, nil, + nil, nil, 79, 81, nil, nil, 88, nil, nil, nil, + nil, 74, 99, 95, nil, 84, nil, nil, 90, nil, + nil, 68, 71, nil, 66, 100, 60, 103, 79, 81, + nil, nil, 88, nil, nil, nil, nil, 74, 99, nil, + nil, 84, nil, 95, 90, nil, nil, 68, 71, nil, + nil, 100, 60, 103, 66, nil, nil, nil, 79, 81, + nil, nil, 88, nil, nil, nil, nil, 74, 99, 95, + nil, 84, nil, nil, 90, nil, nil, 68, 71, nil, + 66, 100, 60, 103, 79, 81, nil, nil, 88, nil, + nil, nil, nil, 74, 99, nil, nil, 84, nil, 95, + 90, nil, nil, 68, 71, nil, nil, 100, 60, 103, + 66, nil, nil, nil, 79, 81, nil, nil, 88, nil, + nil, nil, nil, 74, 99, 95, nil, 84, 68, 71, + 90, nil, 100, 193, 103, nil, 66, nil, 60, nil, + 79, 81, nil, nil, 88, nil, nil, nil, nil, 74, + 99, nil, nil, 84, 68, 71, 90, nil, 100, nil, + 103, 66, nil, nil, 60, 79, 81, nil, nil, 88, + nil, nil, nil, nil, 74, nil, 95, nil, 84, nil, + 68, 71, nil, nil, 100, nil, 103, 66, nil, 60, + nil, 79, 81, nil, nil, 88, nil, nil, nil, nil, + 74, 99, 95, nil, 84, nil, nil, 90, nil, nil, + nil, nil, nil, 66, nil, 60, nil, 79, 81, 188, + nil, 88, nil, nil, nil, nil, 74, 99, 181, 186, + 84, nil, nil, 90, nil, nil, nil, 177, 179, 182, + 185, 60, nil, 181, 186, nil, nil, nil, nil, nil, + nil, 282, 177, 179, 182, 185, nil, nil, nil, nil, + nil, 180, 184, nil, nil, 189, 172, 173, 174, 176, + 178, nil, 183, 187, nil, nil, 180, 184, nil, 175, + 189, 172, 173, 174, 176, 178, nil, 183, 187, 181, + 186, nil, nil, nil, 175, nil, nil, nil, 177, 179, + 182, 185, nil, nil, 181, 186, nil, nil, nil, nil, + nil, nil, nil, 177, 179, 182, 185, nil, nil, nil, + nil, nil, nil, nil, nil, nil, 189, 172, 173, 174, + 176, 178, nil, 183, 187, nil, nil, 180, 184, nil, + 175, 189, 172, 173, 174, 176, 178, nil, 183, 187, + 181, 186, nil, nil, nil, 175, nil, nil, nil, 177, + 179, 182, 185, nil, nil, 181, 186, nil, nil, nil, + nil, nil, nil, nil, 177, 179, 182, 185, nil, nil, + nil, nil, nil, 180, 184, nil, nil, 189, 172, 173, + 174, 176, 178, nil, 183, 187, nil, nil, nil, 184, + nil, 175, 189, 172, 173, 174, 176, 178, nil, 183, + 187, 181, 186, nil, nil, nil, 175, nil, nil, nil, + 177, 179, 182, 185, nil, nil, nil, 186, nil, 189, + 172, 173, 174, 176, 178, 177, 183, 187, nil, nil, + nil, nil, nil, 175, 180, 184, 186, nil, 189, 172, + 173, 174, 176, 178, 177, 183, 187, nil, nil, nil, + nil, 186, 175, 189, 172, 173, 174, 176, 178, 177, + 183, 187, nil, nil, nil, nil, nil, 175, nil, nil, + nil, nil, 189, 172, 173, 174, 176, 178, nil, 183, + 187, 280, nil, nil, nil, nil, 175, 189, 172, 173, + 174, 176, 178, nil, 183, 187, nil, nil, nil, nil, + 325, 175, 26, nil, 32, 1, nil, 8, 11, nil, + 18, nil, 23, nil, 29, nil, 2, nil, nil, 10, + 15, 26, 363, 32, 1, nil, 8, 11, nil, 18, + nil, 23, nil, 29, nil, 2, nil, nil, 10, 15, + nil, 382, nil, 26, nil, 32, 1, nil, 8, 11, + nil, 18, nil, 23, nil, 29, nil, 2, nil, nil, + 10, 15, 26, 380, 32, 1, nil, 8, 11, nil, + 18, nil, 23, nil, 29, nil, 2, nil, nil, 10, + 15, nil, 376, nil, 26, nil, 32, 1, nil, 8, + 11, nil, 18, nil, 23, nil, 29, nil, 2, nil, + nil, 10, 15, 26, 305, 32, 1, nil, 8, 11, + nil, 18, nil, 23, nil, 29, nil, 2, nil, nil, + 10, 15, nil, nil, nil, 26, nil, 32, 1, nil, + 8, 11, nil, 18, nil, 23, nil, 29, nil, 2, + nil, nil, 10, 15, 26, nil, 32, 1, nil, 8, + 11, nil, 18, nil, 23, nil, 29, nil, 2, nil, + nil, 10, 15, 26, nil, 32, 1, nil, 8, 11, + nil, 18, nil, 23, nil, 29, nil, 2, nil, nil, + 10, 15, 26, nil, 32, 1, nil, 8, 11, nil, + 18, nil, 23, nil, 29, nil, 2, nil, nil, 10, + 15, 189, 172, 173, 174, 176, 178, nil, 183, 187, + 189, 172, 173, 174, nil, 175, nil, 183, 187, 189, + 172, 173, 174, nil, 175, nil, 183, 187, nil, nil, + nil, nil, nil, 175 ] racc_action_check = [ - 180, 180, 152, 86, 156, 106, 106, 272, 174, 7, - 277, 277, 106, 180, 180, 65, 55, 277, 7, 7, - 272, 86, 180, 180, 180, 180, 65, 296, 17, 80, - 296, 65, 158, 95, 202, 202, 174, 174, 202, 218, - 202, 55, 156, 106, 152, 156, 180, 180, 277, 219, - 180, 180, 180, 180, 180, 180, 202, 180, 180, 181, - 181, 368, 368, 239, 180, 156, 17, 202, 165, 17, - 158, 202, 202, 158, 239, 202, 165, 182, 182, 239, - 202, 202, 349, 182, 202, 349, 22, 202, 22, 17, - 143, 243, 181, 158, 368, 202, 181, 181, 368, 368, - 181, 22, 368, 143, 181, 181, 220, 368, 163, 181, - 182, 368, 355, 355, 182, 182, 243, 243, 182, 163, - 181, 62, 368, 182, 163, 22, 178, 182, 281, 281, - 351, 351, 62, 221, 351, 281, 351, 62, 182, 178, - 285, 285, 285, 285, 101, 355, 221, 285, 285, 355, - 355, 224, 351, 355, 285, 341, 341, 300, 355, 341, - 91, 341, 355, 351, 308, 300, 226, 351, 351, 308, - 227, 351, 90, 355, 184, 184, 351, 351, 12, 122, - 351, 171, 12, 351, 122, 171, 171, 229, 341, 12, - 286, 351, 341, 341, 343, 343, 341, 184, 286, 1, - 87, 341, 30, 1, 183, 341, 30, 184, 183, 183, - 1, 184, 184, 30, 30, 184, 341, 196, 196, 184, - 184, 196, 195, 196, 184, 195, 286, 286, 286, 286, - 286, 286, 188, 286, 286, 184, 188, 188, 231, 196, - 286, 120, 232, 197, 197, 120, 233, 197, 103, 197, - 196, 85, 120, 120, 196, 196, 105, 43, 196, 280, - 280, 43, 84, 196, 196, 197, 280, 196, 43, 43, - 196, 81, 215, 23, 23, 78, 197, 23, 196, 250, - 197, 197, 279, 279, 197, 252, 253, 279, 279, 197, - 197, 77, 71, 197, 279, 23, 197, 160, 68, 26, - 26, 160, 160, 26, 197, 26, 23, 268, 67, 234, - 23, 23, 211, 234, 23, 274, 234, 66, 23, 23, - 234, 26, 107, 23, 108, 198, 198, 109, 207, 198, - 114, 198, 26, 115, 23, 119, 26, 26, 64, 121, - 26, 35, 35, 35, 35, 26, 26, 198, 52, 26, - 29, 29, 26, 51, 29, 50, 29, 127, 198, 132, - 26, 36, 198, 198, 307, 307, 198, 133, 307, 136, - 307, 198, 198, 138, 192, 198, 139, 33, 198, 34, - 34, 34, 34, 29, 140, 142, 198, 29, 29, 305, - 305, 29, 315, 305, 144, 305, 29, 307, 16, 327, - 29, 307, 307, 199, 199, 307, 328, 199, 330, 199, - 307, 29, 297, 297, 307, 331, 332, 297, 297, 337, - 153, 175, 305, 154, 297, 307, 305, 305, 9, 288, - 305, 28, 28, 28, 28, 305, 199, 288, 352, 305, - 199, 199, 8, 356, 199, 298, 298, 173, 367, 199, - 305, 172, 298, 199, 369, 200, 200, 3, 2, 200, - 157, 200, 263, nil, 199, 288, 288, 288, 288, 288, - 288, nil, 288, 288, nil, nil, nil, 200, 298, 288, - nil, nil, 298, 298, nil, nil, 298, nil, 200, nil, - nil, 298, 200, 200, nil, 298, 200, 4, 4, 4, - 4, 200, 200, 39, 39, 200, 298, 39, 200, 39, - 293, 293, 293, 293, 293, 293, 200, 293, 293, nil, - 283, 283, 283, 283, 293, 39, nil, 283, 283, 201, - 201, nil, nil, 201, 283, 201, 39, nil, nil, nil, - 39, 39, nil, nil, 39, nil, nil, nil, nil, 39, - 39, 201, nil, 39, nil, nil, 39, nil, nil, 46, - 46, nil, 201, 46, 39, 46, 201, 201, nil, nil, - 201, nil, nil, nil, nil, 201, 201, nil, nil, 201, - nil, 46, 201, nil, nil, 47, 47, nil, nil, 47, - 201, 47, 46, nil, nil, nil, 46, 46, nil, nil, - 46, nil, nil, nil, nil, 46, 46, 47, nil, 46, - 48, 48, 46, nil, 48, nil, 48, nil, 47, nil, - 46, nil, 47, 47, 49, 49, 47, nil, 49, nil, - nil, 47, 47, nil, nil, 47, nil, nil, 47, nil, - nil, nil, nil, 48, nil, nil, 47, 48, 48, 176, - 176, 48, nil, 176, nil, 176, 48, 49, nil, nil, - 48, 49, 49, nil, nil, 49, nil, nil, nil, nil, - 49, 48, nil, nil, 49, 203, 203, nil, nil, 203, - nil, 203, 176, nil, nil, 49, 176, 176, nil, nil, - 176, nil, nil, nil, nil, 176, nil, 203, nil, 176, - nil, 204, 204, nil, nil, 204, nil, 204, 203, nil, - 176, nil, 203, 203, nil, nil, 203, nil, nil, nil, - nil, 203, 203, 204, nil, 203, nil, nil, 203, nil, - nil, 205, 205, nil, 204, 205, 203, 205, 204, 204, - nil, nil, 204, nil, nil, nil, nil, 204, 204, nil, - nil, 204, nil, 205, 204, nil, nil, 100, 100, nil, - nil, 100, 204, 100, 205, nil, nil, nil, 205, 205, - nil, nil, 205, nil, nil, nil, nil, 205, 205, 100, - nil, 205, 63, 63, 205, nil, 63, nil, 63, nil, - 100, nil, 205, nil, 100, 100, nil, nil, 100, nil, - nil, nil, nil, 100, 100, nil, nil, 100, 208, 208, - 100, nil, 208, nil, 208, 63, nil, nil, 100, 63, - 63, nil, nil, 63, nil, nil, nil, nil, 63, nil, - 208, nil, 63, nil, 209, 209, nil, nil, 209, nil, - 209, 208, nil, 63, nil, 208, 208, nil, nil, 208, - nil, nil, 269, 269, 208, 208, 209, nil, 208, 276, - 276, 208, nil, 276, nil, 276, nil, 209, nil, 208, - nil, 209, 209, nil, nil, 209, nil, nil, nil, nil, - 209, 209, nil, nil, 209, 269, nil, 209, nil, 269, - 269, nil, 276, 269, nil, 209, 276, 276, 269, nil, - 276, nil, 269, nil, nil, 276, 256, 256, nil, 276, - 256, nil, 256, 269, nil, nil, nil, nil, nil, nil, - 276, nil, nil, nil, nil, 74, 74, nil, 256, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 256, - nil, nil, nil, 256, 256, nil, nil, 256, 74, nil, - 254, 254, 256, 256, nil, nil, 256, nil, 74, 256, - nil, nil, 74, 74, nil, nil, 74, 256, 75, 75, - 74, 74, 75, 254, 75, 74, nil, nil, nil, nil, - nil, nil, nil, 254, nil, nil, 74, 254, 254, nil, - 75, 254, nil, 248, 248, 254, 254, 248, nil, 248, - 254, 75, nil, 245, 245, 75, 75, nil, nil, 75, - nil, 254, nil, nil, 75, 75, nil, nil, 75, 244, - 244, 75, nil, nil, nil, nil, 248, nil, nil, 75, - 248, 248, nil, nil, 248, nil, 245, nil, nil, 248, - 245, 245, nil, 248, 245, nil, 225, 225, nil, 245, - 225, nil, 244, 245, 248, nil, 244, 244, nil, nil, - 244, nil, 82, 82, 245, 244, 82, nil, 82, 244, - nil, nil, 210, 210, nil, nil, 210, nil, 210, 225, - 244, nil, nil, 225, 225, nil, nil, 225, nil, nil, - nil, nil, 225, nil, 210, 82, 225, nil, nil, 82, - 82, nil, nil, 82, nil, 210, nil, 225, 82, 210, - 210, nil, 82, 210, nil, nil, nil, nil, 210, 210, - 213, 213, 210, 82, 213, 210, 213, 284, 284, 284, - 284, 284, 284, 210, 284, 284, nil, nil, nil, 102, - 102, 284, 213, 102, 102, 102, 230, 230, nil, nil, - 230, nil, 230, 213, nil, nil, nil, 213, 213, nil, - nil, 213, nil, nil, nil, nil, 213, 213, 214, 214, - 213, nil, 102, 213, nil, nil, 102, 102, nil, 230, - 102, 213, nil, 230, 230, 102, nil, 230, nil, 102, - nil, nil, 230, 228, 228, nil, 230, 228, nil, 228, - 102, 214, nil, nil, nil, 214, 214, 230, nil, 214, - nil, 94, 94, nil, 214, 94, nil, 94, 214, nil, - nil, nil, nil, nil, nil, nil, 228, nil, nil, 214, - 228, 228, nil, 94, 228, nil, nil, nil, nil, 228, - nil, 97, 97, 228, 94, 97, nil, 97, 94, 94, - nil, nil, 94, nil, 228, nil, nil, 94, 94, nil, - nil, 94, nil, 97, 94, nil, nil, 206, 206, nil, - nil, 206, 94, 206, 97, nil, nil, nil, 97, 97, - nil, nil, 97, nil, nil, nil, nil, 97, 97, 206, - nil, 97, nil, nil, 97, nil, nil, nil, nil, nil, - 206, nil, 97, nil, 206, 206, 111, nil, 206, nil, - nil, nil, nil, 206, 206, 111, 111, 206, nil, nil, - 206, nil, nil, nil, 111, 111, 111, 111, 206, nil, - 124, 124, nil, nil, nil, nil, nil, nil, nil, 124, - 124, 124, 124, nil, nil, nil, nil, nil, 111, 111, - nil, nil, 111, 111, 111, 111, 111, 111, nil, 111, - 111, nil, nil, 124, 124, nil, 111, 124, 124, 124, - 124, 124, 124, nil, 124, 124, 130, 130, nil, nil, - nil, 124, nil, nil, nil, 130, 130, 130, 130, nil, - nil, 131, 131, nil, nil, nil, nil, nil, nil, nil, - 131, 131, 131, 131, nil, nil, nil, nil, nil, 130, - 130, nil, nil, 130, 130, 130, 130, 130, 130, nil, - 130, 130, nil, nil, 131, 131, nil, 130, 131, 131, - 131, 131, 131, 131, nil, 131, 131, 287, 287, nil, - nil, nil, 131, nil, nil, nil, 287, 287, 287, 287, - nil, nil, 186, 186, nil, nil, nil, nil, nil, nil, - 186, 186, 186, 186, 186, nil, nil, nil, nil, nil, - nil, 287, nil, nil, 287, 287, 287, 287, 287, 287, - nil, 287, 287, nil, nil, 186, 186, nil, 287, 186, - 186, 186, 186, 186, 186, nil, 186, 186, 291, 291, - nil, nil, nil, 186, nil, nil, nil, 291, 291, 291, - 291, nil, nil, 19, 292, 19, 19, nil, 19, 19, - nil, 19, 292, 19, nil, 19, nil, 19, nil, nil, - 19, 19, nil, 289, nil, 291, 291, 291, 291, 291, - 291, 289, 291, 291, nil, nil, nil, nil, nil, 291, - 292, 292, 292, 292, 292, 292, nil, 292, 292, nil, - nil, 237, nil, nil, 292, nil, nil, nil, nil, 289, - 289, 289, 289, 289, 289, nil, 289, 289, nil, nil, - 372, nil, 237, 289, 237, 237, nil, 237, 237, nil, - 237, nil, 237, nil, 237, nil, 237, nil, nil, 237, - 237, 372, 378, 372, 372, nil, 372, 372, nil, 372, - nil, 372, nil, 372, nil, 372, nil, nil, 372, 372, - nil, 212, nil, 378, nil, 378, 378, nil, 378, 378, - nil, 378, nil, 378, nil, 378, nil, 378, nil, nil, - 378, 378, 212, 323, 212, 212, nil, 212, 212, nil, - 212, nil, 212, nil, 212, nil, 212, nil, nil, 212, - 212, nil, 374, nil, 323, nil, 323, 323, nil, 323, - 323, nil, 323, nil, 323, nil, 323, nil, 323, nil, - nil, 323, 323, 374, 380, 374, 374, nil, 374, 374, - nil, 374, nil, 374, nil, 374, nil, 374, nil, nil, - 374, 374, nil, 303, nil, 380, nil, 380, 380, nil, - 380, 380, nil, 380, nil, 380, nil, 380, nil, 380, - nil, nil, 380, 380, 303, 319, 303, 303, nil, 303, - 303, nil, 303, nil, 303, nil, 303, nil, 303, nil, - nil, 303, 303, nil, 362, nil, 319, nil, 319, 319, - nil, 319, 319, nil, 319, nil, 319, nil, 319, nil, - 319, nil, nil, 319, 319, 362, 217, 362, 362, nil, - 362, 362, nil, 362, nil, 362, nil, 362, nil, 362, - nil, nil, 362, 362, nil, 295, nil, 217, nil, 217, - 217, nil, 217, 217, nil, 217, nil, 217, nil, 217, - nil, 217, nil, nil, 217, 217, 295, nil, 295, 295, - nil, 295, 295, nil, 295, nil, 295, nil, 295, nil, - 295, nil, nil, 295, 295, 0, nil, 0, 0, nil, - 0, 0, nil, 0, nil, 0, nil, 0, nil, 0, - nil, nil, 0, 0 ] + 164, 164, 158, 154, 301, 27, 56, 27, 81, 214, + 285, 285, 301, 164, 164, 239, 293, 285, 18, 206, + 27, 213, 164, 164, 164, 164, 81, 206, 175, 175, + 194, 56, 175, 194, 175, 368, 368, 214, 214, 157, + 158, 293, 293, 158, 27, 154, 164, 164, 285, 144, + 164, 164, 164, 164, 164, 164, 18, 164, 164, 18, + 85, 175, 144, 158, 164, 175, 175, 272, 368, 175, + 83, 261, 368, 368, 175, 272, 368, 157, 175, 18, + 157, 368, 161, 161, 261, 368, 161, 216, 161, 175, + 1, 82, 356, 356, 1, 218, 368, 219, 203, 163, + 157, 1, 114, 272, 272, 272, 272, 272, 272, 203, + 272, 272, 163, 114, 203, 161, 122, 272, 114, 161, + 161, 122, 192, 161, 221, 356, 192, 192, 161, 356, + 356, 220, 161, 356, 290, 335, 335, 221, 356, 335, + 111, 335, 356, 161, 309, 290, 331, 331, 11, 309, + 290, 111, 11, 356, 329, 329, 111, 335, 329, 11, + 329, 48, 48, 103, 103, 48, 334, 48, 335, 334, + 103, 200, 335, 335, 262, 262, 335, 263, 263, 262, + 262, 335, 335, 48, 263, 335, 262, 329, 335, 224, + 280, 329, 329, 280, 48, 329, 335, 197, 48, 48, + 329, 103, 48, 227, 329, 295, 295, 48, 48, 87, + 229, 48, 307, 307, 48, 329, 307, 33, 307, 306, + 306, 33, 48, 306, 230, 306, 299, 299, 33, 33, + 225, 80, 232, 299, 225, 77, 46, 225, 295, 234, + 46, 225, 295, 295, 235, 307, 295, 46, 46, 307, + 307, 295, 306, 307, 75, 295, 306, 306, 307, 299, + 306, 212, 307, 299, 299, 306, 295, 299, 8, 306, + 23, 23, 299, 307, 23, 74, 299, 8, 8, 66, + 306, 249, 42, 252, 264, 264, 42, 299, 65, 166, + 166, 264, 23, 42, 42, 26, 26, 64, 89, 26, + 201, 26, 94, 23, 201, 201, 187, 23, 23, 169, + 101, 23, 102, 169, 169, 23, 23, 26, 105, 183, + 23, 53, 166, 52, 294, 294, 166, 166, 26, 50, + 166, 23, 26, 26, 166, 166, 26, 143, 106, 166, + 107, 26, 26, 29, 29, 26, 108, 29, 26, 29, + 166, 110, 279, 167, 167, 113, 26, 294, 115, 167, + 283, 294, 294, 281, 281, 294, 37, 211, 281, 281, + 294, 211, 211, 116, 294, 281, 29, 288, 170, 170, + 29, 29, 119, 32, 29, 294, 167, 121, 127, 29, + 167, 167, 297, 29, 167, 17, 287, 287, 133, 167, + 287, 170, 287, 167, 29, 3, 3, 3, 3, 304, + 13, 170, 12, 134, 167, 170, 170, 136, 320, 170, + 324, 172, 172, 170, 170, 172, 159, 172, 170, 287, + 140, 141, 155, 287, 287, 337, 342, 287, 346, 170, + 347, 349, 287, 172, 350, 351, 287, 45, 45, 5, + 357, 45, 142, 45, 172, 367, 147, 287, 172, 172, + 369, 2, 172, 4, 4, 4, 4, 172, 172, 45, + 146, 172, 379, 381, 172, nil, nil, 173, 173, nil, + 45, 173, 172, 173, 45, 45, nil, nil, 45, 31, + 31, 31, 31, 45, 45, nil, nil, 45, nil, 173, + 45, nil, nil, 47, 47, nil, nil, 47, 45, 47, + 173, nil, nil, nil, 173, 173, nil, nil, 173, 6, + 6, 6, 6, 173, 173, 47, nil, 173, nil, nil, + 173, nil, nil, 174, 174, nil, 47, 174, 173, 174, + 47, 47, nil, nil, 47, nil, nil, nil, nil, 47, + 47, nil, nil, 47, nil, 174, 47, nil, nil, 49, + 49, nil, nil, 49, 47, 49, 174, nil, nil, nil, + 174, 174, nil, nil, 174, nil, nil, 51, 51, 174, + 174, 51, nil, 174, 176, 176, 174, nil, 176, nil, + 176, nil, 49, nil, 174, nil, 49, 49, nil, nil, + 49, nil, nil, nil, nil, 49, 176, nil, nil, 49, + 51, nil, nil, nil, 51, 51, nil, 176, 51, nil, + 49, 176, 176, 51, nil, 176, nil, 51, nil, nil, + 176, 176, nil, nil, 176, 177, 177, 176, 51, 177, + nil, 177, nil, nil, nil, 176, nil, nil, nil, nil, + nil, nil, nil, nil, 112, 112, nil, 177, 112, nil, + 112, 259, 259, nil, nil, 259, nil, 259, 177, nil, + nil, nil, 177, 177, nil, nil, 177, nil, nil, 254, + 254, 177, 177, nil, nil, 177, nil, 112, 177, nil, + nil, 112, 112, nil, 259, 112, 177, nil, 259, 259, + 112, nil, 259, nil, 112, 70, 70, 259, nil, nil, + nil, 259, 254, nil, nil, 112, 254, 254, nil, nil, + 254, nil, 259, nil, nil, 254, 242, 242, 70, 254, + 242, nil, 242, nil, nil, nil, nil, nil, 70, nil, + 254, nil, 70, 70, nil, nil, 70, nil, 242, nil, + 70, 70, 71, 71, nil, 70, 71, nil, 71, 242, + nil, nil, nil, 242, 242, nil, 70, 242, nil, nil, + nil, nil, 242, 242, 71, nil, 242, 240, 240, 242, + nil, nil, nil, nil, nil, 71, nil, 242, nil, 71, + 71, nil, nil, 71, nil, nil, nil, nil, 71, 71, + 240, nil, 71, 178, 178, 71, nil, 178, nil, 178, + 240, nil, nil, 71, 240, 240, nil, nil, 240, nil, + nil, nil, 240, 240, nil, 178, nil, 240, 233, 233, + nil, nil, 233, nil, 233, nil, 178, nil, 240, nil, + 178, 178, 78, 78, 178, nil, 78, nil, 78, 178, + 178, nil, nil, 178, nil, nil, 178, nil, nil, nil, + nil, 233, nil, nil, 178, 233, 233, 231, 231, 233, + nil, 231, nil, 231, 233, 78, nil, nil, 233, 78, + 78, 228, 228, 78, nil, 228, nil, nil, 78, 233, + nil, nil, 78, nil, nil, nil, nil, nil, nil, nil, + 231, nil, nil, 78, 231, 231, nil, nil, 231, nil, + nil, 215, 215, 231, 228, nil, nil, 231, 228, 228, + nil, nil, 228, nil, nil, nil, nil, 228, 231, 179, + 179, 228, nil, 179, nil, 179, nil, nil, nil, nil, + nil, nil, 228, nil, 215, nil, nil, nil, 215, 215, + nil, 179, 215, nil, nil, nil, nil, 215, nil, 185, + 185, 215, 179, 185, nil, 185, 179, 179, nil, nil, + 179, nil, 215, nil, nil, 179, 179, nil, nil, 179, + nil, 185, 179, nil, nil, 181, 181, nil, nil, 181, + 179, 181, 185, nil, nil, nil, 185, 185, nil, nil, + 185, nil, nil, nil, nil, 185, 185, 181, nil, 185, + nil, nil, 185, nil, nil, 189, 189, nil, 181, 189, + 185, 189, 181, 181, nil, nil, 181, nil, nil, nil, + nil, 181, 181, nil, nil, 181, nil, 189, 181, nil, + nil, 90, 90, nil, nil, 90, 181, 90, 189, nil, + nil, nil, 189, 189, nil, nil, 189, nil, nil, nil, + nil, 189, 189, 90, nil, 189, nil, nil, 189, nil, + nil, 182, 182, nil, 90, 182, 189, 182, 90, 90, + nil, nil, 90, nil, nil, nil, nil, 90, 90, nil, + nil, 90, nil, 182, 90, nil, nil, 184, 184, nil, + nil, 184, 90, 184, 182, nil, nil, nil, 182, 182, + nil, nil, 182, nil, nil, nil, nil, 182, 182, 184, + nil, 182, nil, nil, 182, nil, nil, 95, 95, nil, + 184, 95, 182, 95, 184, 184, nil, nil, 184, nil, + nil, nil, nil, 184, 184, nil, nil, 184, nil, 95, + 184, nil, nil, 99, 99, nil, nil, 99, 184, 99, + 95, nil, nil, nil, 95, 95, nil, nil, 95, nil, + nil, nil, nil, 95, 95, 99, nil, 95, 100, 100, + 95, nil, 100, 100, 100, nil, 99, nil, 95, nil, + 99, 99, nil, nil, 99, nil, nil, nil, nil, 99, + 99, nil, nil, 99, 186, 186, 99, nil, 186, nil, + 186, 100, nil, nil, 99, 100, 100, nil, nil, 100, + nil, nil, nil, nil, 100, nil, 186, nil, 100, nil, + 180, 180, nil, nil, 180, nil, 180, 186, nil, 100, + nil, 186, 186, nil, nil, 186, nil, nil, nil, nil, + 186, 186, 180, nil, 186, nil, nil, 186, nil, nil, + nil, nil, nil, 180, nil, 186, nil, 180, 180, 91, + nil, 180, nil, nil, nil, nil, 180, 180, 91, 91, + 180, nil, nil, 180, nil, nil, nil, 91, 91, 91, + 91, 180, nil, 190, 190, nil, nil, nil, nil, nil, + nil, 190, 190, 190, 190, 190, nil, nil, nil, nil, + nil, 91, 91, nil, nil, 91, 91, 91, 91, 91, + 91, nil, 91, 91, nil, nil, 190, 190, nil, 91, + 190, 190, 190, 190, 190, 190, nil, 190, 190, 274, + 274, nil, nil, nil, 190, nil, nil, nil, 274, 274, + 274, 274, nil, nil, 132, 132, nil, nil, nil, nil, + nil, nil, nil, 132, 132, 132, 132, nil, nil, nil, + nil, nil, nil, nil, nil, nil, 274, 274, 274, 274, + 274, 274, nil, 274, 274, nil, nil, 132, 132, nil, + 274, 132, 132, 132, 132, 132, 132, nil, 132, 132, + 131, 131, nil, nil, nil, 132, nil, nil, nil, 131, + 131, 131, 131, nil, nil, 270, 270, nil, nil, nil, + nil, nil, nil, nil, 270, 270, 270, 270, nil, nil, + nil, nil, nil, 131, 131, nil, nil, 131, 131, 131, + 131, 131, 131, nil, 131, 131, nil, nil, nil, 270, + nil, 131, 270, 270, 270, 270, 270, 270, nil, 270, + 270, 129, 129, nil, nil, nil, 270, nil, nil, nil, + 129, 129, 129, 129, nil, nil, nil, 269, nil, 276, + 276, 276, 276, 276, 276, 269, 276, 276, nil, nil, + nil, nil, nil, 276, 129, 129, 275, nil, 129, 129, + 129, 129, 129, 129, 275, 129, 129, nil, nil, nil, + nil, 271, 129, 269, 269, 269, 269, 269, 269, 271, + 269, 269, nil, nil, nil, nil, nil, 269, nil, nil, + nil, nil, 275, 275, 275, 275, 275, 275, nil, 275, + 275, 188, nil, nil, nil, nil, 275, 271, 271, 271, + 271, 271, 271, nil, 271, 271, nil, nil, nil, nil, + 238, 271, 188, nil, 188, 188, nil, 188, 188, nil, + 188, nil, 188, nil, 188, nil, 188, nil, nil, 188, + 188, 238, 311, 238, 238, nil, 238, 238, nil, 238, + nil, 238, nil, 238, nil, 238, nil, nil, 238, 238, + nil, 375, nil, 311, nil, 311, 311, nil, 311, 311, + nil, 311, nil, 311, nil, 311, nil, 311, nil, nil, + 311, 311, 375, 372, 375, 375, nil, 375, 375, nil, + 375, nil, 375, nil, 375, nil, 375, nil, nil, 375, + 375, nil, 362, nil, 372, nil, 372, 372, nil, 372, + 372, nil, 372, nil, 372, nil, 372, nil, 372, nil, + nil, 372, 372, 362, 217, 362, 362, nil, 362, 362, + nil, 362, nil, 362, nil, 362, nil, 362, nil, nil, + 362, 362, nil, nil, nil, 217, nil, 217, 217, nil, + 217, 217, nil, 217, nil, 217, nil, 217, nil, 217, + nil, nil, 217, 217, 0, nil, 0, 0, nil, 0, + 0, nil, 0, nil, 0, nil, 0, nil, 0, nil, + nil, 0, 0, 20, nil, 20, 20, nil, 20, 20, + nil, 20, nil, 20, nil, 20, nil, 20, nil, nil, + 20, 20, 278, nil, 278, 278, nil, 278, 278, nil, + 278, nil, 278, nil, 278, nil, 278, nil, nil, 278, + 278, 267, 267, 267, 267, 267, 267, nil, 267, 267, + 266, 266, 266, 266, nil, 267, nil, 266, 266, 268, + 268, 268, 268, nil, 266, nil, 268, 268, nil, nil, + nil, nil, nil, 268 ] racc_action_pointer = [ - 1795, 163, 443, 413, 433, nil, nil, 3, 434, 420, - nil, nil, 142, nil, nil, nil, 398, 26, nil, 1483, - nil, nil, 80, 271, nil, nil, 297, nil, 367, 348, - 166, nil, nil, 375, 315, 277, 337, nil, nil, 501, - nil, nil, nil, 221, nil, nil, 557, 583, 608, 622, - 315, 329, 348, nil, nil, 4, nil, nil, nil, nil, - nil, nil, 97, 780, 298, -9, 309, 302, 275, nil, - nil, 286, nil, nil, 923, 966, nil, 279, 269, nil, - 6, 248, 1060, nil, 239, 245, -3, 177, nil, nil, - 149, 137, nil, nil, 1209, 10, nil, 1239, nil, nil, - 755, 121, 1137, 225, nil, 233, 3, 299, 301, 304, - nil, 1298, nil, nil, 322, 325, nil, nil, nil, 323, - 205, 331, 144, nil, 1313, nil, nil, 351, nil, nil, - 1359, 1374, 352, 344, nil, nil, 328, nil, 350, 364, - 361, nil, 362, 79, 374, nil, nil, nil, nil, nil, - nil, nil, -9, 408, 386, nil, 2, 452, 30, nil, - 251, nil, nil, 84, nil, 50, nil, nil, nil, nil, - nil, 174, 439, 436, -14, 381, 647, nil, 114, nil, - -4, 57, 75, 197, 172, nil, 1435, nil, 225, nil, - nil, nil, 363, nil, nil, 213, 215, 241, 323, 401, - 453, 527, 32, 673, 699, 729, 1265, 265, 806, 832, - 1070, 249, 1612, 1118, 1166, 270, nil, 1757, 24, 24, - 91, 121, nil, nil, 142, 1044, 126, 161, 1191, 147, - 1144, 198, 233, 238, 273, nil, nil, 1552, nil, 39, - nil, nil, nil, 66, 1017, 1001, nil, nil, 991, nil, - 270, nil, 273, 279, 948, nil, 904, nil, nil, nil, - nil, nil, nil, 451, nil, nil, nil, nil, 283, 850, - nil, nil, -5, nil, 308, nil, 857, 8, nil, 226, - 198, 67, nil, 466, 1073, 86, 172, 1420, 411, 1515, - nil, 1481, 1496, 456, nil, 1776, -4, 356, 443, nil, - 145, nil, nil, 1694, nil, 387, nil, 362, 129, nil, - nil, nil, nil, nil, nil, 380, nil, nil, nil, 1716, - nil, nil, nil, 1634, nil, nil, nil, 376, 383, nil, - 385, 392, 393, nil, nil, nil, nil, 410, nil, nil, - nil, 153, nil, 183, nil, nil, nil, nil, nil, 51, - nil, 128, 430, nil, nil, 110, 435, nil, nil, nil, - nil, nil, 1735, nil, nil, nil, nil, 439, 59, 445, - nil, nil, 1571, nil, 1653, nil, nil, nil, 1593, nil, - 1675, nil, nil, nil ] + 1674, 54, 417, 341, 399, 434, 455, nil, 262, nil, + nil, 112, 404, 402, nil, nil, nil, 395, 16, nil, + 1693, nil, nil, 268, nil, nil, 293, -1, nil, 341, + nil, 425, 381, 181, nil, nil, nil, 342, nil, nil, + nil, nil, 246, nil, nil, 445, 200, 501, 159, 557, + 305, 575, 283, 321, nil, nil, -6, nil, nil, nil, + nil, nil, nil, nil, 291, 265, 273, nil, nil, nil, + 703, 750, nil, nil, 269, 242, nil, 212, 840, nil, + 208, 2, 68, 64, nil, 37, nil, 186, nil, 275, + 1039, 1261, nil, nil, 279, 1125, nil, nil, nil, 1151, + 1176, 287, 289, 161, nil, 295, 315, 317, 323, nil, + 343, 116, 652, 315, 78, 350, 361, nil, nil, 374, + nil, 379, 81, nil, nil, nil, nil, 382, nil, 1444, + nil, 1383, 1337, 391, 376, nil, 394, nil, nil, nil, + 389, 408, 440, 314, 38, nil, 447, 436, nil, nil, + nil, nil, nil, nil, -8, 420, nil, 37, 0, 418, + nil, 80, nil, 87, -4, nil, 287, 351, nil, 302, + 376, nil, 419, 475, 531, 26, 582, 633, 801, 927, + 1228, 983, 1069, 256, 1095, 957, 1202, 243, 1532, 1013, + 1276, nil, 115, nil, 21, nil, nil, 186, nil, nil, + 131, 254, nil, 74, nil, nil, 1, nil, nil, nil, + nil, 360, 249, 10, -13, 909, 85, 1655, 80, 82, + 106, 112, nil, nil, 181, 194, nil, 194, 879, 170, + 215, 865, 192, 826, 199, 235, nil, nil, 1551, 8, + 775, nil, 724, nil, nil, nil, nil, nil, nil, 270, + nil, nil, 259, nil, 677, nil, nil, nil, nil, 659, + nil, 59, 118, 116, 223, nil, 1716, 1707, 1725, 1459, + 1398, 1493, 49, nil, 1322, 1478, 1425, nil, 1712, 343, + 159, 307, nil, 353, nil, 8, nil, 394, 365, nil, + 110, nil, nil, -9, 322, 203, nil, 383, nil, 224, + nil, -8, nil, nil, 400, nil, 217, 210, nil, 109, + nil, 1573, nil, nil, nil, nil, nil, nil, nil, nil, + 406, nil, nil, nil, 411, nil, nil, nil, nil, 152, + nil, 135, nil, nil, 135, 133, nil, 427, nil, nil, + nil, nil, 427, nil, nil, nil, 415, 417, nil, 418, + 421, 422, nil, nil, nil, nil, 90, 442, nil, nil, + nil, nil, 1633, nil, nil, nil, nil, 446, 33, 451, + nil, nil, 1614, nil, nil, 1592, nil, nil, nil, 463, + nil, 464, nil, nil, nil ] racc_action_default = [ - -196, -233, -233, -50, -233, -8, -9, -233, -233, -22, - -10, -187, -188, -11, -185, -12, -233, -233, -13, -1, - -14, -2, -233, -186, -15, -3, -233, -16, -5, -233, - -233, -17, -6, -233, -18, -7, -196, -188, -186, -233, - -51, -26, -27, -233, -24, -25, -233, -233, -233, -85, - -92, -196, -233, -195, -193, -196, -189, -191, -192, -221, - -194, -4, -196, -233, -85, -196, -53, -231, -42, -174, - -43, -213, -117, -33, -233, -233, -44, -31, -74, -32, - -233, -36, -233, -122, -37, -233, -73, -38, -172, -72, - -39, -40, -173, -41, -233, -103, -111, -233, -132, -112, - -233, -104, -233, -108, -110, -105, -233, -114, -106, -113, - -109, -233, -125, -107, -233, -233, -49, -175, -176, -178, - -233, -233, -197, -198, -83, -19, -22, -186, -21, -23, - -82, -84, -233, -75, -86, -81, -70, -74, -76, -219, - -79, -68, -77, -73, -233, -171, -170, -80, -78, -90, - -91, -93, -233, -219, -196, 384, -233, -233, -233, -207, - -233, -57, -213, -196, -59, -233, -66, -65, -56, -73, - -95, -233, -219, -233, -233, -92, -233, -30, -233, -118, - -233, -233, -233, -233, -233, -142, -233, -149, -233, -216, - -229, -225, -233, -228, -224, -233, -233, -233, -233, -233, - -233, -233, -233, -233, -233, -233, -233, -233, -233, -233, - -233, -233, -233, -233, -233, -233, -20, -233, -206, -233, - -204, -233, -201, -230, -233, -71, -220, -233, -233, -85, - -233, -220, -233, -233, -233, -209, -190, -233, -208, -233, - -54, -62, -61, -233, -233, -233, -217, -218, -233, -124, - -233, -55, -219, -233, -233, -28, -233, -120, -119, -35, - -34, -168, -166, -233, -169, -160, -167, -161, -73, -233, - -123, -116, -233, -152, -218, -214, -233, -233, -222, -137, - -139, -138, -133, -140, -144, -141, -146, -151, -148, -145, - -134, -150, -147, -143, -135, -233, -128, -136, -233, -154, - -233, -158, -177, -233, -180, -233, -199, -233, -233, -200, - -45, -69, -87, -46, -88, -219, -89, -94, -48, -233, - -211, -210, -212, -233, -184, -58, -60, -97, -98, -63, - -102, -99, -100, -101, -64, -96, -47, -233, -232, -29, - -121, -233, -163, -219, -115, -215, -227, -226, -223, -128, - -127, -233, -233, -155, -153, -233, -233, -179, -205, -203, - -202, -67, -233, -182, -183, -52, -165, -218, -233, -233, - -126, -129, -233, -159, -233, -181, -164, -162, -233, -131, - -233, -157, -130, -156 ] + -197, -234, -51, -19, -8, -234, -234, -9, -234, -10, + -188, -189, -234, -23, -11, -186, -12, -234, -234, -13, + -1, -14, -2, -187, -15, -3, -234, -234, -16, -234, + -17, -6, -234, -234, -18, -7, -189, -197, -187, -52, + -27, -28, -234, -25, -26, -234, -234, -234, -234, -234, + -197, -86, -93, -234, -196, -194, -197, -190, -192, -193, + -222, -195, -4, -42, -232, -43, -214, -175, -118, -44, + -234, -234, -45, -34, -75, -32, -33, -234, -234, -123, + -37, -74, -38, -234, -73, -39, -173, -40, -174, -41, + -234, -234, -126, -108, -104, -234, -112, -133, -113, -234, + -234, -105, -109, -234, -111, -106, -115, -107, -114, -110, + -54, -197, -234, -86, -197, -234, -179, -176, -177, -234, + -50, -234, -198, -199, -24, -21, -23, -187, -22, -84, + -20, -83, -85, -234, -197, -79, -76, -87, -82, -75, + -71, -77, -220, -80, -74, -69, -78, -234, -172, -171, + -81, -91, -92, -94, -234, -220, 385, -234, -234, -234, + -208, -234, -31, -234, -234, -119, -234, -234, -96, -234, + -234, -143, -234, -234, -234, -234, -234, -234, -234, -234, + -234, -234, -234, -234, -234, -234, -234, -234, -234, -234, + -234, -150, -234, -217, -234, -230, -226, -234, -229, -225, + -93, -234, -214, -197, -58, -60, -234, -67, -57, -74, + -66, -234, -220, -234, -234, -234, -234, -234, -207, -205, + -234, -234, -202, -231, -234, -234, -210, -234, -72, -221, + -234, -234, -86, -234, -221, -234, -191, -209, -234, -234, + -234, -29, -234, -121, -120, -36, -35, -169, -167, -234, + -170, -161, -74, -168, -234, -162, -218, -219, -124, -234, + -117, -234, -138, -140, -139, -134, -141, -145, -142, -147, + -152, -149, -146, -135, -151, -148, -144, -136, -5, -234, + -129, -137, -153, -219, -215, -234, -223, -234, -220, -55, + -234, -63, -62, -234, -234, -234, -125, -234, -56, -234, + -155, -234, -159, -178, -234, -181, -234, -234, -200, -234, + -201, -234, -212, -213, -211, -46, -70, -88, -47, -89, + -220, -90, -95, -49, -234, -185, -233, -30, -122, -234, + -164, -220, -97, -116, -129, -234, -128, -234, -216, -227, + -224, -228, -234, -59, -61, -102, -98, -99, -64, -103, + -100, -101, -65, -48, -156, -154, -234, -234, -180, -206, + -204, -203, -234, -183, -68, -184, -166, -219, -234, -234, + -127, -130, -234, -53, -160, -234, -182, -165, -163, -234, + -132, -234, -158, -131, -157 ] racc_goto_table = [ - 22, 9, 68, 112, 53, 118, 61, 36, 91, 222, - 19, 267, 70, 93, 2, 227, 139, 191, 51, 22, - 9, 179, 77, 56, 73, 149, 21, 141, 133, 232, - 115, 172, 153, 2, 146, 263, 125, 116, 135, 148, - 147, 299, 129, 22, 126, 260, 160, 350, 250, 174, - 128, 171, 43, 68, 121, 329, 334, 298, 368, 91, - 258, 265, 123, 70, 93, 317, 343, 301, 136, 154, - 183, 119, 224, 178, 233, 73, 55, 123, 157, 66, - 238, 159, 120, 219, 221, 190, 325, 321, 195, 16, - 188, nil, nil, nil, nil, nil, nil, nil, 342, nil, - 370, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 216, nil, nil, nil, nil, 260, 129, - 22, 126, 263, nil, nil, 353, nil, 128, 337, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 81, - nil, nil, nil, 53, nil, 53, nil, 243, nil, nil, - 149, 301, nil, nil, nil, nil, nil, 252, nil, nil, - 68, 261, 236, 68, nil, 138, 91, 146, nil, 91, - 70, 93, nil, 70, 93, nil, nil, nil, 166, nil, - 235, 166, 259, 272, nil, 73, nil, 302, 347, nil, - 81, 361, nil, 261, 290, 360, 315, 376, 294, 146, - nil, 312, 340, 311, 133, nil, 149, nil, 373, nil, - 146, nil, 22, 9, 135, 148, 147, 22, 9, 369, - nil, 263, 295, 327, 327, nil, 2, 303, nil, 146, - 146, 2, nil, 68, 333, 333, nil, 22, 9, 91, - 320, 88, nil, 70, 93, nil, nil, 323, 261, nil, - nil, 2, nil, nil, 146, 259, 190, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, 88, nil, nil, - nil, nil, nil, nil, nil, 87, nil, 261, nil, 166, - nil, nil, 61, 146, nil, nil, nil, nil, nil, nil, - 61, nil, 88, nil, nil, 22, 9, 81, 262, nil, - 81, 142, nil, 22, 9, nil, nil, nil, nil, 2, - 61, nil, nil, nil, nil, nil, nil, 2, nil, 22, - 9, nil, nil, 22, 9, nil, 87, nil, 371, 362, - 262, nil, nil, 2, 261, nil, nil, 2, nil, nil, - 146, 138, nil, nil, nil, nil, nil, 261, nil, 61, - nil, nil, nil, 146, nil, 166, nil, nil, nil, nil, - 328, 328, 22, 9, 114, 61, nil, 61, nil, 84, - 81, nil, 22, 9, 22, 9, 2, 90, 22, 9, - 22, 9, 378, 132, 380, 262, 2, nil, 2, nil, - nil, nil, 2, nil, 2, 140, nil, nil, 170, 88, - 88, nil, 88, 145, nil, nil, nil, nil, 167, nil, - nil, 167, nil, nil, 262, nil, nil, 170, nil, nil, - 84, nil, nil, nil, nil, nil, nil, nil, 90, nil, - nil, nil, 88, 87, 266, nil, 87, 170, nil, nil, - nil, nil, nil, 88, nil, nil, nil, nil, nil, nil, + 27, 13, 5, 37, 62, 255, 249, 20, 118, 196, + 92, 89, 142, 50, 155, 300, 69, 63, 222, 336, + 27, 13, 5, 165, 73, 75, 57, 279, 348, 352, + 246, 151, 145, 119, 343, 150, 121, 230, 65, 149, + 299, 22, 27, 126, 138, 135, 27, 126, 201, 134, + 235, 214, 120, 87, 302, 86, 304, 244, 89, 42, + 169, 128, 46, 69, 63, 128, 136, 251, 368, 331, + 322, 73, 163, 370, 212, 125, 124, 324, 123, 130, + 124, 148, 192, 86, 116, 65, 140, 224, 56, 159, + 227, 123, 330, 249, 211, 237, 220, 160, 221, 354, + 87, 110, 86, 115, 246, 314, 194, 297, 17, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 195, nil, + nil, nil, nil, 133, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 54, nil, nil, nil, 302, nil, + 293, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, 168, nil, 89, 149, nil, nil, 89, 69, + 63, nil, 288, 69, 63, 236, nil, 245, nil, nil, + nil, 73, 261, 82, 168, 226, nil, nil, nil, 151, + nil, 65, 247, 342, nil, 65, 168, nil, 27, 13, + 5, 339, 303, 320, 328, 374, 87, 148, 86, 86, + 87, 143, 86, 149, 80, 361, 377, 249, 317, 316, + nil, 379, 150, 151, 381, 364, 149, 27, 13, 5, + 82, 138, 135, nil, nil, nil, 369, 312, 89, nil, + 247, nil, 141, 69, 63, 239, nil, nil, 27, 13, + 5, 245, 149, 136, nil, 148, nil, 86, nil, 265, + nil, 80, nil, nil, nil, 65, nil, nil, 148, nil, + 86, 210, 62, nil, 210, nil, nil, nil, 85, 247, + 87, nil, 86, 54, 54, nil, nil, nil, 27, 13, + 5, nil, 149, 149, 148, nil, 86, 149, 345, 345, + nil, nil, 207, nil, nil, 207, 146, nil, nil, 273, + 195, nil, nil, 277, nil, 319, nil, 321, nil, 346, + 346, 27, 13, 5, 247, 85, 82, 250, 362, 371, + 82, nil, nil, nil, 351, 351, 86, 86, nil, 148, + nil, 86, nil, 332, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 149, nil, 62, 80, 248, nil, + nil, 80, nil, 210, nil, nil, 149, nil, nil, nil, + nil, 341, 27, 13, 5, 250, nil, nil, nil, nil, + nil, 247, 27, 13, 5, 27, 13, 5, 143, nil, + 359, 360, nil, 247, 207, nil, 148, nil, 86, nil, + 82, nil, 129, nil, 131, 132, 248, nil, 148, nil, + 86, nil, nil, 366, 250, nil, nil, nil, nil, 141, + nil, 85, 253, nil, nil, 85, nil, nil, 164, nil, + nil, 80, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 248, nil, 171, nil, nil, + 210, nil, 190, nil, 349, 349, 191, nil, nil, 250, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 88, 88, nil, nil, 266, nil, nil, nil, - nil, 262, 88, nil, nil, nil, nil, 142, nil, nil, - nil, nil, nil, nil, 262, nil, nil, 88, nil, nil, - nil, nil, nil, nil, nil, nil, 331, 331, nil, nil, - nil, nil, nil, nil, nil, nil, 87, nil, nil, 167, - nil, 253, nil, nil, nil, nil, 88, nil, nil, nil, - nil, 266, nil, nil, nil, nil, nil, 84, 264, nil, - 84, nil, nil, nil, 282, 90, 145, nil, 90, nil, + 253, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, 207, nil, 146, nil, 347, 347, nil, nil, nil, + 248, nil, nil, nil, nil, 85, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 253, + nil, nil, nil, nil, nil, nil, 250, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 250, 262, + 263, 264, nil, 266, 267, 268, 269, 270, 271, 272, + nil, 274, 275, 276, nil, nil, 281, 248, nil, 350, + 350, nil, nil, nil, 253, nil, nil, nil, nil, 248, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 266, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 264, nil, nil, 314, nil, 316, nil, 124, 145, nil, - nil, 140, nil, 88, 130, 131, nil, nil, nil, 145, - nil, nil, nil, 335, nil, 167, 88, nil, nil, nil, - 330, 330, nil, nil, nil, nil, nil, nil, 332, 332, - 84, nil, nil, 180, nil, nil, nil, 266, 90, nil, - nil, 346, nil, nil, nil, 264, nil, nil, nil, nil, - 266, nil, 185, 145, nil, 186, nil, nil, 187, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 358, nil, 359, nil, 264, nil, nil, nil, nil, nil, - nil, nil, 145, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, 366, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 164, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 264, nil, nil, nil, nil, nil, nil, nil, 145, - nil, nil, nil, nil, 264, nil, nil, nil, nil, nil, - nil, nil, 145, nil, 279, 280, 281, nil, 283, 284, - 285, 286, 287, 288, 289, nil, 291, 292, 293, nil, - nil, 297, 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, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 180 ] + nil, 253, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 253 ] racc_goto_check = [ - 37, 21, 30, 62, 64, 72, 4, 32, 28, 82, - 2, 70, 31, 29, 52, 36, 35, 85, 32, 37, - 21, 60, 22, 78, 21, 53, 3, 47, 30, 36, - 37, 35, 38, 52, 28, 68, 19, 5, 31, 29, - 50, 66, 7, 37, 21, 23, 41, 63, 36, 41, - 5, 57, 20, 30, 74, 46, 46, 65, 58, 28, - 61, 69, 3, 31, 29, 56, 71, 68, 33, 74, - 57, 73, 34, 22, 75, 21, 76, 3, 77, 40, - 79, 3, 20, 80, 81, 30, 42, 83, 84, 1, - 57, nil, nil, nil, nil, nil, nil, nil, 70, nil, - 63, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, 19, nil, nil, nil, nil, 23, 7, - 37, 21, 68, nil, nil, 66, nil, 5, 36, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 24, - nil, nil, nil, 64, nil, 64, nil, 41, nil, nil, - 53, 68, nil, nil, nil, nil, nil, 38, nil, nil, - 30, 30, 78, 30, nil, 24, 28, 28, nil, 28, - 31, 29, nil, 31, 29, nil, nil, nil, 24, nil, - 3, 24, 21, 22, nil, 21, nil, 72, 85, nil, - 24, 36, nil, 30, 64, 82, 35, 70, 64, 28, - nil, 53, 60, 47, 30, nil, 53, nil, 68, nil, - 28, nil, 37, 21, 31, 29, 50, 37, 21, 36, - nil, 68, 2, 30, 30, nil, 52, 2, nil, 28, - 28, 52, nil, 30, 29, 29, nil, 37, 21, 28, - 32, 49, nil, 31, 29, nil, nil, 2, 30, nil, - nil, 52, nil, nil, 28, 21, 30, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, 49, nil, nil, - nil, nil, nil, nil, nil, 26, nil, 30, nil, 24, - nil, nil, 4, 28, nil, nil, nil, nil, nil, nil, - 4, nil, 49, nil, nil, 37, 21, 24, 24, nil, - 24, 26, nil, 37, 21, nil, nil, nil, nil, 52, - 4, nil, nil, nil, nil, nil, nil, 52, nil, 37, - 21, nil, nil, 37, 21, nil, 26, nil, 62, 2, - 24, nil, nil, 52, 30, nil, nil, 52, nil, nil, - 28, 24, nil, nil, nil, nil, nil, 30, nil, 4, - nil, nil, nil, 28, nil, 24, nil, nil, nil, nil, - 24, 24, 37, 21, 54, 4, nil, 4, nil, 25, - 24, nil, 37, 21, 37, 21, 52, 27, 37, 21, - 37, 21, 2, 54, 2, 24, 52, nil, 52, nil, - nil, nil, 52, nil, 52, 25, nil, nil, 54, 49, - 49, nil, 49, 27, nil, nil, nil, nil, 25, nil, - nil, 25, nil, nil, 24, nil, nil, 54, nil, nil, - 25, nil, nil, nil, nil, nil, nil, nil, 27, nil, - nil, nil, 49, 26, 26, nil, 26, 54, nil, nil, - nil, nil, nil, 49, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, 49, 49, nil, nil, 26, nil, nil, nil, - nil, 24, 49, nil, nil, nil, nil, 26, nil, nil, - nil, nil, nil, nil, 24, nil, nil, 49, nil, nil, - nil, nil, nil, nil, nil, nil, 26, 26, nil, nil, - nil, nil, nil, nil, nil, nil, 26, nil, nil, 25, - nil, 54, nil, nil, nil, nil, 49, nil, nil, nil, - nil, 26, nil, nil, nil, nil, nil, 25, 25, nil, - 25, nil, nil, nil, 54, 27, 27, nil, 27, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 26, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 25, nil, nil, 54, nil, 54, nil, 51, 27, nil, - nil, 25, nil, 49, 51, 51, nil, nil, nil, 27, - nil, nil, nil, 54, nil, 25, 49, nil, nil, nil, - 25, 25, nil, nil, nil, nil, nil, nil, 27, 27, - 25, nil, nil, 51, nil, nil, nil, 26, 27, nil, - nil, 54, nil, nil, nil, 25, nil, nil, nil, nil, - 26, nil, 51, 27, nil, 51, nil, nil, 51, nil, + 38, 22, 53, 33, 4, 71, 69, 2, 73, 86, + 63, 29, 36, 33, 39, 67, 32, 30, 83, 64, + 38, 22, 53, 61, 22, 23, 79, 5, 47, 47, + 24, 54, 48, 38, 43, 51, 75, 37, 31, 29, + 66, 3, 38, 22, 32, 30, 38, 22, 42, 75, + 37, 42, 6, 28, 69, 50, 5, 62, 29, 21, + 58, 6, 21, 32, 30, 6, 31, 70, 59, 72, + 57, 22, 23, 64, 36, 20, 8, 5, 3, 20, + 8, 28, 58, 50, 74, 31, 34, 76, 77, 78, + 35, 3, 71, 69, 58, 80, 81, 3, 82, 67, + 28, 41, 50, 55, 24, 84, 85, 37, 1, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 31, nil, + nil, nil, nil, 55, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 65, nil, nil, nil, 69, nil, + 42, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, 55, nil, 29, 29, nil, nil, 29, 32, + 30, nil, 39, 32, 30, 79, nil, 22, nil, nil, + nil, 22, 23, 26, 55, 3, nil, nil, nil, 54, + nil, 31, 31, 37, nil, 31, 55, nil, 38, 22, + 53, 86, 73, 36, 61, 69, 28, 28, 50, 50, + 28, 26, 50, 29, 25, 83, 71, 69, 54, 48, + nil, 5, 51, 54, 5, 37, 29, 38, 22, 53, + 26, 32, 30, nil, nil, nil, 37, 33, 29, nil, + 31, nil, 25, 32, 30, 55, nil, nil, 38, 22, + 53, 22, 29, 31, nil, 28, nil, 50, nil, 55, + nil, 25, nil, nil, nil, 31, nil, nil, 28, nil, + 50, 26, 4, nil, 26, nil, nil, nil, 27, 31, + 28, nil, 50, 65, 65, nil, nil, nil, 38, 22, + 53, nil, 29, 29, 28, nil, 50, 29, 30, 30, + nil, nil, 25, nil, nil, 25, 27, nil, nil, 65, + 31, nil, nil, 65, nil, 55, nil, 55, nil, 31, + 31, 38, 22, 53, 31, 27, 26, 26, 2, 63, + 26, nil, nil, nil, 28, 28, 50, 50, nil, 28, + nil, 50, nil, 55, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, 29, nil, 4, 25, 25, nil, + nil, 25, nil, 26, nil, nil, 29, nil, nil, nil, + nil, 55, 38, 22, 53, 26, nil, nil, nil, nil, + nil, 31, 38, 22, 53, 38, 22, 53, 26, nil, + 55, 55, nil, 31, 25, nil, 28, nil, 50, nil, + 26, nil, 52, nil, 52, 52, 25, nil, 28, nil, + 50, nil, nil, 55, 26, nil, nil, nil, nil, 25, + nil, 27, 27, nil, nil, 27, nil, nil, 52, nil, + nil, 25, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, 25, nil, 52, nil, nil, + 26, nil, 52, nil, 26, 26, 52, nil, nil, 26, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - 54, nil, 54, nil, 25, nil, nil, nil, nil, nil, - nil, nil, 27, nil, nil, nil, nil, nil, nil, nil, + 27, nil, nil, nil, nil, nil, nil, nil, nil, nil, + nil, 25, nil, 27, nil, 25, 25, nil, nil, nil, + 25, nil, nil, nil, nil, 27, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 27, + nil, nil, nil, nil, nil, nil, 26, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, 26, 52, + 52, 52, nil, 52, 52, 52, 52, 52, 52, 52, + nil, 52, 52, 52, nil, nil, 52, 25, nil, 27, + 27, nil, nil, nil, 27, nil, nil, nil, nil, 25, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, 54, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, 25, nil, nil, nil, nil, nil, nil, nil, 27, - nil, nil, nil, nil, 25, nil, nil, nil, nil, nil, - nil, nil, 27, nil, 51, 51, 51, nil, 51, 51, - 51, 51, 51, 51, 51, nil, 51, 51, 51, nil, - nil, 51, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, 52, 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, nil, nil, nil, nil, nil, - nil, nil, nil, nil, 51 ] + nil, 27, nil, nil, nil, nil, nil, nil, nil, nil, + nil, nil, nil, 27 ] racc_goto_pointer = [ - nil, 89, 10, 26, -13, 7, nil, -1, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, -7, - 48, 1, -1, -136, 116, 346, 252, 354, -15, -10, - -21, -11, 6, 19, -64, -33, -124, 0, -18, nil, - 57, -16, -153, nil, nil, nil, -189, -22, nil, 218, - -9, 528, 14, -25, 335, nil, -166, -12, -285, nil, - -54, -120, -23, -249, -13, -157, -173, nil, -147, -121, - -171, -203, -28, 38, 18, -80, 59, 23, 6, -78, - -39, -38, -113, -147, -18, -89, nil ] + nil, 108, 7, 41, -16, -161, 19, nil, 34, nil, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + 33, 56, 1, 2, -136, 181, 150, 245, 30, -12, + -6, 15, -7, 2, 35, -50, -39, -105, 0, -38, + nil, 74, -63, -256, nil, nil, nil, -266, -19, nil, + 32, -16, 347, 2, -21, 74, nil, -164, -18, -263, + nil, -48, -107, -16, -261, 116, -175, -200, nil, -161, + -100, -162, -185, -24, 52, -1, -47, 70, 33, 8, + -63, -26, -24, -104, -120, 3, -94, nil ] racc_goto_default = [ - nil, nil, nil, 168, 25, 28, 32, 35, 5, 6, - 10, 13, 15, 18, 20, 24, 27, 31, 34, 4, - nil, 99, nil, 79, 101, 103, 105, 108, 109, 113, - 95, 96, 8, nil, nil, nil, nil, 85, nil, 30, - nil, nil, 161, 239, 164, 165, nil, nil, 144, 107, - 110, 111, 67, 134, 98, 150, 151, nil, 248, 104, - nil, nil, nil, nil, 69, nil, nil, 300, 80, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 57, - nil, nil, nil, nil, nil, nil, 192 ] + nil, nil, 278, 208, 25, nil, 31, 35, 4, 7, + 9, 14, 16, 19, 21, 24, 28, 30, 34, 3, + 6, nil, 98, nil, 76, 101, 102, 105, 107, 108, + 93, 94, 96, 12, nil, nil, nil, nil, 83, nil, + 33, nil, nil, 204, 290, 205, 206, nil, nil, 147, + 106, 109, 91, 64, 137, 97, 152, 153, nil, 259, + 104, nil, nil, nil, nil, 67, nil, nil, 301, 77, + nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, + 58, nil, nil, nil, nil, nil, nil, 197 ] racc_reduce_table = [ 0, 0, :racc_error, - 1, 70, :_reduce_1, + 1, 70, :_reduce_none, 1, 70, :_reduce_none, 1, 71, :_reduce_3, 2, 71, :_reduce_4, + 1, 74, :_reduce_5, 1, 73, :_reduce_none, 1, 73, :_reduce_none, 1, 73, :_reduce_none, @@ -695,224 +652,224 @@ racc_reduce_table = [ 1, 73, :_reduce_none, 1, 73, :_reduce_none, 1, 73, :_reduce_none, - 3, 87, :_reduce_19, - 3, 87, :_reduce_20, - 1, 88, :_reduce_none, - 1, 88, :_reduce_none, - 1, 88, :_reduce_none, + 3, 88, :_reduce_20, + 3, 88, :_reduce_21, 1, 89, :_reduce_none, 1, 89, :_reduce_none, 1, 89, :_reduce_none, - 1, 89, :_reduce_none, - 4, 81, :_reduce_28, - 5, 81, :_reduce_29, - 3, 81, :_reduce_30, - 2, 81, :_reduce_31, - 1, 91, :_reduce_none, - 1, 91, :_reduce_none, - 3, 91, :_reduce_34, - 3, 91, :_reduce_35, - 1, 92, :_reduce_none, - 1, 92, :_reduce_none, - 1, 92, :_reduce_none, - 1, 92, :_reduce_none, + 1, 90, :_reduce_none, + 1, 90, :_reduce_none, + 1, 90, :_reduce_none, + 1, 90, :_reduce_none, + 4, 82, :_reduce_29, + 5, 82, :_reduce_30, + 3, 82, :_reduce_31, + 2, 82, :_reduce_32, 1, 92, :_reduce_none, 1, 92, :_reduce_none, - 1, 92, :_reduce_none, - 1, 92, :_reduce_none, - 1, 92, :_reduce_44, - 5, 74, :_reduce_45, - 5, 74, :_reduce_46, - 5, 74, :_reduce_47, - 5, 85, :_reduce_48, - 2, 75, :_reduce_49, - 1, 108, :_reduce_50, - 2, 108, :_reduce_51, - 6, 76, :_reduce_52, - 2, 76, :_reduce_53, - 3, 109, :_reduce_54, - 3, 109, :_reduce_55, - 1, 110, :_reduce_none, - 1, 110, :_reduce_none, - 3, 110, :_reduce_58, + 3, 92, :_reduce_35, + 3, 92, :_reduce_36, + 1, 93, :_reduce_none, + 1, 93, :_reduce_none, + 1, 93, :_reduce_none, + 1, 93, :_reduce_none, + 1, 93, :_reduce_none, + 1, 93, :_reduce_none, + 1, 93, :_reduce_none, + 1, 93, :_reduce_none, + 1, 93, :_reduce_45, + 5, 75, :_reduce_46, + 5, 75, :_reduce_47, + 5, 75, :_reduce_48, + 5, 86, :_reduce_49, + 2, 76, :_reduce_50, + 1, 109, :_reduce_51, + 2, 109, :_reduce_52, + 6, 77, :_reduce_53, + 2, 77, :_reduce_54, + 3, 110, :_reduce_55, + 3, 110, :_reduce_56, 1, 111, :_reduce_none, - 3, 111, :_reduce_60, - 1, 112, :_reduce_61, - 1, 112, :_reduce_62, - 3, 113, :_reduce_63, - 3, 113, :_reduce_64, - 1, 114, :_reduce_none, - 1, 114, :_reduce_none, - 4, 116, :_reduce_67, - 1, 102, :_reduce_none, - 3, 102, :_reduce_69, - 0, 103, :_reduce_none, - 1, 103, :_reduce_none, - 1, 118, :_reduce_72, - 1, 93, :_reduce_73, - 1, 95, :_reduce_74, - 1, 117, :_reduce_none, - 1, 117, :_reduce_none, - 1, 117, :_reduce_none, - 1, 117, :_reduce_none, - 1, 117, :_reduce_none, - 1, 117, :_reduce_none, - 1, 117, :_reduce_none, - 3, 77, :_reduce_82, - 3, 77, :_reduce_83, - 3, 86, :_reduce_84, - 0, 104, :_reduce_85, - 1, 104, :_reduce_86, - 3, 104, :_reduce_87, - 3, 122, :_reduce_88, - 3, 124, :_reduce_89, - 1, 125, :_reduce_none, - 1, 125, :_reduce_none, - 0, 107, :_reduce_92, - 1, 107, :_reduce_93, - 3, 107, :_reduce_94, - 1, 126, :_reduce_none, - 3, 126, :_reduce_96, - 1, 115, :_reduce_none, - 1, 115, :_reduce_none, - 1, 115, :_reduce_none, - 1, 115, :_reduce_none, + 1, 111, :_reduce_none, + 3, 111, :_reduce_59, + 1, 112, :_reduce_none, + 3, 112, :_reduce_61, + 1, 113, :_reduce_62, + 1, 113, :_reduce_63, + 3, 114, :_reduce_64, + 3, 114, :_reduce_65, 1, 115, :_reduce_none, 1, 115, :_reduce_none, - 1, 123, :_reduce_none, - 1, 123, :_reduce_none, - 1, 123, :_reduce_none, - 1, 123, :_reduce_none, - 1, 123, :_reduce_none, - 1, 123, :_reduce_none, - 1, 123, :_reduce_none, - 1, 123, :_reduce_none, - 1, 123, :_reduce_none, - 1, 123, :_reduce_none, - 1, 123, :_reduce_none, - 1, 123, :_reduce_none, - 4, 97, :_reduce_115, - 3, 97, :_reduce_116, - 1, 99, :_reduce_117, - 2, 99, :_reduce_118, - 2, 129, :_reduce_119, - 1, 130, :_reduce_120, - 2, 130, :_reduce_121, - 1, 96, :_reduce_122, - 4, 90, :_reduce_123, - 4, 90, :_reduce_124, - 2, 79, :_reduce_125, - 5, 131, :_reduce_126, - 4, 131, :_reduce_127, - 0, 132, :_reduce_none, - 2, 132, :_reduce_129, - 4, 132, :_reduce_130, - 3, 132, :_reduce_131, - 1, 120, :_reduce_none, - 3, 120, :_reduce_133, - 3, 120, :_reduce_134, - 3, 120, :_reduce_135, - 3, 120, :_reduce_136, - 3, 120, :_reduce_137, - 3, 120, :_reduce_138, - 3, 120, :_reduce_139, - 3, 120, :_reduce_140, - 3, 120, :_reduce_141, - 2, 120, :_reduce_142, - 3, 120, :_reduce_143, - 3, 120, :_reduce_144, - 3, 120, :_reduce_145, - 3, 120, :_reduce_146, - 3, 120, :_reduce_147, - 3, 120, :_reduce_148, - 2, 120, :_reduce_149, - 3, 120, :_reduce_150, - 3, 120, :_reduce_151, - 3, 120, :_reduce_152, - 5, 78, :_reduce_153, - 1, 134, :_reduce_none, - 2, 134, :_reduce_155, - 5, 135, :_reduce_156, - 4, 135, :_reduce_157, - 1, 136, :_reduce_none, - 3, 136, :_reduce_159, - 3, 98, :_reduce_160, - 1, 138, :_reduce_none, - 4, 138, :_reduce_162, - 1, 140, :_reduce_none, - 3, 140, :_reduce_164, - 3, 139, :_reduce_165, - 1, 137, :_reduce_none, - 1, 137, :_reduce_none, - 1, 137, :_reduce_none, - 1, 137, :_reduce_none, - 1, 137, :_reduce_none, - 1, 137, :_reduce_none, - 1, 137, :_reduce_none, - 1, 137, :_reduce_173, + 4, 117, :_reduce_68, + 1, 103, :_reduce_none, + 3, 103, :_reduce_70, + 0, 104, :_reduce_none, + 1, 104, :_reduce_none, + 1, 119, :_reduce_73, + 1, 94, :_reduce_74, + 1, 96, :_reduce_75, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 1, 118, :_reduce_none, + 3, 78, :_reduce_83, + 3, 78, :_reduce_84, + 3, 87, :_reduce_85, + 0, 105, :_reduce_86, + 1, 105, :_reduce_87, + 3, 105, :_reduce_88, + 3, 123, :_reduce_89, + 3, 125, :_reduce_90, + 1, 126, :_reduce_none, + 1, 126, :_reduce_none, + 0, 108, :_reduce_93, + 1, 108, :_reduce_94, + 3, 108, :_reduce_95, + 1, 127, :_reduce_none, + 3, 127, :_reduce_97, + 1, 116, :_reduce_none, + 1, 116, :_reduce_none, + 1, 116, :_reduce_none, + 1, 116, :_reduce_none, + 1, 116, :_reduce_none, + 1, 116, :_reduce_none, + 1, 124, :_reduce_none, + 1, 124, :_reduce_none, + 1, 124, :_reduce_none, + 1, 124, :_reduce_none, + 1, 124, :_reduce_none, + 1, 124, :_reduce_none, + 1, 124, :_reduce_none, + 1, 124, :_reduce_none, + 1, 124, :_reduce_none, + 1, 124, :_reduce_none, + 1, 124, :_reduce_none, + 1, 124, :_reduce_none, + 4, 98, :_reduce_116, + 3, 98, :_reduce_117, + 1, 100, :_reduce_118, + 2, 100, :_reduce_119, + 2, 130, :_reduce_120, + 1, 131, :_reduce_121, + 2, 131, :_reduce_122, + 1, 97, :_reduce_123, + 4, 91, :_reduce_124, + 4, 91, :_reduce_125, + 2, 80, :_reduce_126, + 5, 132, :_reduce_127, + 4, 132, :_reduce_128, + 0, 133, :_reduce_none, + 2, 133, :_reduce_130, + 4, 133, :_reduce_131, + 3, 133, :_reduce_132, + 1, 121, :_reduce_none, + 3, 121, :_reduce_134, + 3, 121, :_reduce_135, + 3, 121, :_reduce_136, + 3, 121, :_reduce_137, + 3, 121, :_reduce_138, + 3, 121, :_reduce_139, + 3, 121, :_reduce_140, + 3, 121, :_reduce_141, + 3, 121, :_reduce_142, + 2, 121, :_reduce_143, + 3, 121, :_reduce_144, + 3, 121, :_reduce_145, + 3, 121, :_reduce_146, + 3, 121, :_reduce_147, + 3, 121, :_reduce_148, + 3, 121, :_reduce_149, + 2, 121, :_reduce_150, + 3, 121, :_reduce_151, + 3, 121, :_reduce_152, + 3, 121, :_reduce_153, + 5, 79, :_reduce_154, + 1, 135, :_reduce_none, + 2, 135, :_reduce_156, + 5, 136, :_reduce_157, + 4, 136, :_reduce_158, 1, 137, :_reduce_none, - 1, 141, :_reduce_175, - 1, 142, :_reduce_none, - 3, 142, :_reduce_177, - 2, 80, :_reduce_178, - 6, 82, :_reduce_179, - 5, 82, :_reduce_180, - 7, 83, :_reduce_181, - 6, 83, :_reduce_182, + 3, 137, :_reduce_160, + 3, 99, :_reduce_161, + 1, 139, :_reduce_none, + 4, 139, :_reduce_163, + 1, 141, :_reduce_none, + 3, 141, :_reduce_165, + 3, 140, :_reduce_166, + 1, 138, :_reduce_none, + 1, 138, :_reduce_none, + 1, 138, :_reduce_none, + 1, 138, :_reduce_none, + 1, 138, :_reduce_none, + 1, 138, :_reduce_none, + 1, 138, :_reduce_none, + 1, 138, :_reduce_174, + 1, 138, :_reduce_none, + 1, 142, :_reduce_176, + 1, 143, :_reduce_none, + 3, 143, :_reduce_178, + 2, 81, :_reduce_179, + 6, 83, :_reduce_180, + 5, 83, :_reduce_181, + 7, 84, :_reduce_182, 6, 84, :_reduce_183, - 5, 84, :_reduce_184, - 1, 106, :_reduce_185, - 1, 101, :_reduce_186, - 1, 101, :_reduce_187, - 1, 101, :_reduce_188, - 1, 145, :_reduce_189, - 3, 145, :_reduce_190, - 1, 147, :_reduce_191, + 6, 85, :_reduce_184, + 5, 85, :_reduce_185, + 1, 107, :_reduce_186, + 1, 102, :_reduce_187, + 1, 102, :_reduce_188, + 1, 102, :_reduce_189, + 1, 146, :_reduce_190, + 3, 146, :_reduce_191, 1, 148, :_reduce_192, - 1, 148, :_reduce_193, - 1, 148, :_reduce_194, - 1, 148, :_reduce_none, - 0, 72, :_reduce_196, - 0, 149, :_reduce_197, - 1, 143, :_reduce_none, - 3, 143, :_reduce_199, - 3, 143, :_reduce_200, - 1, 150, :_reduce_none, - 3, 150, :_reduce_202, - 3, 151, :_reduce_203, - 1, 151, :_reduce_204, - 3, 151, :_reduce_205, - 1, 151, :_reduce_206, - 1, 146, :_reduce_none, - 2, 146, :_reduce_208, + 1, 149, :_reduce_193, + 1, 149, :_reduce_194, + 1, 149, :_reduce_195, + 1, 149, :_reduce_none, + 0, 72, :_reduce_197, + 0, 150, :_reduce_198, 1, 144, :_reduce_none, - 2, 144, :_reduce_210, - 1, 152, :_reduce_none, - 1, 152, :_reduce_none, - 1, 94, :_reduce_213, - 3, 119, :_reduce_214, - 4, 119, :_reduce_215, - 2, 119, :_reduce_216, - 1, 127, :_reduce_none, - 1, 127, :_reduce_none, - 0, 105, :_reduce_none, - 1, 105, :_reduce_220, - 1, 133, :_reduce_221, - 3, 128, :_reduce_222, - 4, 128, :_reduce_223, - 2, 128, :_reduce_224, + 3, 144, :_reduce_200, + 3, 144, :_reduce_201, + 1, 151, :_reduce_none, + 3, 151, :_reduce_203, + 3, 152, :_reduce_204, + 1, 152, :_reduce_205, + 3, 152, :_reduce_206, + 1, 152, :_reduce_207, + 1, 147, :_reduce_none, + 2, 147, :_reduce_209, + 1, 145, :_reduce_none, + 2, 145, :_reduce_211, 1, 153, :_reduce_none, - 3, 153, :_reduce_226, + 1, 153, :_reduce_none, + 1, 95, :_reduce_214, + 3, 120, :_reduce_215, + 4, 120, :_reduce_216, + 2, 120, :_reduce_217, + 1, 128, :_reduce_none, + 1, 128, :_reduce_none, + 0, 106, :_reduce_none, + 1, 106, :_reduce_221, + 1, 134, :_reduce_222, + 3, 129, :_reduce_223, + 4, 129, :_reduce_224, + 2, 129, :_reduce_225, + 1, 154, :_reduce_none, 3, 154, :_reduce_227, - 1, 155, :_reduce_228, - 1, 155, :_reduce_229, - 4, 121, :_reduce_230, - 1, 100, :_reduce_none, - 4, 100, :_reduce_232 ] + 3, 155, :_reduce_228, + 1, 156, :_reduce_229, + 1, 156, :_reduce_230, + 4, 122, :_reduce_231, + 1, 101, :_reduce_none, + 4, 101, :_reduce_233 ] -racc_reduce_n = 233 +racc_reduce_n = 234 -racc_shift_n = 384 +racc_shift_n = 385 racc_token_table = { false => 0, @@ -1077,9 +1034,10 @@ Racc_token_to_s_table = [ "IN", "$start", "program", - "statements", + "statements_and_declarations", "nil", - "statement", + "statement_or_declaration", + "statements", "resource", "virtualresource", "collection", @@ -1169,18 +1127,11 @@ Racc_debug_parser = false # reduce 0 omitted -module_eval(<<'.,.,', 'grammar.ra', 31) - def _reduce_1(val, _values, result) - val[0].is_a_namespace = true - result = val[0] - - result - end -.,., +# reduce 1 omitted # reduce 2 omitted -module_eval(<<'.,.,', 'grammar.ra', 37) +module_eval(<<'.,.,', 'grammar.ra', 34) def _reduce_3(val, _values, result) result = ast AST::ASTArray, :children => [val[0]] @@ -1188,7 +1139,7 @@ module_eval(<<'.,.,', 'grammar.ra', 37) end .,., -module_eval(<<'.,.,', 'grammar.ra', 40) +module_eval(<<'.,.,', 'grammar.ra', 37) def _reduce_4(val, _values, result) val[0].push(val[1]) result = val[0] @@ -1197,7 +1148,18 @@ module_eval(<<'.,.,', 'grammar.ra', 40) end .,., -# reduce 5 omitted +module_eval(<<'.,.,', 'grammar.ra', 44) + def _reduce_5(val, _values, result) + val[0].each do |stmt| + if stmt.is_a?(AST::TopLevelConstruct) + error "Classes, definitions, and nodes may only appear at toplevel or inside other classes" + end + end + result = val[0] + + result + end +.,., # reduce 6 omitted @@ -1225,24 +1187,24 @@ module_eval(<<'.,.,', 'grammar.ra', 40) # reduce 18 omitted -module_eval(<<'.,.,', 'grammar.ra', 61) - def _reduce_19(val, _values, result) +# reduce 19 omitted + +module_eval(<<'.,.,', 'grammar.ra', 69) + def _reduce_20(val, _values, result) result = AST::Relationship.new(val[0], val[2], val[1][:value], ast_context) result end .,., -module_eval(<<'.,.,', 'grammar.ra', 64) - def _reduce_20(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 72) + def _reduce_21(val, _values, result) result = AST::Relationship.new(val[0], val[2], val[1][:value], ast_context) result end .,., -# reduce 21 omitted - # reduce 22 omitted # reduce 23 omitted @@ -1255,8 +1217,10 @@ module_eval(<<'.,.,', 'grammar.ra', 64) # reduce 27 omitted -module_eval(<<'.,.,', 'grammar.ra', 72) - def _reduce_28(val, _values, result) +# reduce 28 omitted + +module_eval(<<'.,.,', 'grammar.ra', 80) + def _reduce_29(val, _values, result) args = aryfy(val[2]) result = ast AST::Function, :name => val[0][:value], @@ -1268,8 +1232,8 @@ module_eval(<<'.,.,', 'grammar.ra', 72) end .,., -module_eval(<<'.,.,', 'grammar.ra', 80) - def _reduce_29(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 88) + def _reduce_30(val, _values, result) args = aryfy(val[2]) result = ast AST::Function, :name => val[0][:value], @@ -1281,8 +1245,8 @@ module_eval(<<'.,.,', 'grammar.ra', 80) end .,., -module_eval(<<'.,.,', 'grammar.ra', 87) - def _reduce_30(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 95) + def _reduce_31(val, _values, result) result = ast AST::Function, :name => val[0][:value], :line => val[0][:line], @@ -1293,8 +1257,8 @@ module_eval(<<'.,.,', 'grammar.ra', 87) end .,., -module_eval(<<'.,.,', 'grammar.ra', 94) - def _reduce_31(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 102) + def _reduce_32(val, _values, result) args = aryfy(val[1]) result = ast AST::Function, :name => val[0][:value], @@ -1306,12 +1270,12 @@ module_eval(<<'.,.,', 'grammar.ra', 94) end .,., -# reduce 32 omitted - # reduce 33 omitted -module_eval(<<'.,.,', 'grammar.ra', 105) - def _reduce_34(val, _values, result) +# reduce 34 omitted + +module_eval(<<'.,.,', 'grammar.ra', 113) + def _reduce_35(val, _values, result) result = aryfy(val[0], val[2]) result.line = @lexer.line result.file = @lexer.file @@ -1320,8 +1284,8 @@ module_eval(<<'.,.,', 'grammar.ra', 105) end .,., -module_eval(<<'.,.,', 'grammar.ra', 110) - def _reduce_35(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 118) + def _reduce_36(val, _values, result) unless val[0].is_a?(AST::ASTArray) val[0] = aryfy(val[0]) end @@ -1334,8 +1298,6 @@ module_eval(<<'.,.,', 'grammar.ra', 110) end .,., -# reduce 36 omitted - # reduce 37 omitted # reduce 38 omitted @@ -1350,16 +1312,18 @@ module_eval(<<'.,.,', 'grammar.ra', 110) # reduce 43 omitted -module_eval(<<'.,.,', 'grammar.ra', 130) - def _reduce_44(val, _values, result) +# reduce 44 omitted + +module_eval(<<'.,.,', 'grammar.ra', 138) + def _reduce_45(val, _values, result) result = ast AST::Name, :value => val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 134) - def _reduce_45(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 142) + def _reduce_46(val, _values, result) @lexer.commentpop array = val[2] array = [array] if array.instance_of?(AST::ResourceInstance) @@ -1383,8 +1347,8 @@ module_eval(<<'.,.,', 'grammar.ra', 134) end .,., -module_eval(<<'.,.,', 'grammar.ra', 153) - def _reduce_46(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 161) + def _reduce_47(val, _values, result) # This is a deprecated syntax. error "All resource specifications require names" @@ -1392,8 +1356,8 @@ module_eval(<<'.,.,', 'grammar.ra', 153) end .,., -module_eval(<<'.,.,', 'grammar.ra', 156) - def _reduce_47(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 164) + def _reduce_48(val, _values, result) # a defaults setting for a type @lexer.commentpop result = ast(AST::ResourceDefaults, :type => val[0], :parameters => val[2]) @@ -1402,8 +1366,8 @@ module_eval(<<'.,.,', 'grammar.ra', 156) end .,., -module_eval(<<'.,.,', 'grammar.ra', 163) - def _reduce_48(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 171) + def _reduce_49(val, _values, result) @lexer.commentpop result = ast AST::ResourceOverride, :object => val[0], :parameters => val[2] @@ -1411,8 +1375,8 @@ module_eval(<<'.,.,', 'grammar.ra', 163) end .,., -module_eval(<<'.,.,', 'grammar.ra', 170) - def _reduce_49(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 178) + def _reduce_50(val, _values, result) type = val[0] if (type == :exported and ! Puppet[:storeconfigs]) and ! Puppet[:parseonly] @@ -1438,22 +1402,22 @@ module_eval(<<'.,.,', 'grammar.ra', 170) end .,., -module_eval(<<'.,.,', 'grammar.ra', 192) - def _reduce_50(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 200) + def _reduce_51(val, _values, result) result = :virtual result end .,., -module_eval(<<'.,.,', 'grammar.ra', 193) - def _reduce_51(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 201) + def _reduce_52(val, _values, result) result = :exported result end .,., -module_eval(<<'.,.,', 'grammar.ra', 198) - def _reduce_52(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 206) + def _reduce_53(val, _values, result) @lexer.commentpop Puppet.warning addcontext("Collection names must now be capitalized") if val[0] =~ /^[a-z]/ type = val[0].downcase @@ -1476,8 +1440,8 @@ module_eval(<<'.,.,', 'grammar.ra', 198) end .,., -module_eval(<<'.,.,', 'grammar.ra', 217) - def _reduce_53(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 225) + def _reduce_54(val, _values, result) if val[0] =~ /^[a-z]/ Puppet.warning addcontext("Collection names must now be capitalized") end @@ -1500,8 +1464,8 @@ module_eval(<<'.,.,', 'grammar.ra', 217) end .,., -module_eval(<<'.,.,', 'grammar.ra', 238) - def _reduce_54(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 246) + def _reduce_55(val, _values, result) if val[1] result = val[1] result.form = :virtual @@ -1513,8 +1477,8 @@ module_eval(<<'.,.,', 'grammar.ra', 238) end .,., -module_eval(<<'.,.,', 'grammar.ra', 246) - def _reduce_55(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 254) + def _reduce_56(val, _values, result) if val[1] result = val[1] result.form = :exported @@ -1526,22 +1490,22 @@ module_eval(<<'.,.,', 'grammar.ra', 246) end .,., -# reduce 56 omitted - # reduce 57 omitted -module_eval(<<'.,.,', 'grammar.ra', 259) - def _reduce_58(val, _values, result) +# reduce 58 omitted + +module_eval(<<'.,.,', 'grammar.ra', 267) + def _reduce_59(val, _values, result) result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2] result end .,., -# reduce 59 omitted +# reduce 60 omitted -module_eval(<<'.,.,', 'grammar.ra', 264) - def _reduce_60(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 272) + def _reduce_61(val, _values, result) result = val[1] result.parens = true @@ -1549,22 +1513,22 @@ module_eval(<<'.,.,', 'grammar.ra', 264) end .,., -module_eval(<<'.,.,', 'grammar.ra', 268) - def _reduce_61(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 276) + def _reduce_62(val, _values, result) result=val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 269) - def _reduce_62(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 277) + def _reduce_63(val, _values, result) result=val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 272) - def _reduce_63(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 280) + def _reduce_64(val, _values, result) result = ast AST::CollExpr, :test1 => val[0], :oper => val[1][:value], :test2 => val[2] #result = ast AST::CollExpr #result.push *val @@ -1573,8 +1537,8 @@ module_eval(<<'.,.,', 'grammar.ra', 272) end .,., -module_eval(<<'.,.,', 'grammar.ra', 277) - def _reduce_64(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 285) + def _reduce_65(val, _values, result) result = ast AST::CollExpr, :test1 => val[0], :oper => val[1][:value], :test2 => val[2] #result = ast AST::CollExpr #result.push *val @@ -1583,22 +1547,22 @@ module_eval(<<'.,.,', 'grammar.ra', 277) end .,., -# reduce 65 omitted - # reduce 66 omitted -module_eval(<<'.,.,', 'grammar.ra', 286) - def _reduce_67(val, _values, result) +# reduce 67 omitted + +module_eval(<<'.,.,', 'grammar.ra', 294) + def _reduce_68(val, _values, result) result = ast AST::ResourceInstance, :children => [val[0],val[2]] result end .,., -# reduce 68 omitted +# reduce 69 omitted -module_eval(<<'.,.,', 'grammar.ra', 291) - def _reduce_69(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 299) + def _reduce_70(val, _values, result) if val[0].instance_of?(AST::ResourceInstance) result = ast AST::ASTArray, :children => [val[0],val[2]] else @@ -1610,36 +1574,34 @@ module_eval(<<'.,.,', 'grammar.ra', 291) end .,., -# reduce 70 omitted - # reduce 71 omitted -module_eval(<<'.,.,', 'grammar.ra', 303) - def _reduce_72(val, _values, result) +# reduce 72 omitted + +module_eval(<<'.,.,', 'grammar.ra', 311) + def _reduce_73(val, _values, result) result = ast AST::Undef, :value => :undef result end .,., -module_eval(<<'.,.,', 'grammar.ra', 307) - def _reduce_73(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 315) + def _reduce_74(val, _values, result) result = ast AST::Name, :value => val[0][:value], :line => val[0][:line] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 311) - def _reduce_74(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 319) + def _reduce_75(val, _values, result) result = ast AST::Type, :value => val[0][:value], :line => val[0][:line] result end .,., -# reduce 75 omitted - # reduce 76 omitted # reduce 77 omitted @@ -1652,8 +1614,10 @@ module_eval(<<'.,.,', 'grammar.ra', 311) # reduce 81 omitted -module_eval(<<'.,.,', 'grammar.ra', 323) - def _reduce_82(val, _values, result) +# reduce 82 omitted + +module_eval(<<'.,.,', 'grammar.ra', 331) + def _reduce_83(val, _values, result) raise Puppet::ParseError, "Cannot assign to variables in other namespaces" if val[0][:value] =~ /::/ # this is distinct from referencing a variable variable = ast AST::Name, :value => val[0][:value], :line => val[0][:line] @@ -1663,16 +1627,16 @@ module_eval(<<'.,.,', 'grammar.ra', 323) end .,., -module_eval(<<'.,.,', 'grammar.ra', 329) - def _reduce_83(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 337) + def _reduce_84(val, _values, result) result = ast AST::VarDef, :name => val[0], :value => val[2] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 333) - def _reduce_84(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 341) + def _reduce_85(val, _values, result) variable = ast AST::Name, :value => val[0][:value], :line => val[0][:line] result = ast AST::VarDef, :name => variable, :value => val[2], :append => true, :line => val[0][:line] @@ -1680,23 +1644,23 @@ module_eval(<<'.,.,', 'grammar.ra', 333) end .,., -module_eval(<<'.,.,', 'grammar.ra', 339) - def _reduce_85(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 347) + def _reduce_86(val, _values, result) result = ast AST::ASTArray result end .,., -module_eval(<<'.,.,', 'grammar.ra', 341) - def _reduce_86(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 349) + def _reduce_87(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 343) - def _reduce_87(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 351) + def _reduce_88(val, _values, result) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) result = val[0] @@ -1708,16 +1672,16 @@ module_eval(<<'.,.,', 'grammar.ra', 343) end .,., -module_eval(<<'.,.,', 'grammar.ra', 352) - def _reduce_88(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 360) + def _reduce_89(val, _values, result) result = ast AST::ResourceParam, :param => val[0][:value], :line => val[0][:line], :value => val[2] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 356) - def _reduce_89(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 364) + def _reduce_90(val, _values, result) result = ast AST::ResourceParam, :param => val[0][:value], :line => val[0][:line], :value => val[2], :add => true @@ -1725,27 +1689,27 @@ module_eval(<<'.,.,', 'grammar.ra', 356) end .,., -# reduce 90 omitted - # reduce 91 omitted -module_eval(<<'.,.,', 'grammar.ra', 365) - def _reduce_92(val, _values, result) +# reduce 92 omitted + +module_eval(<<'.,.,', 'grammar.ra', 373) + def _reduce_93(val, _values, result) result = ast AST::ASTArray result end .,., -module_eval(<<'.,.,', 'grammar.ra', 367) - def _reduce_93(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 375) + def _reduce_94(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 369) - def _reduce_94(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 377) + def _reduce_95(val, _values, result) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) result = val[0] @@ -1757,10 +1721,10 @@ module_eval(<<'.,.,', 'grammar.ra', 369) end .,., -# reduce 95 omitted +# reduce 96 omitted -module_eval(<<'.,.,', 'grammar.ra', 379) - def _reduce_96(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 387) + def _reduce_97(val, _values, result) if val[0].instance_of?(AST::ASTArray) result = val[0].push(val[2]) else @@ -1771,8 +1735,6 @@ module_eval(<<'.,.,', 'grammar.ra', 379) end .,., -# reduce 97 omitted - # reduce 98 omitted # reduce 99 omitted @@ -1807,8 +1769,10 @@ module_eval(<<'.,.,', 'grammar.ra', 379) # reduce 114 omitted -module_eval(<<'.,.,', 'grammar.ra', 408) - def _reduce_115(val, _values, result) +# reduce 115 omitted + +module_eval(<<'.,.,', 'grammar.ra', 416) + def _reduce_116(val, _values, result) args = aryfy(val[2]) result = ast AST::Function, :name => val[0][:value], :line => val[0][:line], @@ -1819,8 +1783,8 @@ module_eval(<<'.,.,', 'grammar.ra', 408) end .,., -module_eval(<<'.,.,', 'grammar.ra', 414) - def _reduce_116(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 422) + def _reduce_117(val, _values, result) result = ast AST::Function, :name => val[0][:value], :line => val[0][:line], :arguments => AST::ASTArray.new({}), @@ -1830,51 +1794,51 @@ module_eval(<<'.,.,', 'grammar.ra', 414) end .,., -module_eval(<<'.,.,', 'grammar.ra', 420) - def _reduce_117(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 428) + def _reduce_118(val, _values, result) result = ast AST::String, :value => val[0][:value], :line => val[0][:line] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 421) - def _reduce_118(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 429) + def _reduce_119(val, _values, result) result = ast AST::Concat, :value => [ast(AST::String,val[0])]+val[1], :line => val[0][:line] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 423) - def _reduce_119(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 431) + def _reduce_120(val, _values, result) result = [val[0]] + val[1] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 425) - def _reduce_120(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 433) + def _reduce_121(val, _values, result) result = [ast(AST::String,val[0])] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 426) - def _reduce_121(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 434) + def _reduce_122(val, _values, result) result = [ast(AST::String,val[0])] + val[1] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 429) - def _reduce_122(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 437) + def _reduce_123(val, _values, result) result = ast AST::Boolean, :value => val[0][:value], :line => val[0][:line] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 433) - def _reduce_123(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 441) + def _reduce_124(val, _values, result) Puppet.warning addcontext("Deprecation notice: Resource references should now be capitalized") result = ast AST::ResourceReference, :type => val[0][:value], :line => val[0][:line], :title => val[2] @@ -1882,24 +1846,24 @@ module_eval(<<'.,.,', 'grammar.ra', 433) end .,., -module_eval(<<'.,.,', 'grammar.ra', 436) - def _reduce_124(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 444) + def _reduce_125(val, _values, result) result = ast AST::ResourceReference, :type => val[0], :title => val[2] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 440) - def _reduce_125(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 448) + def _reduce_126(val, _values, result) result = val[1] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 444) - def _reduce_126(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 452) + def _reduce_127(val, _values, result) @lexer.commentpop args = { :test => val[0], @@ -1914,8 +1878,8 @@ module_eval(<<'.,.,', 'grammar.ra', 444) end .,., -module_eval(<<'.,.,', 'grammar.ra', 455) - def _reduce_127(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 463) + def _reduce_128(val, _values, result) @lexer.commentpop args = { :test => val[0], @@ -1930,18 +1894,18 @@ module_eval(<<'.,.,', 'grammar.ra', 455) end .,., -# reduce 128 omitted +# reduce 129 omitted -module_eval(<<'.,.,', 'grammar.ra', 468) - def _reduce_129(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 476) + def _reduce_130(val, _values, result) result = ast AST::Else, :statements => val[1] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 471) - def _reduce_130(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 479) + def _reduce_131(val, _values, result) @lexer.commentpop result = ast AST::Else, :statements => val[2] @@ -1949,8 +1913,8 @@ module_eval(<<'.,.,', 'grammar.ra', 471) end .,., -module_eval(<<'.,.,', 'grammar.ra', 475) - def _reduce_131(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 483) + def _reduce_132(val, _values, result) @lexer.commentpop result = ast AST::Else, :statements => ast(AST::Nop) @@ -1958,25 +1922,17 @@ module_eval(<<'.,.,', 'grammar.ra', 475) end .,., -# reduce 132 omitted +# reduce 133 omitted -module_eval(<<'.,.,', 'grammar.ra', 493) - def _reduce_133(val, _values, result) - result = ast AST::InOperator, :lval => val[0], :rval => val[2] - - result - end -.,., - -module_eval(<<'.,.,', 'grammar.ra', 496) +module_eval(<<'.,.,', 'grammar.ra', 501) def _reduce_134(val, _values, result) - result = ast AST::MatchOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] + result = ast AST::InOperator, :lval => val[0], :rval => val[2] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 499) +module_eval(<<'.,.,', 'grammar.ra', 504) def _reduce_135(val, _values, result) result = ast AST::MatchOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -1984,15 +1940,15 @@ module_eval(<<'.,.,', 'grammar.ra', 499) end .,., -module_eval(<<'.,.,', 'grammar.ra', 502) +module_eval(<<'.,.,', 'grammar.ra', 507) def _reduce_136(val, _values, result) - result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] + result = ast AST::MatchOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 505) +module_eval(<<'.,.,', 'grammar.ra', 510) def _reduce_137(val, _values, result) result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2000,7 +1956,7 @@ module_eval(<<'.,.,', 'grammar.ra', 505) end .,., -module_eval(<<'.,.,', 'grammar.ra', 508) +module_eval(<<'.,.,', 'grammar.ra', 513) def _reduce_138(val, _values, result) result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2008,7 +1964,7 @@ module_eval(<<'.,.,', 'grammar.ra', 508) end .,., -module_eval(<<'.,.,', 'grammar.ra', 511) +module_eval(<<'.,.,', 'grammar.ra', 516) def _reduce_139(val, _values, result) result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2016,7 +1972,7 @@ module_eval(<<'.,.,', 'grammar.ra', 511) end .,., -module_eval(<<'.,.,', 'grammar.ra', 514) +module_eval(<<'.,.,', 'grammar.ra', 519) def _reduce_140(val, _values, result) result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2024,7 +1980,7 @@ module_eval(<<'.,.,', 'grammar.ra', 514) end .,., -module_eval(<<'.,.,', 'grammar.ra', 517) +module_eval(<<'.,.,', 'grammar.ra', 522) def _reduce_141(val, _values, result) result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2032,23 +1988,23 @@ module_eval(<<'.,.,', 'grammar.ra', 517) end .,., -module_eval(<<'.,.,', 'grammar.ra', 520) +module_eval(<<'.,.,', 'grammar.ra', 525) def _reduce_142(val, _values, result) - result = ast AST::Minus, :value => val[1] + result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 523) +module_eval(<<'.,.,', 'grammar.ra', 528) def _reduce_143(val, _values, result) - result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] + result = ast AST::Minus, :value => val[1] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 526) +module_eval(<<'.,.,', 'grammar.ra', 531) def _reduce_144(val, _values, result) result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2056,7 +2012,7 @@ module_eval(<<'.,.,', 'grammar.ra', 526) end .,., -module_eval(<<'.,.,', 'grammar.ra', 529) +module_eval(<<'.,.,', 'grammar.ra', 534) def _reduce_145(val, _values, result) result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2064,7 +2020,7 @@ module_eval(<<'.,.,', 'grammar.ra', 529) end .,., -module_eval(<<'.,.,', 'grammar.ra', 532) +module_eval(<<'.,.,', 'grammar.ra', 537) def _reduce_146(val, _values, result) result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2072,7 +2028,7 @@ module_eval(<<'.,.,', 'grammar.ra', 532) end .,., -module_eval(<<'.,.,', 'grammar.ra', 535) +module_eval(<<'.,.,', 'grammar.ra', 540) def _reduce_147(val, _values, result) result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2080,7 +2036,7 @@ module_eval(<<'.,.,', 'grammar.ra', 535) end .,., -module_eval(<<'.,.,', 'grammar.ra', 538) +module_eval(<<'.,.,', 'grammar.ra', 543) def _reduce_148(val, _values, result) result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2088,23 +2044,23 @@ module_eval(<<'.,.,', 'grammar.ra', 538) end .,., -module_eval(<<'.,.,', 'grammar.ra', 541) +module_eval(<<'.,.,', 'grammar.ra', 546) def _reduce_149(val, _values, result) - result = ast AST::Not, :value => val[1] + result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 544) +module_eval(<<'.,.,', 'grammar.ra', 549) def _reduce_150(val, _values, result) - result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] + result = ast AST::Not, :value => val[1] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 547) +module_eval(<<'.,.,', 'grammar.ra', 552) def _reduce_151(val, _values, result) result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2112,16 +2068,24 @@ module_eval(<<'.,.,', 'grammar.ra', 547) end .,., -module_eval(<<'.,.,', 'grammar.ra', 550) +module_eval(<<'.,.,', 'grammar.ra', 555) def _reduce_152(val, _values, result) - result = val[1] + result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 554) +module_eval(<<'.,.,', 'grammar.ra', 558) def _reduce_153(val, _values, result) + result = val[1] + + result + end +.,., + +module_eval(<<'.,.,', 'grammar.ra', 562) + def _reduce_154(val, _values, result) @lexer.commentpop options = val[3] options = ast AST::ASTArray, :children => [val[3]] unless options.instance_of?(AST::ASTArray) @@ -2131,10 +2095,10 @@ module_eval(<<'.,.,', 'grammar.ra', 554) end .,., -# reduce 154 omitted +# reduce 155 omitted -module_eval(<<'.,.,', 'grammar.ra', 562) - def _reduce_155(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 570) + def _reduce_156(val, _values, result) if val[0].instance_of?(AST::ASTArray) val[0].push val[1] result = val[0] @@ -2146,8 +2110,8 @@ module_eval(<<'.,.,', 'grammar.ra', 562) end .,., -module_eval(<<'.,.,', 'grammar.ra', 571) - def _reduce_156(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 579) + def _reduce_157(val, _values, result) @lexer.commentpop result = ast AST::CaseOpt, :value => val[0], :statements => val[3] @@ -2155,8 +2119,8 @@ module_eval(<<'.,.,', 'grammar.ra', 571) end .,., -module_eval(<<'.,.,', 'grammar.ra', 574) - def _reduce_157(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 582) + def _reduce_158(val, _values, result) @lexer.commentpop result = ast( @@ -2170,10 +2134,10 @@ module_eval(<<'.,.,', 'grammar.ra', 574) end .,., -# reduce 158 omitted +# reduce 159 omitted -module_eval(<<'.,.,', 'grammar.ra', 586) - def _reduce_159(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 594) + def _reduce_160(val, _values, result) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) result = val[0] @@ -2185,18 +2149,18 @@ module_eval(<<'.,.,', 'grammar.ra', 586) end .,., -module_eval(<<'.,.,', 'grammar.ra', 595) - def _reduce_160(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 603) + def _reduce_161(val, _values, result) result = ast AST::Selector, :param => val[0], :values => val[2] result end .,., -# reduce 161 omitted +# reduce 162 omitted -module_eval(<<'.,.,', 'grammar.ra', 600) - def _reduce_162(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 608) + def _reduce_163(val, _values, result) @lexer.commentpop result = val[1] @@ -2204,10 +2168,10 @@ module_eval(<<'.,.,', 'grammar.ra', 600) end .,., -# reduce 163 omitted +# reduce 164 omitted -module_eval(<<'.,.,', 'grammar.ra', 606) - def _reduce_164(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 614) + def _reduce_165(val, _values, result) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) result = val[0] @@ -2219,16 +2183,14 @@ module_eval(<<'.,.,', 'grammar.ra', 606) end .,., -module_eval(<<'.,.,', 'grammar.ra', 615) - def _reduce_165(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 623) + def _reduce_166(val, _values, result) result = ast AST::ResourceParam, :param => val[0], :value => val[2] result end .,., -# reduce 166 omitted - # reduce 167 omitted # reduce 168 omitted @@ -2241,34 +2203,36 @@ module_eval(<<'.,.,', 'grammar.ra', 615) # reduce 172 omitted -module_eval(<<'.,.,', 'grammar.ra', 626) - def _reduce_173(val, _values, result) +# reduce 173 omitted + +module_eval(<<'.,.,', 'grammar.ra', 634) + def _reduce_174(val, _values, result) result = ast AST::Default, :value => val[0][:value], :line => val[0][:line] result end .,., -# reduce 174 omitted +# reduce 175 omitted -module_eval(<<'.,.,', 'grammar.ra', 631) - def _reduce_175(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 639) + def _reduce_176(val, _values, result) result = [val[0][:value]] result end .,., -# reduce 176 omitted +# reduce 177 omitted -module_eval(<<'.,.,', 'grammar.ra', 633) - def _reduce_177(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 641) + def _reduce_178(val, _values, result) result = val[0] += val[2] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 636) - def _reduce_178(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 644) + def _reduce_179(val, _values, result) val[1].each do |file| import(file) end @@ -2279,8 +2243,8 @@ module_eval(<<'.,.,', 'grammar.ra', 636) end .,., -module_eval(<<'.,.,', 'grammar.ra', 646) - def _reduce_179(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 654) + def _reduce_180(val, _values, result) @lexer.commentpop result = Puppet::Parser::AST::Definition.new(classname(val[1]), ast_context(true).merge(:arguments => val[2], :code => val[4], @@ -2293,8 +2257,8 @@ module_eval(<<'.,.,', 'grammar.ra', 646) end .,., -module_eval(<<'.,.,', 'grammar.ra', 654) - def _reduce_180(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 662) + def _reduce_181(val, _values, result) @lexer.commentpop result = Puppet::Parser::AST::Definition.new(classname(val[1]), ast_context(true).merge(:arguments => val[2], :line => val[0][:line])) @@ -2304,12 +2268,11 @@ module_eval(<<'.,.,', 'grammar.ra', 654) end .,., -module_eval(<<'.,.,', 'grammar.ra', 662) - def _reduce_181(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 670) + def _reduce_182(val, _values, result) @lexer.commentpop # Our class gets defined in the parent namespace, not our own. @lexer.namepop - val[5].is_a_namespace = true result = Puppet::Parser::AST::Hostclass.new(classname(val[1]), ast_context(true).merge(:arguments => val[2], :parent => val[3], :code => val[5], :line => val[0][:line])) @@ -2318,8 +2281,8 @@ module_eval(<<'.,.,', 'grammar.ra', 662) end .,., -module_eval(<<'.,.,', 'grammar.ra', 670) - def _reduce_182(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 677) + def _reduce_183(val, _values, result) @lexer.commentpop # Our class gets defined in the parent namespace, not our own. @lexer.namepop @@ -2331,8 +2294,8 @@ module_eval(<<'.,.,', 'grammar.ra', 670) end .,., -module_eval(<<'.,.,', 'grammar.ra', 679) - def _reduce_183(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 686) + def _reduce_184(val, _values, result) @lexer.commentpop result = Puppet::Parser::AST::Node.new(val[1], ast_context(true).merge(:parent => val[2], :code => val[4], @@ -2342,8 +2305,8 @@ module_eval(<<'.,.,', 'grammar.ra', 679) end .,., -module_eval(<<'.,.,', 'grammar.ra', 684) - def _reduce_184(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 691) + def _reduce_185(val, _values, result) @lexer.commentpop result = Puppet::Parser::AST::Node.new(val[1], ast_context(true).merge(:parent => val[2], :line => val[0][:line])) @@ -2351,44 +2314,44 @@ module_eval(<<'.,.,', 'grammar.ra', 684) end .,., -module_eval(<<'.,.,', 'grammar.ra', 688) - def _reduce_185(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 695) + def _reduce_186(val, _values, result) result = val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 690) - def _reduce_186(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 697) + def _reduce_187(val, _values, result) result = val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 691) - def _reduce_187(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 698) + def _reduce_188(val, _values, result) result = val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 692) - def _reduce_188(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 699) + def _reduce_189(val, _values, result) result = "class" result end .,., -module_eval(<<'.,.,', 'grammar.ra', 697) - def _reduce_189(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 704) + def _reduce_190(val, _values, result) result = [result] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 700) - def _reduce_190(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 707) + def _reduce_191(val, _values, result) result = val[0] result << val[2] @@ -2396,65 +2359,65 @@ module_eval(<<'.,.,', 'grammar.ra', 700) end .,., -module_eval(<<'.,.,', 'grammar.ra', 705) - def _reduce_191(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 712) + def _reduce_192(val, _values, result) result = ast AST::HostName, :value => val[0] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 708) - def _reduce_192(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 715) + def _reduce_193(val, _values, result) result = val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 709) - def _reduce_193(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 716) + def _reduce_194(val, _values, result) result = val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 710) - def _reduce_194(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 717) + def _reduce_195(val, _values, result) result = val[0][:value] result end .,., -# reduce 195 omitted +# reduce 196 omitted -module_eval(<<'.,.,', 'grammar.ra', 714) - def _reduce_196(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 721) + def _reduce_197(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.ra', 718) - def _reduce_197(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 725) + def _reduce_198(val, _values, result) result = ast AST::ASTArray, :children => [] result end .,., -# reduce 198 omitted +# reduce 199 omitted -module_eval(<<'.,.,', 'grammar.ra', 723) - def _reduce_199(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 730) + def _reduce_200(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.ra', 726) - def _reduce_200(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 733) + def _reduce_201(val, _values, result) result = val[1] result = [result] unless result[0].is_a?(Array) @@ -2462,10 +2425,10 @@ module_eval(<<'.,.,', 'grammar.ra', 726) end .,., -# reduce 201 omitted +# reduce 202 omitted -module_eval(<<'.,.,', 'grammar.ra', 732) - def _reduce_202(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 739) + def _reduce_203(val, _values, result) result = val[0] result = [result] unless result[0].is_a?(Array) result << val[2] @@ -2474,8 +2437,8 @@ module_eval(<<'.,.,', 'grammar.ra', 732) end .,., -module_eval(<<'.,.,', 'grammar.ra', 738) - def _reduce_203(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 745) + def _reduce_204(val, _values, result) Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype") result = [val[0][:value], val[2]] @@ -2483,8 +2446,8 @@ module_eval(<<'.,.,', 'grammar.ra', 738) end .,., -module_eval(<<'.,.,', 'grammar.ra', 742) - def _reduce_204(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 749) + def _reduce_205(val, _values, result) Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype") result = [val[0][:value]] @@ -2492,56 +2455,56 @@ module_eval(<<'.,.,', 'grammar.ra', 742) end .,., -module_eval(<<'.,.,', 'grammar.ra', 745) - def _reduce_205(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 752) + def _reduce_206(val, _values, result) result = [val[0][:value], val[2]] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 747) - def _reduce_206(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 754) + def _reduce_207(val, _values, result) result = [val[0][:value]] result end .,., -# reduce 207 omitted +# reduce 208 omitted -module_eval(<<'.,.,', 'grammar.ra', 752) - def _reduce_208(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 759) + def _reduce_209(val, _values, result) result = val[1] result end .,., -# reduce 209 omitted +# reduce 210 omitted -module_eval(<<'.,.,', 'grammar.ra', 757) - def _reduce_210(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 764) + def _reduce_211(val, _values, result) result = val[1] result end .,., -# reduce 211 omitted - # reduce 212 omitted -module_eval(<<'.,.,', 'grammar.ra', 763) - def _reduce_213(val, _values, result) +# reduce 213 omitted + +module_eval(<<'.,.,', 'grammar.ra', 770) + def _reduce_214(val, _values, result) result = ast AST::Variable, :value => val[0][:value], :line => val[0][:line] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 767) - def _reduce_214(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 774) + def _reduce_215(val, _values, result) if val[1].instance_of?(AST::ASTArray) result = val[1] else @@ -2552,8 +2515,8 @@ module_eval(<<'.,.,', 'grammar.ra', 767) end .,., -module_eval(<<'.,.,', 'grammar.ra', 774) - def _reduce_215(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 781) + def _reduce_216(val, _values, result) if val[1].instance_of?(AST::ASTArray) result = val[1] else @@ -2564,37 +2527,37 @@ module_eval(<<'.,.,', 'grammar.ra', 774) end .,., -module_eval(<<'.,.,', 'grammar.ra', 780) - def _reduce_216(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 787) + def _reduce_217(val, _values, result) result = ast AST::ASTArray result end .,., -# reduce 217 omitted - # reduce 218 omitted # reduce 219 omitted -module_eval(<<'.,.,', 'grammar.ra', 787) - def _reduce_220(val, _values, result) +# reduce 220 omitted + +module_eval(<<'.,.,', 'grammar.ra', 794) + def _reduce_221(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.ra', 790) - def _reduce_221(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 797) + def _reduce_222(val, _values, result) result = ast AST::Regex, :value => val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 794) - def _reduce_222(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 801) + def _reduce_223(val, _values, result) if val[1].instance_of?(AST::ASTHash) result = val[1] else @@ -2605,8 +2568,8 @@ module_eval(<<'.,.,', 'grammar.ra', 794) end .,., -module_eval(<<'.,.,', 'grammar.ra', 801) - def _reduce_223(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 808) + def _reduce_224(val, _values, result) if val[1].instance_of?(AST::ASTHash) result = val[1] else @@ -2617,18 +2580,18 @@ module_eval(<<'.,.,', 'grammar.ra', 801) end .,., -module_eval(<<'.,.,', 'grammar.ra', 807) - def _reduce_224(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 814) + def _reduce_225(val, _values, result) result = ast AST::ASTHash result end .,., -# reduce 225 omitted +# reduce 226 omitted -module_eval(<<'.,.,', 'grammar.ra', 812) - def _reduce_226(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 819) + def _reduce_227(val, _values, result) if val[0].instance_of?(AST::ASTHash) result = val[0].merge(val[2]) else @@ -2640,40 +2603,40 @@ module_eval(<<'.,.,', 'grammar.ra', 812) end .,., -module_eval(<<'.,.,', 'grammar.ra', 821) - def _reduce_227(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 828) + def _reduce_228(val, _values, result) result = ast AST::ASTHash, { :value => { val[0] => val[2] } } result end .,., -module_eval(<<'.,.,', 'grammar.ra', 824) - def _reduce_228(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 831) + def _reduce_229(val, _values, result) result = val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 825) - def _reduce_229(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 832) + def _reduce_230(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 828) - def _reduce_230(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 835) + def _reduce_231(val, _values, result) result = ast AST::HashOrArrayAccess, :variable => val[0][:value], :key => val[2] result end .,., -# reduce 231 omitted +# reduce 232 omitted -module_eval(<<'.,.,', 'grammar.ra', 833) - def _reduce_232(val, _values, result) +module_eval(<<'.,.,', 'grammar.ra', 840) + def _reduce_233(val, _values, result) result = ast AST::HashOrArrayAccess, :variable => val[0], :key => val[2] result -- cgit From ce9bf1edcaac4901de6e0a7da413d1742d216eb0 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Tue, 7 Sep 2010 18:01:42 -0700 Subject: Modified the error message that is generated when a class, definition, or node occurs in a conditional construct so that it contains the proper line number. --- lib/puppet/parser/ast/definition.rb | 2 + lib/puppet/parser/ast/node.rb | 2 +- lib/puppet/parser/grammar.ra | 3 +- lib/puppet/parser/parser.rb | 273 ++++++++++++++++++------------------ lib/puppet/parser/parser_support.rb | 6 +- 5 files changed, 145 insertions(+), 141 deletions(-) (limited to 'lib/puppet') diff --git a/lib/puppet/parser/ast/definition.rb b/lib/puppet/parser/ast/definition.rb index 09f52b519..287845ade 100644 --- a/lib/puppet/parser/ast/definition.rb +++ b/lib/puppet/parser/ast/definition.rb @@ -1,6 +1,8 @@ require 'puppet/parser/ast/top_level_construct' class Puppet::Parser::AST::Definition < Puppet::Parser::AST::TopLevelConstruct + attr_accessor :context + def initialize(name, context = {}) @name = name @context = context diff --git a/lib/puppet/parser/ast/node.rb b/lib/puppet/parser/ast/node.rb index c19a24ce0..4951a6365 100644 --- a/lib/puppet/parser/ast/node.rb +++ b/lib/puppet/parser/ast/node.rb @@ -1,7 +1,7 @@ require 'puppet/parser/ast/top_level_construct' class Puppet::Parser::AST::Node < Puppet::Parser::AST::TopLevelConstruct - attr_accessor :names + attr_accessor :names, :context def initialize(names, context = {}) raise ArgumentError, "names should be an array" unless names.is_a? Array diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra index 9377c0b02..3d77d2db8 100644 --- a/lib/puppet/parser/grammar.ra +++ b/lib/puppet/parser/grammar.ra @@ -44,7 +44,8 @@ program: statements_and_declarations statements: statements_and_declarations { val[0].each do |stmt| if stmt.is_a?(AST::TopLevelConstruct) - error "Classes, definitions, and nodes may only appear at toplevel or inside other classes" + error "Classes, definitions, and nodes may only appear at toplevel or inside other classes", \ + :line => stmt.context[:line], :file => stmt.context[:file] end end result = val[0] diff --git a/lib/puppet/parser/parser.rb b/lib/puppet/parser/parser.rb index 868716e0d..5b24d8434 100644 --- a/lib/puppet/parser/parser.rb +++ b/lib/puppet/parser/parser.rb @@ -21,7 +21,7 @@ module Puppet module Parser class Parser < Racc::Parser -module_eval(<<'...end grammar.ra/module_eval...', 'grammar.ra', 858) +module_eval(<<'...end grammar.ra/module_eval...', 'grammar.ra', 859) # It got too annoying having code in a file that needs to be compiled. require 'puppet/parser/parser_support' @@ -1152,7 +1152,8 @@ module_eval(<<'.,.,', 'grammar.ra', 44) def _reduce_5(val, _values, result) val[0].each do |stmt| if stmt.is_a?(AST::TopLevelConstruct) - error "Classes, definitions, and nodes may only appear at toplevel or inside other classes" + error "Classes, definitions, and nodes may only appear at toplevel or inside other classes", \ + :line => stmt.context[:line], :file => stmt.context[:file] end end result = val[0] @@ -1189,7 +1190,7 @@ module_eval(<<'.,.,', 'grammar.ra', 44) # reduce 19 omitted -module_eval(<<'.,.,', 'grammar.ra', 69) +module_eval(<<'.,.,', 'grammar.ra', 70) def _reduce_20(val, _values, result) result = AST::Relationship.new(val[0], val[2], val[1][:value], ast_context) @@ -1197,7 +1198,7 @@ module_eval(<<'.,.,', 'grammar.ra', 69) end .,., -module_eval(<<'.,.,', 'grammar.ra', 72) +module_eval(<<'.,.,', 'grammar.ra', 73) def _reduce_21(val, _values, result) result = AST::Relationship.new(val[0], val[2], val[1][:value], ast_context) @@ -1219,7 +1220,7 @@ module_eval(<<'.,.,', 'grammar.ra', 72) # reduce 28 omitted -module_eval(<<'.,.,', 'grammar.ra', 80) +module_eval(<<'.,.,', 'grammar.ra', 81) def _reduce_29(val, _values, result) args = aryfy(val[2]) result = ast AST::Function, @@ -1232,7 +1233,7 @@ module_eval(<<'.,.,', 'grammar.ra', 80) end .,., -module_eval(<<'.,.,', 'grammar.ra', 88) +module_eval(<<'.,.,', 'grammar.ra', 89) def _reduce_30(val, _values, result) args = aryfy(val[2]) result = ast AST::Function, @@ -1245,7 +1246,7 @@ module_eval(<<'.,.,', 'grammar.ra', 88) end .,., -module_eval(<<'.,.,', 'grammar.ra', 95) +module_eval(<<'.,.,', 'grammar.ra', 96) def _reduce_31(val, _values, result) result = ast AST::Function, :name => val[0][:value], @@ -1257,7 +1258,7 @@ module_eval(<<'.,.,', 'grammar.ra', 95) end .,., -module_eval(<<'.,.,', 'grammar.ra', 102) +module_eval(<<'.,.,', 'grammar.ra', 103) def _reduce_32(val, _values, result) args = aryfy(val[1]) result = ast AST::Function, @@ -1274,7 +1275,7 @@ module_eval(<<'.,.,', 'grammar.ra', 102) # reduce 34 omitted -module_eval(<<'.,.,', 'grammar.ra', 113) +module_eval(<<'.,.,', 'grammar.ra', 114) def _reduce_35(val, _values, result) result = aryfy(val[0], val[2]) result.line = @lexer.line @@ -1284,7 +1285,7 @@ module_eval(<<'.,.,', 'grammar.ra', 113) end .,., -module_eval(<<'.,.,', 'grammar.ra', 118) +module_eval(<<'.,.,', 'grammar.ra', 119) def _reduce_36(val, _values, result) unless val[0].is_a?(AST::ASTArray) val[0] = aryfy(val[0]) @@ -1314,7 +1315,7 @@ module_eval(<<'.,.,', 'grammar.ra', 118) # reduce 44 omitted -module_eval(<<'.,.,', 'grammar.ra', 138) +module_eval(<<'.,.,', 'grammar.ra', 139) def _reduce_45(val, _values, result) result = ast AST::Name, :value => val[0][:value] @@ -1322,7 +1323,7 @@ module_eval(<<'.,.,', 'grammar.ra', 138) end .,., -module_eval(<<'.,.,', 'grammar.ra', 142) +module_eval(<<'.,.,', 'grammar.ra', 143) def _reduce_46(val, _values, result) @lexer.commentpop array = val[2] @@ -1347,7 +1348,7 @@ module_eval(<<'.,.,', 'grammar.ra', 142) end .,., -module_eval(<<'.,.,', 'grammar.ra', 161) +module_eval(<<'.,.,', 'grammar.ra', 162) def _reduce_47(val, _values, result) # This is a deprecated syntax. error "All resource specifications require names" @@ -1356,7 +1357,7 @@ module_eval(<<'.,.,', 'grammar.ra', 161) end .,., -module_eval(<<'.,.,', 'grammar.ra', 164) +module_eval(<<'.,.,', 'grammar.ra', 165) def _reduce_48(val, _values, result) # a defaults setting for a type @lexer.commentpop @@ -1366,7 +1367,7 @@ module_eval(<<'.,.,', 'grammar.ra', 164) end .,., -module_eval(<<'.,.,', 'grammar.ra', 171) +module_eval(<<'.,.,', 'grammar.ra', 172) def _reduce_49(val, _values, result) @lexer.commentpop result = ast AST::ResourceOverride, :object => val[0], :parameters => val[2] @@ -1375,7 +1376,7 @@ module_eval(<<'.,.,', 'grammar.ra', 171) end .,., -module_eval(<<'.,.,', 'grammar.ra', 178) +module_eval(<<'.,.,', 'grammar.ra', 179) def _reduce_50(val, _values, result) type = val[0] @@ -1402,21 +1403,21 @@ module_eval(<<'.,.,', 'grammar.ra', 178) end .,., -module_eval(<<'.,.,', 'grammar.ra', 200) +module_eval(<<'.,.,', 'grammar.ra', 201) def _reduce_51(val, _values, result) result = :virtual result end .,., -module_eval(<<'.,.,', 'grammar.ra', 201) +module_eval(<<'.,.,', 'grammar.ra', 202) def _reduce_52(val, _values, result) result = :exported result end .,., -module_eval(<<'.,.,', 'grammar.ra', 206) +module_eval(<<'.,.,', 'grammar.ra', 207) def _reduce_53(val, _values, result) @lexer.commentpop Puppet.warning addcontext("Collection names must now be capitalized") if val[0] =~ /^[a-z]/ @@ -1440,7 +1441,7 @@ module_eval(<<'.,.,', 'grammar.ra', 206) end .,., -module_eval(<<'.,.,', 'grammar.ra', 225) +module_eval(<<'.,.,', 'grammar.ra', 226) def _reduce_54(val, _values, result) if val[0] =~ /^[a-z]/ Puppet.warning addcontext("Collection names must now be capitalized") @@ -1464,7 +1465,7 @@ module_eval(<<'.,.,', 'grammar.ra', 225) end .,., -module_eval(<<'.,.,', 'grammar.ra', 246) +module_eval(<<'.,.,', 'grammar.ra', 247) def _reduce_55(val, _values, result) if val[1] result = val[1] @@ -1477,7 +1478,7 @@ module_eval(<<'.,.,', 'grammar.ra', 246) end .,., -module_eval(<<'.,.,', 'grammar.ra', 254) +module_eval(<<'.,.,', 'grammar.ra', 255) def _reduce_56(val, _values, result) if val[1] result = val[1] @@ -1494,7 +1495,7 @@ module_eval(<<'.,.,', 'grammar.ra', 254) # reduce 58 omitted -module_eval(<<'.,.,', 'grammar.ra', 267) +module_eval(<<'.,.,', 'grammar.ra', 268) def _reduce_59(val, _values, result) result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2] @@ -1504,7 +1505,7 @@ module_eval(<<'.,.,', 'grammar.ra', 267) # reduce 60 omitted -module_eval(<<'.,.,', 'grammar.ra', 272) +module_eval(<<'.,.,', 'grammar.ra', 273) def _reduce_61(val, _values, result) result = val[1] result.parens = true @@ -1513,21 +1514,21 @@ module_eval(<<'.,.,', 'grammar.ra', 272) end .,., -module_eval(<<'.,.,', 'grammar.ra', 276) +module_eval(<<'.,.,', 'grammar.ra', 277) def _reduce_62(val, _values, result) result=val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 277) +module_eval(<<'.,.,', 'grammar.ra', 278) def _reduce_63(val, _values, result) result=val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 280) +module_eval(<<'.,.,', 'grammar.ra', 281) def _reduce_64(val, _values, result) result = ast AST::CollExpr, :test1 => val[0], :oper => val[1][:value], :test2 => val[2] #result = ast AST::CollExpr @@ -1537,7 +1538,7 @@ module_eval(<<'.,.,', 'grammar.ra', 280) end .,., -module_eval(<<'.,.,', 'grammar.ra', 285) +module_eval(<<'.,.,', 'grammar.ra', 286) def _reduce_65(val, _values, result) result = ast AST::CollExpr, :test1 => val[0], :oper => val[1][:value], :test2 => val[2] #result = ast AST::CollExpr @@ -1551,7 +1552,7 @@ module_eval(<<'.,.,', 'grammar.ra', 285) # reduce 67 omitted -module_eval(<<'.,.,', 'grammar.ra', 294) +module_eval(<<'.,.,', 'grammar.ra', 295) def _reduce_68(val, _values, result) result = ast AST::ResourceInstance, :children => [val[0],val[2]] @@ -1561,7 +1562,7 @@ module_eval(<<'.,.,', 'grammar.ra', 294) # reduce 69 omitted -module_eval(<<'.,.,', 'grammar.ra', 299) +module_eval(<<'.,.,', 'grammar.ra', 300) def _reduce_70(val, _values, result) if val[0].instance_of?(AST::ResourceInstance) result = ast AST::ASTArray, :children => [val[0],val[2]] @@ -1578,7 +1579,7 @@ module_eval(<<'.,.,', 'grammar.ra', 299) # reduce 72 omitted -module_eval(<<'.,.,', 'grammar.ra', 311) +module_eval(<<'.,.,', 'grammar.ra', 312) def _reduce_73(val, _values, result) result = ast AST::Undef, :value => :undef @@ -1586,7 +1587,7 @@ module_eval(<<'.,.,', 'grammar.ra', 311) end .,., -module_eval(<<'.,.,', 'grammar.ra', 315) +module_eval(<<'.,.,', 'grammar.ra', 316) def _reduce_74(val, _values, result) result = ast AST::Name, :value => val[0][:value], :line => val[0][:line] @@ -1594,7 +1595,7 @@ module_eval(<<'.,.,', 'grammar.ra', 315) end .,., -module_eval(<<'.,.,', 'grammar.ra', 319) +module_eval(<<'.,.,', 'grammar.ra', 320) def _reduce_75(val, _values, result) result = ast AST::Type, :value => val[0][:value], :line => val[0][:line] @@ -1616,7 +1617,7 @@ module_eval(<<'.,.,', 'grammar.ra', 319) # reduce 82 omitted -module_eval(<<'.,.,', 'grammar.ra', 331) +module_eval(<<'.,.,', 'grammar.ra', 332) def _reduce_83(val, _values, result) raise Puppet::ParseError, "Cannot assign to variables in other namespaces" if val[0][:value] =~ /::/ # this is distinct from referencing a variable @@ -1627,7 +1628,7 @@ module_eval(<<'.,.,', 'grammar.ra', 331) end .,., -module_eval(<<'.,.,', 'grammar.ra', 337) +module_eval(<<'.,.,', 'grammar.ra', 338) def _reduce_84(val, _values, result) result = ast AST::VarDef, :name => val[0], :value => val[2] @@ -1635,7 +1636,7 @@ module_eval(<<'.,.,', 'grammar.ra', 337) end .,., -module_eval(<<'.,.,', 'grammar.ra', 341) +module_eval(<<'.,.,', 'grammar.ra', 342) def _reduce_85(val, _values, result) variable = ast AST::Name, :value => val[0][:value], :line => val[0][:line] result = ast AST::VarDef, :name => variable, :value => val[2], :append => true, :line => val[0][:line] @@ -1644,7 +1645,7 @@ module_eval(<<'.,.,', 'grammar.ra', 341) end .,., -module_eval(<<'.,.,', 'grammar.ra', 347) +module_eval(<<'.,.,', 'grammar.ra', 348) def _reduce_86(val, _values, result) result = ast AST::ASTArray @@ -1652,14 +1653,14 @@ module_eval(<<'.,.,', 'grammar.ra', 347) end .,., -module_eval(<<'.,.,', 'grammar.ra', 349) +module_eval(<<'.,.,', 'grammar.ra', 350) def _reduce_87(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 351) +module_eval(<<'.,.,', 'grammar.ra', 352) def _reduce_88(val, _values, result) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) @@ -1672,7 +1673,7 @@ module_eval(<<'.,.,', 'grammar.ra', 351) end .,., -module_eval(<<'.,.,', 'grammar.ra', 360) +module_eval(<<'.,.,', 'grammar.ra', 361) def _reduce_89(val, _values, result) result = ast AST::ResourceParam, :param => val[0][:value], :line => val[0][:line], :value => val[2] @@ -1680,7 +1681,7 @@ module_eval(<<'.,.,', 'grammar.ra', 360) end .,., -module_eval(<<'.,.,', 'grammar.ra', 364) +module_eval(<<'.,.,', 'grammar.ra', 365) def _reduce_90(val, _values, result) result = ast AST::ResourceParam, :param => val[0][:value], :line => val[0][:line], :value => val[2], :add => true @@ -1693,7 +1694,7 @@ module_eval(<<'.,.,', 'grammar.ra', 364) # reduce 92 omitted -module_eval(<<'.,.,', 'grammar.ra', 373) +module_eval(<<'.,.,', 'grammar.ra', 374) def _reduce_93(val, _values, result) result = ast AST::ASTArray @@ -1701,14 +1702,14 @@ module_eval(<<'.,.,', 'grammar.ra', 373) end .,., -module_eval(<<'.,.,', 'grammar.ra', 375) +module_eval(<<'.,.,', 'grammar.ra', 376) def _reduce_94(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 377) +module_eval(<<'.,.,', 'grammar.ra', 378) def _reduce_95(val, _values, result) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) @@ -1723,7 +1724,7 @@ module_eval(<<'.,.,', 'grammar.ra', 377) # reduce 96 omitted -module_eval(<<'.,.,', 'grammar.ra', 387) +module_eval(<<'.,.,', 'grammar.ra', 388) def _reduce_97(val, _values, result) if val[0].instance_of?(AST::ASTArray) result = val[0].push(val[2]) @@ -1771,7 +1772,7 @@ module_eval(<<'.,.,', 'grammar.ra', 387) # reduce 115 omitted -module_eval(<<'.,.,', 'grammar.ra', 416) +module_eval(<<'.,.,', 'grammar.ra', 417) def _reduce_116(val, _values, result) args = aryfy(val[2]) result = ast AST::Function, @@ -1783,7 +1784,7 @@ module_eval(<<'.,.,', 'grammar.ra', 416) end .,., -module_eval(<<'.,.,', 'grammar.ra', 422) +module_eval(<<'.,.,', 'grammar.ra', 423) def _reduce_117(val, _values, result) result = ast AST::Function, :name => val[0][:value], :line => val[0][:line], @@ -1794,42 +1795,42 @@ module_eval(<<'.,.,', 'grammar.ra', 422) end .,., -module_eval(<<'.,.,', 'grammar.ra', 428) +module_eval(<<'.,.,', 'grammar.ra', 429) def _reduce_118(val, _values, result) result = ast AST::String, :value => val[0][:value], :line => val[0][:line] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 429) +module_eval(<<'.,.,', 'grammar.ra', 430) def _reduce_119(val, _values, result) result = ast AST::Concat, :value => [ast(AST::String,val[0])]+val[1], :line => val[0][:line] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 431) +module_eval(<<'.,.,', 'grammar.ra', 432) def _reduce_120(val, _values, result) result = [val[0]] + val[1] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 433) +module_eval(<<'.,.,', 'grammar.ra', 434) def _reduce_121(val, _values, result) result = [ast(AST::String,val[0])] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 434) +module_eval(<<'.,.,', 'grammar.ra', 435) def _reduce_122(val, _values, result) result = [ast(AST::String,val[0])] + val[1] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 437) +module_eval(<<'.,.,', 'grammar.ra', 438) def _reduce_123(val, _values, result) result = ast AST::Boolean, :value => val[0][:value], :line => val[0][:line] @@ -1837,7 +1838,7 @@ module_eval(<<'.,.,', 'grammar.ra', 437) end .,., -module_eval(<<'.,.,', 'grammar.ra', 441) +module_eval(<<'.,.,', 'grammar.ra', 442) def _reduce_124(val, _values, result) Puppet.warning addcontext("Deprecation notice: Resource references should now be capitalized") result = ast AST::ResourceReference, :type => val[0][:value], :line => val[0][:line], :title => val[2] @@ -1846,7 +1847,7 @@ module_eval(<<'.,.,', 'grammar.ra', 441) end .,., -module_eval(<<'.,.,', 'grammar.ra', 444) +module_eval(<<'.,.,', 'grammar.ra', 445) def _reduce_125(val, _values, result) result = ast AST::ResourceReference, :type => val[0], :title => val[2] @@ -1854,7 +1855,7 @@ module_eval(<<'.,.,', 'grammar.ra', 444) end .,., -module_eval(<<'.,.,', 'grammar.ra', 448) +module_eval(<<'.,.,', 'grammar.ra', 449) def _reduce_126(val, _values, result) result = val[1] @@ -1862,7 +1863,7 @@ module_eval(<<'.,.,', 'grammar.ra', 448) end .,., -module_eval(<<'.,.,', 'grammar.ra', 452) +module_eval(<<'.,.,', 'grammar.ra', 453) def _reduce_127(val, _values, result) @lexer.commentpop args = { @@ -1878,7 +1879,7 @@ module_eval(<<'.,.,', 'grammar.ra', 452) end .,., -module_eval(<<'.,.,', 'grammar.ra', 463) +module_eval(<<'.,.,', 'grammar.ra', 464) def _reduce_128(val, _values, result) @lexer.commentpop args = { @@ -1896,7 +1897,7 @@ module_eval(<<'.,.,', 'grammar.ra', 463) # reduce 129 omitted -module_eval(<<'.,.,', 'grammar.ra', 476) +module_eval(<<'.,.,', 'grammar.ra', 477) def _reduce_130(val, _values, result) result = ast AST::Else, :statements => val[1] @@ -1904,7 +1905,7 @@ module_eval(<<'.,.,', 'grammar.ra', 476) end .,., -module_eval(<<'.,.,', 'grammar.ra', 479) +module_eval(<<'.,.,', 'grammar.ra', 480) def _reduce_131(val, _values, result) @lexer.commentpop result = ast AST::Else, :statements => val[2] @@ -1913,7 +1914,7 @@ module_eval(<<'.,.,', 'grammar.ra', 479) end .,., -module_eval(<<'.,.,', 'grammar.ra', 483) +module_eval(<<'.,.,', 'grammar.ra', 484) def _reduce_132(val, _values, result) @lexer.commentpop result = ast AST::Else, :statements => ast(AST::Nop) @@ -1924,7 +1925,7 @@ module_eval(<<'.,.,', 'grammar.ra', 483) # reduce 133 omitted -module_eval(<<'.,.,', 'grammar.ra', 501) +module_eval(<<'.,.,', 'grammar.ra', 502) def _reduce_134(val, _values, result) result = ast AST::InOperator, :lval => val[0], :rval => val[2] @@ -1932,7 +1933,7 @@ module_eval(<<'.,.,', 'grammar.ra', 501) end .,., -module_eval(<<'.,.,', 'grammar.ra', 504) +module_eval(<<'.,.,', 'grammar.ra', 505) def _reduce_135(val, _values, result) result = ast AST::MatchOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -1940,7 +1941,7 @@ module_eval(<<'.,.,', 'grammar.ra', 504) end .,., -module_eval(<<'.,.,', 'grammar.ra', 507) +module_eval(<<'.,.,', 'grammar.ra', 508) def _reduce_136(val, _values, result) result = ast AST::MatchOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -1948,7 +1949,7 @@ module_eval(<<'.,.,', 'grammar.ra', 507) end .,., -module_eval(<<'.,.,', 'grammar.ra', 510) +module_eval(<<'.,.,', 'grammar.ra', 511) def _reduce_137(val, _values, result) result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -1956,7 +1957,7 @@ module_eval(<<'.,.,', 'grammar.ra', 510) end .,., -module_eval(<<'.,.,', 'grammar.ra', 513) +module_eval(<<'.,.,', 'grammar.ra', 514) def _reduce_138(val, _values, result) result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -1964,7 +1965,7 @@ module_eval(<<'.,.,', 'grammar.ra', 513) end .,., -module_eval(<<'.,.,', 'grammar.ra', 516) +module_eval(<<'.,.,', 'grammar.ra', 517) def _reduce_139(val, _values, result) result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -1972,7 +1973,7 @@ module_eval(<<'.,.,', 'grammar.ra', 516) end .,., -module_eval(<<'.,.,', 'grammar.ra', 519) +module_eval(<<'.,.,', 'grammar.ra', 520) def _reduce_140(val, _values, result) result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -1980,7 +1981,7 @@ module_eval(<<'.,.,', 'grammar.ra', 519) end .,., -module_eval(<<'.,.,', 'grammar.ra', 522) +module_eval(<<'.,.,', 'grammar.ra', 523) def _reduce_141(val, _values, result) result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -1988,7 +1989,7 @@ module_eval(<<'.,.,', 'grammar.ra', 522) end .,., -module_eval(<<'.,.,', 'grammar.ra', 525) +module_eval(<<'.,.,', 'grammar.ra', 526) def _reduce_142(val, _values, result) result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -1996,7 +1997,7 @@ module_eval(<<'.,.,', 'grammar.ra', 525) end .,., -module_eval(<<'.,.,', 'grammar.ra', 528) +module_eval(<<'.,.,', 'grammar.ra', 529) def _reduce_143(val, _values, result) result = ast AST::Minus, :value => val[1] @@ -2004,7 +2005,7 @@ module_eval(<<'.,.,', 'grammar.ra', 528) end .,., -module_eval(<<'.,.,', 'grammar.ra', 531) +module_eval(<<'.,.,', 'grammar.ra', 532) def _reduce_144(val, _values, result) result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2012,7 +2013,7 @@ module_eval(<<'.,.,', 'grammar.ra', 531) end .,., -module_eval(<<'.,.,', 'grammar.ra', 534) +module_eval(<<'.,.,', 'grammar.ra', 535) def _reduce_145(val, _values, result) result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2020,7 +2021,7 @@ module_eval(<<'.,.,', 'grammar.ra', 534) end .,., -module_eval(<<'.,.,', 'grammar.ra', 537) +module_eval(<<'.,.,', 'grammar.ra', 538) def _reduce_146(val, _values, result) result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2028,7 +2029,7 @@ module_eval(<<'.,.,', 'grammar.ra', 537) end .,., -module_eval(<<'.,.,', 'grammar.ra', 540) +module_eval(<<'.,.,', 'grammar.ra', 541) def _reduce_147(val, _values, result) result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2036,7 +2037,7 @@ module_eval(<<'.,.,', 'grammar.ra', 540) end .,., -module_eval(<<'.,.,', 'grammar.ra', 543) +module_eval(<<'.,.,', 'grammar.ra', 544) def _reduce_148(val, _values, result) result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2044,7 +2045,7 @@ module_eval(<<'.,.,', 'grammar.ra', 543) end .,., -module_eval(<<'.,.,', 'grammar.ra', 546) +module_eval(<<'.,.,', 'grammar.ra', 547) def _reduce_149(val, _values, result) result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2052,7 +2053,7 @@ module_eval(<<'.,.,', 'grammar.ra', 546) end .,., -module_eval(<<'.,.,', 'grammar.ra', 549) +module_eval(<<'.,.,', 'grammar.ra', 550) def _reduce_150(val, _values, result) result = ast AST::Not, :value => val[1] @@ -2060,7 +2061,7 @@ module_eval(<<'.,.,', 'grammar.ra', 549) end .,., -module_eval(<<'.,.,', 'grammar.ra', 552) +module_eval(<<'.,.,', 'grammar.ra', 553) def _reduce_151(val, _values, result) result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2068,7 +2069,7 @@ module_eval(<<'.,.,', 'grammar.ra', 552) end .,., -module_eval(<<'.,.,', 'grammar.ra', 555) +module_eval(<<'.,.,', 'grammar.ra', 556) def _reduce_152(val, _values, result) result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2] @@ -2076,7 +2077,7 @@ module_eval(<<'.,.,', 'grammar.ra', 555) end .,., -module_eval(<<'.,.,', 'grammar.ra', 558) +module_eval(<<'.,.,', 'grammar.ra', 559) def _reduce_153(val, _values, result) result = val[1] @@ -2084,7 +2085,7 @@ module_eval(<<'.,.,', 'grammar.ra', 558) end .,., -module_eval(<<'.,.,', 'grammar.ra', 562) +module_eval(<<'.,.,', 'grammar.ra', 563) def _reduce_154(val, _values, result) @lexer.commentpop options = val[3] @@ -2097,7 +2098,7 @@ module_eval(<<'.,.,', 'grammar.ra', 562) # reduce 155 omitted -module_eval(<<'.,.,', 'grammar.ra', 570) +module_eval(<<'.,.,', 'grammar.ra', 571) def _reduce_156(val, _values, result) if val[0].instance_of?(AST::ASTArray) val[0].push val[1] @@ -2110,7 +2111,7 @@ module_eval(<<'.,.,', 'grammar.ra', 570) end .,., -module_eval(<<'.,.,', 'grammar.ra', 579) +module_eval(<<'.,.,', 'grammar.ra', 580) def _reduce_157(val, _values, result) @lexer.commentpop result = ast AST::CaseOpt, :value => val[0], :statements => val[3] @@ -2119,7 +2120,7 @@ module_eval(<<'.,.,', 'grammar.ra', 579) end .,., -module_eval(<<'.,.,', 'grammar.ra', 582) +module_eval(<<'.,.,', 'grammar.ra', 583) def _reduce_158(val, _values, result) @lexer.commentpop @@ -2136,7 +2137,7 @@ module_eval(<<'.,.,', 'grammar.ra', 582) # reduce 159 omitted -module_eval(<<'.,.,', 'grammar.ra', 594) +module_eval(<<'.,.,', 'grammar.ra', 595) def _reduce_160(val, _values, result) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) @@ -2149,7 +2150,7 @@ module_eval(<<'.,.,', 'grammar.ra', 594) end .,., -module_eval(<<'.,.,', 'grammar.ra', 603) +module_eval(<<'.,.,', 'grammar.ra', 604) def _reduce_161(val, _values, result) result = ast AST::Selector, :param => val[0], :values => val[2] @@ -2159,7 +2160,7 @@ module_eval(<<'.,.,', 'grammar.ra', 603) # reduce 162 omitted -module_eval(<<'.,.,', 'grammar.ra', 608) +module_eval(<<'.,.,', 'grammar.ra', 609) def _reduce_163(val, _values, result) @lexer.commentpop result = val[1] @@ -2170,7 +2171,7 @@ module_eval(<<'.,.,', 'grammar.ra', 608) # reduce 164 omitted -module_eval(<<'.,.,', 'grammar.ra', 614) +module_eval(<<'.,.,', 'grammar.ra', 615) def _reduce_165(val, _values, result) if val[0].instance_of?(AST::ASTArray) val[0].push(val[2]) @@ -2183,7 +2184,7 @@ module_eval(<<'.,.,', 'grammar.ra', 614) end .,., -module_eval(<<'.,.,', 'grammar.ra', 623) +module_eval(<<'.,.,', 'grammar.ra', 624) def _reduce_166(val, _values, result) result = ast AST::ResourceParam, :param => val[0], :value => val[2] @@ -2205,7 +2206,7 @@ module_eval(<<'.,.,', 'grammar.ra', 623) # reduce 173 omitted -module_eval(<<'.,.,', 'grammar.ra', 634) +module_eval(<<'.,.,', 'grammar.ra', 635) def _reduce_174(val, _values, result) result = ast AST::Default, :value => val[0][:value], :line => val[0][:line] @@ -2215,7 +2216,7 @@ module_eval(<<'.,.,', 'grammar.ra', 634) # reduce 175 omitted -module_eval(<<'.,.,', 'grammar.ra', 639) +module_eval(<<'.,.,', 'grammar.ra', 640) def _reduce_176(val, _values, result) result = [val[0][:value]] result @@ -2224,14 +2225,14 @@ module_eval(<<'.,.,', 'grammar.ra', 639) # reduce 177 omitted -module_eval(<<'.,.,', 'grammar.ra', 641) +module_eval(<<'.,.,', 'grammar.ra', 642) def _reduce_178(val, _values, result) result = val[0] += val[2] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 644) +module_eval(<<'.,.,', 'grammar.ra', 645) def _reduce_179(val, _values, result) val[1].each do |file| import(file) @@ -2243,7 +2244,7 @@ module_eval(<<'.,.,', 'grammar.ra', 644) end .,., -module_eval(<<'.,.,', 'grammar.ra', 654) +module_eval(<<'.,.,', 'grammar.ra', 655) def _reduce_180(val, _values, result) @lexer.commentpop result = Puppet::Parser::AST::Definition.new(classname(val[1]), @@ -2257,7 +2258,7 @@ module_eval(<<'.,.,', 'grammar.ra', 654) end .,., -module_eval(<<'.,.,', 'grammar.ra', 662) +module_eval(<<'.,.,', 'grammar.ra', 663) def _reduce_181(val, _values, result) @lexer.commentpop result = Puppet::Parser::AST::Definition.new(classname(val[1]), @@ -2268,7 +2269,7 @@ module_eval(<<'.,.,', 'grammar.ra', 662) end .,., -module_eval(<<'.,.,', 'grammar.ra', 670) +module_eval(<<'.,.,', 'grammar.ra', 671) def _reduce_182(val, _values, result) @lexer.commentpop # Our class gets defined in the parent namespace, not our own. @@ -2281,7 +2282,7 @@ module_eval(<<'.,.,', 'grammar.ra', 670) end .,., -module_eval(<<'.,.,', 'grammar.ra', 677) +module_eval(<<'.,.,', 'grammar.ra', 678) def _reduce_183(val, _values, result) @lexer.commentpop # Our class gets defined in the parent namespace, not our own. @@ -2294,7 +2295,7 @@ module_eval(<<'.,.,', 'grammar.ra', 677) end .,., -module_eval(<<'.,.,', 'grammar.ra', 686) +module_eval(<<'.,.,', 'grammar.ra', 687) def _reduce_184(val, _values, result) @lexer.commentpop result = Puppet::Parser::AST::Node.new(val[1], @@ -2305,7 +2306,7 @@ module_eval(<<'.,.,', 'grammar.ra', 686) end .,., -module_eval(<<'.,.,', 'grammar.ra', 691) +module_eval(<<'.,.,', 'grammar.ra', 692) def _reduce_185(val, _values, result) @lexer.commentpop result = Puppet::Parser::AST::Node.new(val[1], ast_context(true).merge(:parent => val[2], :line => val[0][:line])) @@ -2314,35 +2315,35 @@ module_eval(<<'.,.,', 'grammar.ra', 691) end .,., -module_eval(<<'.,.,', 'grammar.ra', 695) +module_eval(<<'.,.,', 'grammar.ra', 696) def _reduce_186(val, _values, result) result = val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 697) +module_eval(<<'.,.,', 'grammar.ra', 698) def _reduce_187(val, _values, result) result = val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 698) +module_eval(<<'.,.,', 'grammar.ra', 699) def _reduce_188(val, _values, result) result = val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 699) +module_eval(<<'.,.,', 'grammar.ra', 700) def _reduce_189(val, _values, result) result = "class" result end .,., -module_eval(<<'.,.,', 'grammar.ra', 704) +module_eval(<<'.,.,', 'grammar.ra', 705) def _reduce_190(val, _values, result) result = [result] @@ -2350,7 +2351,7 @@ module_eval(<<'.,.,', 'grammar.ra', 704) end .,., -module_eval(<<'.,.,', 'grammar.ra', 707) +module_eval(<<'.,.,', 'grammar.ra', 708) def _reduce_191(val, _values, result) result = val[0] result << val[2] @@ -2359,7 +2360,7 @@ module_eval(<<'.,.,', 'grammar.ra', 707) end .,., -module_eval(<<'.,.,', 'grammar.ra', 712) +module_eval(<<'.,.,', 'grammar.ra', 713) def _reduce_192(val, _values, result) result = ast AST::HostName, :value => val[0] @@ -2367,21 +2368,21 @@ module_eval(<<'.,.,', 'grammar.ra', 712) end .,., -module_eval(<<'.,.,', 'grammar.ra', 715) +module_eval(<<'.,.,', 'grammar.ra', 716) def _reduce_193(val, _values, result) result = val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 716) +module_eval(<<'.,.,', 'grammar.ra', 717) def _reduce_194(val, _values, result) result = val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 717) +module_eval(<<'.,.,', 'grammar.ra', 718) def _reduce_195(val, _values, result) result = val[0][:value] result @@ -2390,7 +2391,7 @@ module_eval(<<'.,.,', 'grammar.ra', 717) # reduce 196 omitted -module_eval(<<'.,.,', 'grammar.ra', 721) +module_eval(<<'.,.,', 'grammar.ra', 722) def _reduce_197(val, _values, result) result = nil @@ -2398,7 +2399,7 @@ module_eval(<<'.,.,', 'grammar.ra', 721) end .,., -module_eval(<<'.,.,', 'grammar.ra', 725) +module_eval(<<'.,.,', 'grammar.ra', 726) def _reduce_198(val, _values, result) result = ast AST::ASTArray, :children => [] @@ -2408,7 +2409,7 @@ module_eval(<<'.,.,', 'grammar.ra', 725) # reduce 199 omitted -module_eval(<<'.,.,', 'grammar.ra', 730) +module_eval(<<'.,.,', 'grammar.ra', 731) def _reduce_200(val, _values, result) result = nil @@ -2416,7 +2417,7 @@ module_eval(<<'.,.,', 'grammar.ra', 730) end .,., -module_eval(<<'.,.,', 'grammar.ra', 733) +module_eval(<<'.,.,', 'grammar.ra', 734) def _reduce_201(val, _values, result) result = val[1] result = [result] unless result[0].is_a?(Array) @@ -2427,7 +2428,7 @@ module_eval(<<'.,.,', 'grammar.ra', 733) # reduce 202 omitted -module_eval(<<'.,.,', 'grammar.ra', 739) +module_eval(<<'.,.,', 'grammar.ra', 740) def _reduce_203(val, _values, result) result = val[0] result = [result] unless result[0].is_a?(Array) @@ -2437,7 +2438,7 @@ module_eval(<<'.,.,', 'grammar.ra', 739) end .,., -module_eval(<<'.,.,', 'grammar.ra', 745) +module_eval(<<'.,.,', 'grammar.ra', 746) def _reduce_204(val, _values, result) Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype") result = [val[0][:value], val[2]] @@ -2446,7 +2447,7 @@ module_eval(<<'.,.,', 'grammar.ra', 745) end .,., -module_eval(<<'.,.,', 'grammar.ra', 749) +module_eval(<<'.,.,', 'grammar.ra', 750) def _reduce_205(val, _values, result) Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype") result = [val[0][:value]] @@ -2455,7 +2456,7 @@ module_eval(<<'.,.,', 'grammar.ra', 749) end .,., -module_eval(<<'.,.,', 'grammar.ra', 752) +module_eval(<<'.,.,', 'grammar.ra', 753) def _reduce_206(val, _values, result) result = [val[0][:value], val[2]] @@ -2463,7 +2464,7 @@ module_eval(<<'.,.,', 'grammar.ra', 752) end .,., -module_eval(<<'.,.,', 'grammar.ra', 754) +module_eval(<<'.,.,', 'grammar.ra', 755) def _reduce_207(val, _values, result) result = [val[0][:value]] @@ -2473,7 +2474,7 @@ module_eval(<<'.,.,', 'grammar.ra', 754) # reduce 208 omitted -module_eval(<<'.,.,', 'grammar.ra', 759) +module_eval(<<'.,.,', 'grammar.ra', 760) def _reduce_209(val, _values, result) result = val[1] @@ -2483,7 +2484,7 @@ module_eval(<<'.,.,', 'grammar.ra', 759) # reduce 210 omitted -module_eval(<<'.,.,', 'grammar.ra', 764) +module_eval(<<'.,.,', 'grammar.ra', 765) def _reduce_211(val, _values, result) result = val[1] @@ -2495,7 +2496,7 @@ module_eval(<<'.,.,', 'grammar.ra', 764) # reduce 213 omitted -module_eval(<<'.,.,', 'grammar.ra', 770) +module_eval(<<'.,.,', 'grammar.ra', 771) def _reduce_214(val, _values, result) result = ast AST::Variable, :value => val[0][:value], :line => val[0][:line] @@ -2503,7 +2504,7 @@ module_eval(<<'.,.,', 'grammar.ra', 770) end .,., -module_eval(<<'.,.,', 'grammar.ra', 774) +module_eval(<<'.,.,', 'grammar.ra', 775) def _reduce_215(val, _values, result) if val[1].instance_of?(AST::ASTArray) result = val[1] @@ -2515,7 +2516,7 @@ module_eval(<<'.,.,', 'grammar.ra', 774) end .,., -module_eval(<<'.,.,', 'grammar.ra', 781) +module_eval(<<'.,.,', 'grammar.ra', 782) def _reduce_216(val, _values, result) if val[1].instance_of?(AST::ASTArray) result = val[1] @@ -2527,7 +2528,7 @@ module_eval(<<'.,.,', 'grammar.ra', 781) end .,., -module_eval(<<'.,.,', 'grammar.ra', 787) +module_eval(<<'.,.,', 'grammar.ra', 788) def _reduce_217(val, _values, result) result = ast AST::ASTArray @@ -2541,14 +2542,14 @@ module_eval(<<'.,.,', 'grammar.ra', 787) # reduce 220 omitted -module_eval(<<'.,.,', 'grammar.ra', 794) +module_eval(<<'.,.,', 'grammar.ra', 795) def _reduce_221(val, _values, result) result = nil result end .,., -module_eval(<<'.,.,', 'grammar.ra', 797) +module_eval(<<'.,.,', 'grammar.ra', 798) def _reduce_222(val, _values, result) result = ast AST::Regex, :value => val[0][:value] @@ -2556,7 +2557,7 @@ module_eval(<<'.,.,', 'grammar.ra', 797) end .,., -module_eval(<<'.,.,', 'grammar.ra', 801) +module_eval(<<'.,.,', 'grammar.ra', 802) def _reduce_223(val, _values, result) if val[1].instance_of?(AST::ASTHash) result = val[1] @@ -2568,7 +2569,7 @@ module_eval(<<'.,.,', 'grammar.ra', 801) end .,., -module_eval(<<'.,.,', 'grammar.ra', 808) +module_eval(<<'.,.,', 'grammar.ra', 809) def _reduce_224(val, _values, result) if val[1].instance_of?(AST::ASTHash) result = val[1] @@ -2580,7 +2581,7 @@ module_eval(<<'.,.,', 'grammar.ra', 808) end .,., -module_eval(<<'.,.,', 'grammar.ra', 814) +module_eval(<<'.,.,', 'grammar.ra', 815) def _reduce_225(val, _values, result) result = ast AST::ASTHash @@ -2590,7 +2591,7 @@ module_eval(<<'.,.,', 'grammar.ra', 814) # reduce 226 omitted -module_eval(<<'.,.,', 'grammar.ra', 819) +module_eval(<<'.,.,', 'grammar.ra', 820) def _reduce_227(val, _values, result) if val[0].instance_of?(AST::ASTHash) result = val[0].merge(val[2]) @@ -2603,7 +2604,7 @@ module_eval(<<'.,.,', 'grammar.ra', 819) end .,., -module_eval(<<'.,.,', 'grammar.ra', 828) +module_eval(<<'.,.,', 'grammar.ra', 829) def _reduce_228(val, _values, result) result = ast AST::ASTHash, { :value => { val[0] => val[2] } } @@ -2611,21 +2612,21 @@ module_eval(<<'.,.,', 'grammar.ra', 828) end .,., -module_eval(<<'.,.,', 'grammar.ra', 831) +module_eval(<<'.,.,', 'grammar.ra', 832) def _reduce_229(val, _values, result) result = val[0][:value] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 832) +module_eval(<<'.,.,', 'grammar.ra', 833) def _reduce_230(val, _values, result) result = val[0] result end .,., -module_eval(<<'.,.,', 'grammar.ra', 835) +module_eval(<<'.,.,', 'grammar.ra', 836) def _reduce_231(val, _values, result) result = ast AST::HashOrArrayAccess, :variable => val[0][:value], :key => val[2] @@ -2635,7 +2636,7 @@ module_eval(<<'.,.,', 'grammar.ra', 835) # reduce 232 omitted -module_eval(<<'.,.,', 'grammar.ra', 840) +module_eval(<<'.,.,', 'grammar.ra', 841) def _reduce_233(val, _values, result) result = ast AST::HashOrArrayAccess, :variable => val[0], :key => val[2] diff --git a/lib/puppet/parser/parser_support.rb b/lib/puppet/parser/parser_support.rb index 859897a16..2b2571d87 100644 --- a/lib/puppet/parser/parser_support.rb +++ b/lib/puppet/parser/parser_support.rb @@ -68,13 +68,13 @@ class Puppet::Parser::Parser end # Raise a Parse error. - def error(message) + def error(message, options = {}) if brace = @lexer.expected message += "; expected '%s'" end except = Puppet::ParseError.new(message) - except.line = @lexer.line - except.file = @lexer.file if @lexer.file + except.line = options[:line] || @lexer.line + except.file = options[:file] || @lexer.file raise except end -- cgit