#
# DO NOT MODIFY!!!!
# This file is automatically generated by Racc 1.4.6
# from Racc grammer file "".
#

require 'racc/parser.rb'

require 'puppet'
require 'puppet/util/loadedfile'
require 'puppet/parser/lexer'
require 'puppet/parser/ast'

module Puppet
  class ParseError < Puppet::Error; end
  class ImportError < Racc::ParseError; end
  class AlreadyImportedError < ImportError; end
end

module Puppet
  module Parser
    class Parser < Racc::Parser

module_eval(<<'...end grammar.ra/module_eval...', 'grammar.ra', 763)

# It got too annoying having code in a file that needs to be compiled.
require 'puppet/parser/parser_support'

# Make emacs happy
# Local Variables:
# mode: ruby
# End:
...end grammar.ra/module_eval...
##### State transition tables begin ###

clist = [
'222,221,209,61,62,249,204,209,127,323,192,317,322,184,179,109,214,251',
'301,330,126,106,180,182,181,183,126,329,184,179,302,206,245,244,335',
'245,244,180,182,181,183,195,126,210,106,186,185,334,85,173,174,176,175',
'177,178,275,171,172,276,105,186,185,107,170,173,174,176,175,177,178',
'308,171,172,61,62,157,81,94,170,95,80,71,105,61,62,107,162,94,77,95',
'73,161,309,61,62,93,157,94,81,95,-106,-157,114,76,71,93,70,162,288,34',
'63,59,161,287,68,93,70,311,60,92,63,59,58,151,68,91,70,75,60,92,63,59',
'58,71,68,91,157,151,60,92,61,62,58,71,94,91,95,162,314,288,61,62,161',
'71,287,-106,-106,-106,-106,248,61,62,93,157,94,81,95,247,81,80,106,208',
'80,70,162,341,34,63,59,161,81,68,93,70,80,60,92,63,225,58,151,68,91',
'70,132,138,77,63,59,58,71,68,-170,61,62,60,92,64,105,58,71,107,91,61',
'62,61,62,94,323,95,71,322,324,61,62,44,152,94,242,95,71,245,244,61,62',
'93,70,94,81,95,63,59,114,320,68,93,70,299,60,34,63,59,58,195,68,93,70',
'73,60,92,63,59,58,71,68,91,70,198,60,92,63,59,58,71,68,91,61,62,60,92',
'214,212,58,71,117,91,61,62,295,85,94,201,95,71,211,201,61,62,83,84,94',
'292,95,291,171,172,61,62,93,70,94,170,95,63,225,171,172,68,93,70,-156',
'138,170,63,59,58,-154,68,93,70,125,60,92,63,59,58,71,68,91,70,-153,60',
'92,63,59,58,71,68,91,214,346,60,92,61,62,58,71,94,91,95,-155,-151,-150',
'61,62,-152,71,94,124,95,283,117,333,61,62,93,274,94,97,95,214,224,336',
'61,62,93,70,94,250,337,63,59,214,251,68,93,70,338,60,92,63,59,58,127',
'68,91,70,277,60,92,63,59,58,71,68,91,70,208,60,92,63,59,58,71,68,91',
'305,236,60,238,61,62,58,71,94,239,95,238,349,-152,61,62,97,71,94,-150',
'95,86,352,-151,61,62,93,223,94,303,95,214,224,214,251,353,93,70,82,355',
'-153,63,59,125,72,68,93,70,43,60,92,63,59,58,361,68,91,70,362,60,92',
'63,59,58,71,68,91,238,-204,60,92,61,62,58,71,94,91,95,38,39,40,41,209',
'117,71,176,175,71,61,62,171,172,94,93,95,71,35,170,38,39,40,41,369,370',
'70,,61,62,63,59,93,122,68,327,,,60,92,,,58,70,,91,,63,59,,,68,,71,,60',
'92,61,62,58,,70,91,228,,63,225,,,68,71,,,138,61,62,,58,94,,95,176,175',
',,,171,172,71,,70,,,170,63,225,93,,68,61,62,,138,94,,95,58,70,,,,63',
'59,,,68,,71,,60,92,93,,58,61,62,91,,94,,95,,70,,71,,63,59,,,68,,,,60',
'92,93,218,58,61,62,91,,94,,95,,70,,71,,63,59,,,68,,,,60,92,93,,58,61',
'62,91,,94,,95,,70,,71,,63,59,,,68,,,,60,92,93,,58,61,62,91,,94,,,,70',
',71,,63,59,,,68,,,,60,92,,,58,61,62,91,,94,,95,,70,,71,,63,59,,,68,61',
'62,,60,,93,,58,,61,62,,,94,,95,70,,71,,63,59,,,68,,,,60,92,,93,58,70',
',91,,63,225,,,68,70,71,,138,63,59,,58,68,,61,62,60,92,94,,58,,71,91',
'61,62,,,94,,95,71,,,61,62,,,94,131,95,,,,61,62,93,70,94,,95,63,225,',
',68,93,70,,138,,63,59,58,,68,93,70,,60,92,63,59,58,71,68,91,70,,60,92',
'63,59,58,71,68,91,61,62,60,92,,,58,71,,91,61,62,,,94,,,71,,,61,62,,',
'94,,95,,,,61,62,,70,94,,95,63,225,,,68,93,70,,138,,63,137,58,,68,93',
'70,,138,,63,59,58,71,68,,70,,60,92,63,59,58,71,68,91,252,,60,92,,,58',
'71,,91,184,179,-24,-24,-24,-24,,71,,180,182,181,183,,,173,174,176,175',
',61,62,171,172,94,131,95,,,170,,,186,185,,,173,174,176,175,177,178,93',
'171,172,61,62,,,94,170,95,,70,,,,63,59,,,68,,,,60,92,93,,58,61,62,91',
',94,,95,,70,,71,,63,59,,,68,,,,60,92,93,,58,61,62,91,,94,,95,,70,,71',
',63,59,,,68,,,,60,92,93,,58,61,62,91,,94,,95,,70,,71,,63,59,,,68,,,',
'60,92,93,,58,61,62,91,,94,,95,,70,,71,,63,59,,,68,,,,60,92,93,,58,61',
'62,91,,94,,95,,70,,71,,63,59,,,68,,,,60,92,93,,58,61,62,91,,94,,95,',
'70,,71,,63,59,,,68,,,,60,92,93,,58,61,62,91,,94,,95,,70,,71,,63,59,',
',68,,,,60,92,93,,58,61,62,91,,94,,95,,70,,71,,63,59,,,68,,,,60,92,93',
',58,61,62,91,,94,,95,,70,,71,,63,59,,,68,,,,60,92,93,,58,,,91,-22,-22',
'-22,-22,,70,,71,,63,59,,,68,,,169,60,92,,,58,,,91,184,179,,,,,197,71',
',180,182,181,183,,,184,179,,,,,,,,180,182,181,183,,,,,186,185,,,173',
'174,176,175,177,178,,171,172,,,186,185,,170,173,174,176,175,177,178',
',171,172,184,179,,,,170,,,,180,182,181,183,,,184,179,,,,,,,,180,182',
'181,183,,,,,186,185,,,173,174,176,175,177,178,,171,172,,,186,185,,170',
'173,174,176,175,177,178,,171,172,184,179,,,,170,,,,180,182,181,183,',
',184,179,,,,,,,,180,182,181,183,,,,,186,185,,,173,174,176,175,177,178',
',171,172,,,186,185,,170,173,174,176,175,177,178,,171,172,184,179,,,',
'170,,,273,180,182,181,183,,,184,179,,,,,,,,180,182,181,183,,,,,186,185',
',,173,174,176,175,177,178,,171,172,,,186,185,,170,173,174,176,175,177',
'178,,171,172,184,179,,,,170,,,,180,182,181,183,,,184,179,,,,,,,,180',
'182,181,183,,,,,186,185,,,173,174,176,175,177,178,,171,172,,,186,185',
',170,173,174,176,175,177,178,,171,172,184,179,,,,170,,,,180,182,181',
'183,,,184,179,,,,,,,,180,182,181,183,,,,,186,185,,,173,174,176,175,177',
'178,,171,172,,,,,,170,173,174,176,175,177,178,,171,172,184,179,,,,170',
',,,180,182,181,183,,,184,179,,,,,,,,180,182,181,183,,,,,,,,,173,174',
'176,175,177,178,,171,172,,,186,185,,170,173,174,176,175,177,178,,171',
'172,184,179,,,,170,,,,180,182,181,183,,,184,179,,,,,,,,180,182,181,183',
',,,,,,,,173,174,176,175,177,178,,171,172,,,,185,,170,173,174,176,175',
'177,178,,171,172,184,179,,,,170,,,,180,182,181,183,,,,179,,,,,,,,180',
',,,,,,,186,185,179,,173,174,176,175,177,178,180,171,172,,,,,179,170',
'173,174,176,175,177,178,180,171,172,,,,,,170,,179,,173,174,176,175,177',
'178,180,171,172,,,,,,170,173,174,176,175,177,178,,171,172,,332,,,,170',
',,,173,174,176,175,177,178,,171,172,,360,,,28,170,30,31,,26,32,,33,',
'21,,29,368,25,,,34,28,,30,31,,26,32,,33,,21,367,29,,25,,28,34,30,31',
',26,32,,33,,21,343,29,,25,,28,34,30,31,,26,32,,33,,21,255,29,,25,,28',
'34,30,31,,26,32,,33,,21,365,29,,25,,28,34,30,31,,26,32,,33,,21,,29,',
'25,,28,34,30,31,,26,32,,33,,21,,29,28,25,30,31,34,26,32,,33,,21,,29',
'28,25,30,31,34,26,32,,33,,21,,29,28,25,30,31,34,26,32,,33,,21,,29,,25',
',,34,173,174,176,175,177,178,,171,172,,,,,,170,173,174,176,175,177,178',
',171,172,173,174,176,175,,170,,171,172,,,,,,170' ]
        racc_action_table = arr = Array.new(2065, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

clist = [
'129,129,117,95,95,163,102,137,59,255,95,246,255,129,129,35,217,217,216',
'280,137,33,129,129,129,129,59,280,216,216,217,102,163,163,285,246,246',
'216,216,216,216,95,225,117,204,129,129,285,70,129,129,129,129,129,129',
'191,129,129,191,33,216,216,33,129,216,216,216,216,216,216,229,216,216',
'170,170,243,31,170,216,170,31,33,204,173,173,204,243,173,23,173,23,243',
'235,174,174,170,157,174,37,174,223,67,37,23,204,173,170,157,201,37,170',
'170,157,201,170,174,173,237,170,170,173,173,170,238,173,170,174,23,173',
'173,174,174,173,170,174,173,75,239,174,174,175,175,174,173,175,174,175',
'75,240,335,345,345,75,174,335,223,223,223,223,158,176,176,175,76,176',
'24,176,158,291,24,206,241,291,175,76,291,24,175,175,76,32,175,176,345',
'32,175,175,345,345,175,73,345,175,176,66,345,65,176,176,345,175,176',
'60,21,21,176,176,21,206,176,345,206,176,337,337,276,276,337,320,337',
'176,320,276,177,177,21,74,177,153,177,206,153,153,336,336,337,21,336',
'42,336,21,21,42,254,21,177,337,212,21,42,337,337,21,276,337,336,177',
'78,337,337,177,177,337,21,177,337,336,99,177,177,336,336,177,337,336',
'177,330,330,336,336,121,121,336,177,208,336,178,178,207,26,178,100,178',
'336,121,101,322,322,26,26,322,203,322,202,261,261,28,28,178,330,28,261',
'28,330,330,262,262,330,322,178,57,330,262,178,178,330,56,178,28,322',
'54,178,178,322,322,178,330,322,178,28,52,322,322,28,28,322,178,28,322',
'306,306,28,28,29,29,28,322,29,28,29,50,49,48,179,179,47,28,179,45,179',
'199,43,284,180,180,29,190,180,198,180,190,190,287,308,308,179,29,308',
'164,288,29,29,164,164,29,180,179,289,29,29,179,179,29,114,179,29,180',
'194,179,179,180,180,179,29,180,179,308,116,180,180,308,308,180,179,308',
'180,224,133,308,134,181,181,308,180,181,135,181,313,315,139,182,182',
'30,308,182,140,182,27,323,141,183,183,181,130,183,219,183,130,130,219',
'219,329,182,181,25,331,143,181,181,145,22,181,183,182,20,181,181,182',
'182,181,342,182,181,183,344,182,182,183,183,182,181,183,182,150,346',
'183,183,184,184,183,182,184,183,184,19,19,19,19,151,152,183,260,260',
'172,44,44,260,260,44,184,44,171,1,260,18,18,18,18,364,366,184,,278,278',
'184,184,44,44,184,278,,,184,184,,,184,44,,184,,44,44,,,44,,184,,44,44',
'132,132,44,,278,44,132,,278,278,,,278,44,,,278,277,277,,278,277,,277',
'259,259,,,,259,259,278,,132,,,259,132,132,277,,132,185,185,,132,185',
',185,132,277,,,,277,277,,,277,,132,,277,277,185,,277,126,126,277,,126',
',126,,185,,277,,185,185,,,185,,,,185,185,126,126,185,127,127,185,,127',
',127,,126,,185,,126,126,,,126,,,,126,126,127,,126,125,125,126,,125,',
'125,,127,,126,,127,127,,,127,,,,127,127,125,,127,124,124,127,,124,,',
',125,,127,,125,125,,,125,,,,125,125,,,125,186,186,125,,186,,186,,124',
',125,,124,124,,,124,197,197,,124,,186,,124,,248,248,,,248,,248,186,',
'124,,186,186,,,186,,,,186,186,,248,186,197,,186,,197,197,,,197,248,186',
',197,248,248,,197,248,,236,236,248,248,236,,248,,197,248,62,62,,,62',
',62,248,,,64,64,,,64,64,64,,,,247,247,62,236,247,,247,236,236,,,236',
'64,62,,236,,62,62,236,,62,247,64,,62,62,64,64,62,236,64,62,247,,64,64',
'247,247,64,62,247,64,228,228,247,247,,,247,64,,247,72,72,,,72,,,247',
',,209,209,,,209,,209,,,,222,222,,228,222,,222,228,228,,,228,209,72,',
'228,,72,72,228,,72,222,209,,72,,209,209,72,228,209,,222,,209,209,222',
'222,209,72,222,209,167,,222,222,,,222,209,,222,167,167,7,7,7,7,,222',
',167,167,167,167,,,263,263,263,263,,94,94,263,263,94,94,94,,,263,,,167',
'167,,,167,167,167,167,167,167,94,167,167,77,77,,,77,167,77,,94,,,,94',
'94,,,94,,,,94,94,77,,94,210,210,94,,210,,210,,77,,94,,77,77,,,77,,,',
'77,77,210,,77,83,83,77,,83,,83,,210,,77,,210,210,,,210,,,,210,210,83',
',210,84,84,210,,84,,84,,83,,210,,83,83,,,83,,,,83,83,84,,83,85,85,83',
',85,,85,,84,,83,,84,84,,,84,,,,84,84,85,,84,86,86,84,,86,,86,,85,,84',
',85,85,,,85,,,,85,85,86,,85,91,91,85,,91,,91,,86,,85,,86,86,,,86,,,',
'86,86,91,,86,92,92,86,,92,,92,,91,,86,,91,91,,,91,,,,91,91,92,,91,93',
'93,91,,93,,93,,92,,91,,92,92,,,92,,,,92,92,93,,92,213,213,92,,213,,213',
',93,,92,,93,93,,,93,,,,93,93,213,,93,,,93,5,5,5,5,,213,,93,,213,213',
',,213,,,88,213,213,,,213,,,213,88,88,,,,,96,213,,88,88,88,88,,,96,96',
',,,,,,,96,96,96,96,,,,,88,88,,,88,88,88,88,88,88,,88,88,,,96,96,,88',
'96,96,96,96,96,96,,96,96,300,300,,,,96,,,,300,300,300,300,,,166,166',
',,,,,,,166,166,166,166,,,,,300,300,,,300,300,300,300,300,300,,300,300',
',,166,166,,300,166,166,166,166,166,166,,166,166,165,165,,,,166,,,,165',
'165,165,165,,,168,168,,,,,,,,168,168,168,168,,,,,165,165,,,165,165,165',
'165,165,165,,165,165,,,168,168,,165,168,168,168,168,168,168,,168,168',
'189,189,,,,168,,,189,189,189,189,189,,,358,358,,,,,,,,358,358,358,358',
',,,,189,189,,,189,189,189,189,189,189,,189,189,,,358,358,,189,358,358',
'358,358,358,358,,358,358,357,357,,,,358,,,,357,357,357,357,,,123,123',
',,,,,,,123,123,123,123,,,,,357,357,,,357,357,357,357,357,357,,357,357',
',,123,123,,357,123,123,123,123,123,123,,123,123,326,326,,,,123,,,,326',
'326,326,326,,,319,319,,,,,,,,319,319,319,319,,,,,326,326,,,326,326,326',
'326,326,326,,326,326,,,,,,326,319,319,319,319,319,319,,319,319,318,318',
',,,319,,,,318,318,318,318,,,298,298,,,,,,,,298,298,298,298,,,,,,,,,318',
'318,318,318,318,318,,318,318,,,298,298,,318,298,298,298,298,298,298',
',298,298,271,271,,,,298,,,,271,271,271,271,,,272,272,,,,,,,,272,272',
'272,272,,,,,,,,,271,271,271,271,271,271,,271,271,,,,272,,271,272,272',
'272,272,272,272,,272,272,297,297,,,,272,,,,297,297,297,297,,,,269,,',
',,,,,269,,,,,,,,297,297,268,,297,297,297,297,297,297,268,297,297,,,',
',267,297,269,269,269,269,269,269,267,269,269,,,,,,269,,270,,268,268',
'268,268,268,268,270,268,268,,,,,,268,267,267,267,267,267,267,,267,267',
',283,,,,267,,,,270,270,270,270,270,270,,270,270,,338,,,283,270,283,283',
',283,283,,283,,283,,283,359,283,,,283,338,,338,338,,338,338,,338,,338',
'353,338,,338,,359,338,359,359,,359,359,,359,,359,292,359,,359,,353,359',
'353,353,,353,353,,353,,353,169,353,,353,,292,353,292,292,,292,292,,292',
',292,352,292,,292,,169,292,169,169,,169,169,,169,,169,,169,,169,,352',
'169,352,352,,352,352,,352,,352,,352,0,352,0,0,352,0,0,,0,,0,,0,253,0',
'253,253,0,253,253,,253,,253,,253,2,253,2,2,253,2,2,,2,,2,,2,,2,,,2,266',
'266,266,266,266,266,,266,266,,,,,,266,265,265,265,265,265,265,,265,265',
'264,264,264,264,,265,,264,264,,,,,,264' ]
        racc_action_check = arr = Array.new(2065, nil)
        idx = 0
        clist.each do |str|
          str.split(',', -1).each do |i|
            arr[idx] = i.to_i unless i.empty?
            idx += 1
          end
        end

racc_action_pointer = [
  1952,   522,  1978,   nil,   nil,  1188,   nil,   892,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   461,   441,
   466,   201,   462,    82,   129,   420,   283,   432,   304,   351,
   440,    40,   144,    19,   nil,    15,   nil,    62,   nil,   nil,
   nil,   nil,   202,   331,   512,   356,   nil,   342,   339,   338,
   337,   nil,   317,   nil,   324,   nil,   303,   297,   nil,     2,
   196,   nil,   805,   nil,   815,   190,   171,    78,   nil,   nil,
    42,   nil,   878,   150,   218,   112,   139,   996,   249,   nil,
   nil,   nil,   nil,  1046,  1071,  1096,  1121,   nil,  1259,   nil,
   nil,  1146,  1171,  1196,   971,     1,  1274,   nil,   nil,   255,
   267,   271,    -6,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   397,   nil,   405,    -9,   nil,   nil,
   nil,   269,   nil,  1514,   701,   676,   626,   651,   nil,    -4,
   446,   nil,   559,   386,   417,   415,   nil,    -4,   nil,   416,
   422,   426,   nil,   443,   nil,   463,   nil,   nil,   nil,   nil,
   481,   497,   469,   182,   nil,   nil,   nil,    72,   141,   nil,
   nil,   nil,   nil,   -17,   381,  1379,  1334,   936,  1394,  1923,
    71,   459,   451,    81,    91,   138,   158,   221,   284,   361,
   371,   428,   438,   448,   495,   601,   726,   nil,   nil,  1439,
   369,    46,   nil,   nil,   396,   nil,   nil,   743,   376,   362,
   nil,    73,   266,   293,    42,   nil,   168,   279,   244,   888,
  1021,   nil,   222,  1221,   nil,   nil,    11,     5,   nil,   448,
   nil,   nil,   898,    92,   419,    18,   nil,   nil,   868,    59,
   nil,   nil,   nil,   nil,   nil,    83,   795,   108,    83,    97,
   139,   159,   nil,    51,   nil,   nil,   -14,   825,   752,   nil,
   nil,   nil,   nil,  1965,   234,   -22,   nil,   nil,   nil,   530,
   456,   244,   255,   915,  1997,  1988,  1973,  1787,  1772,  1754,
  1805,  1679,  1694,   nil,   nil,   nil,   213,   576,   530,   nil,
     7,   nil,   nil,  1841,   347,    22,   nil,   367,   374,   389,
   nil,   132,  1907,   nil,   nil,   nil,   nil,  1739,  1634,   nil,
  1319,   nil,   nil,   nil,   nil,   nil,   338,   nil,   381,   nil,
   nil,   nil,   nil,   425,   nil,   429,   nil,   nil,  1619,  1574,
   187,   nil,   294,   440,   nil,   nil,  1559,   nil,   nil,   453,
   274,   456,   nil,   nil,   nil,   114,   231,   211,  1859,   nil,
   nil,   nil,   471,   nil,   475,   148,   485,   nil,   nil,   nil,
   nil,   nil,  1939,  1891,   nil,   nil,   nil,  1499,  1454,  1875,
   nil,   nil,   nil,   nil,   519,   nil,   520,   nil,   nil,   nil,
   nil ]

racc_action_default = [
  -180,  -217,    -1,    -2,    -3,    -6,    -7,    -8,    -9,   -10,
   -11,   -12,   -13,   -14,   -15,   -16,   -17,   -18,   -19,  -217,
   -23,  -171,  -217,  -217,  -217,   -53,  -217,  -217,  -217,  -217,
  -217,  -217,  -172,  -217,  -170,  -217,    -4,  -217,   -25,   -26,
   -27,   -28,  -217,   -95,  -217,   -32,   -33,   -37,   -38,   -39,
   -40,   -41,   -42,   -43,   -44,   -45,   -46,   -47,   -75,   -76,
   -77,  -100,  -217,  -105,  -217,  -217,  -217,  -215,  -158,  -159,
  -197,  -205,   -88,   -88,   -56,  -180,  -180,  -217,  -217,   -52,
  -171,  -172,   -54,  -217,  -217,  -217,  -217,  -108,  -217,  -115,
  -116,  -217,  -217,  -217,  -217,  -217,  -217,  -160,  -161,  -163,
  -180,  -180,  -180,  -173,  -175,  -176,  -177,  -178,  -179,   371,
   -21,   -22,   -23,   -24,  -171,   -20,  -203,  -217,   -93,   -94,
   -96,  -217,   -31,   -35,  -217,  -217,  -217,  -217,  -101,  -217,
  -217,  -200,  -217,   -73,  -203,  -217,   -71,   -76,   -77,   -78,
   -79,   -80,   -81,   -82,   -83,   -84,   -89,  -154,  -155,  -156,
  -203,  -217,   -95,  -217,   -59,   -60,   -62,  -180,  -217,   -68,
   -69,   -76,  -197,  -217,  -217,   -85,   -87,  -217,   -86,  -217,
  -217,  -217,  -217,  -217,  -217,  -217,  -217,  -217,  -217,  -217,
  -217,  -217,  -217,  -217,  -217,  -217,  -217,  -126,  -133,  -217,
  -217,  -217,  -208,  -209,  -217,  -212,  -213,  -217,  -217,  -217,
  -182,  -181,  -180,  -217,  -217,  -191,  -217,  -217,  -204,  -217,
  -217,   -29,  -202,  -217,  -201,   -34,  -217,  -217,   -99,  -217,
  -102,  -103,  -217,  -198,  -202,   -76,  -144,  -145,  -217,  -217,
  -150,  -151,  -152,  -153,  -157,  -217,   -74,  -217,  -204,   -88,
  -217,  -203,   -57,  -217,   -64,   -65,  -217,  -217,  -217,   -58,
  -107,  -202,  -214,    -5,  -217,  -111,  -117,  -118,  -119,  -120,
  -121,  -122,  -123,  -124,  -125,  -127,  -128,  -129,  -130,  -131,
  -132,  -134,  -135,  -136,  -198,  -206,  -217,  -217,  -217,  -138,
  -217,  -142,  -162,  -217,  -217,  -217,  -185,  -188,  -190,  -217,
  -193,  -217,  -217,  -174,  -192,   -51,   -97,   -91,   -92,   -30,
   -36,  -216,   -98,  -106,  -104,  -199,  -203,  -147,  -217,   -48,
   -72,   -49,   -90,  -203,   -50,  -217,   -61,   -63,   -66,   -67,
  -111,  -110,  -217,  -217,  -207,  -210,  -211,  -137,  -139,  -217,
  -217,  -217,  -165,  -183,  -184,  -217,  -217,  -217,  -217,  -194,
  -195,  -196,  -217,  -169,  -217,  -217,  -202,  -149,   -70,   -55,
  -109,  -112,  -217,  -217,  -143,  -164,  -186,  -187,  -189,  -217,
  -167,  -168,  -146,  -148,  -217,  -114,  -217,  -141,  -166,  -113,
  -140 ]

racc_goto_table = [
    23,    36,    23,    27,     2,    27,    46,    87,    20,   193,
    20,   139,   149,   103,   148,   140,   108,    98,   160,   160,
   100,   101,   227,   286,    78,     3,   279,   229,   145,   146,
   146,   128,   134,   150,   196,   116,   207,    23,   321,   110,
   153,   163,    23,   113,   115,   112,   121,   133,   113,    79,
   112,   278,   136,   220,   237,   235,    88,    96,    37,    42,
   254,   226,   111,   296,   142,   144,   130,   111,   199,   202,
   240,   232,   149,   306,   148,   230,   345,    99,   316,   164,
   289,   102,   203,    74,   294,   284,   285,    45,   339,   191,
   129,     1,   281,   nil,   nil,   nil,   190,   nil,   nil,   nil,
   160,   nil,   nil,   350,   nil,   nil,   nil,   328,   nil,   215,
   nil,   165,   166,   167,   168,   nil,   nil,   nil,   307,   187,
   188,   189,   246,   229,   nil,   200,   200,   205,   217,   219,
   nil,   nil,   nil,   147,   141,   234,   232,   149,   nil,   148,
   230,   nil,   nil,   nil,   241,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   216,   257,   258,   nil,   356,   nil,   nil,
   nil,   315,   nil,   nil,   nil,   nil,   nil,   232,   149,    23,
   148,   230,    27,   281,   331,   139,   149,    20,   148,   140,
   nil,   nil,   nil,   342,   293,   282,   160,   108,   nil,   108,
   325,   304,   145,   147,   231,   312,   146,   nil,   256,   313,
   234,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   268,   269,   270,   271,   272,   196,   310,   232,   149,   143,
   148,   230,   159,   159,   nil,   354,   344,   290,   142,   144,
   nil,   234,   nil,   348,   nil,   363,   nil,   297,   298,   nil,
   229,   300,   nil,   364,   366,   nil,   nil,   nil,   nil,   nil,
   129,   nil,    36,    23,   nil,   nil,    27,   nil,   147,   231,
   nil,    20,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   232,
   149,   nil,   148,   230,   nil,   318,   319,   nil,   nil,   233,
   340,   234,   nil,    23,   232,   149,    27,   148,   230,   147,
   231,    20,    23,   347,   nil,    27,   nil,   147,   141,   nil,
    20,   351,   nil,   nil,   159,   326,   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,   234,   nil,   nil,   nil,   nil,    23,   147,
   231,    27,   359,   nil,   233,   nil,    20,   nil,   234,   nil,
    88,   nil,    23,    23,   nil,    27,    27,   nil,    36,    23,
    20,    20,    27,   nil,   357,   358,   nil,    20,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   233,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   143,   nil,   nil,   nil,   nil,   nil,   nil,
   159,   147,   231,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   147,   231,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   233,   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,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   233,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   233 ]

racc_goto_check = [
    43,     4,    43,    54,     2,    54,    25,    60,    22,    84,
    22,    28,    37,    77,    31,    29,    63,    71,    29,    29,
    38,    38,    69,    81,    43,     3,    65,    67,    35,    55,
    55,    58,    41,    41,    28,    44,    42,    43,    61,    20,
    47,    47,    43,     8,    20,    22,    23,    39,     8,     6,
    22,    64,    52,    59,    42,    40,    26,    26,    21,    21,
     5,    68,     6,    57,    32,    34,    23,     6,    73,    73,
    42,    28,    37,    70,    31,    29,    27,    72,    48,    23,
    74,    75,    76,    46,    78,    79,    80,    24,    82,    83,
    26,     1,    67,   nil,   nil,   nil,    23,   nil,   nil,   nil,
    29,   nil,   nil,    61,   nil,   nil,   nil,    65,   nil,    25,
   nil,    26,    26,    26,    26,   nil,   nil,   nil,    69,    26,
    26,    26,    47,    67,   nil,     3,     3,     3,    23,    23,
   nil,   nil,   nil,    36,    30,    54,    28,    37,   nil,    31,
    29,   nil,   nil,   nil,    44,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    26,    63,    63,   nil,    81,   nil,   nil,
   nil,    42,   nil,   nil,   nil,   nil,   nil,    28,    37,    43,
    31,    29,    54,    67,     5,    28,    37,    22,    31,    29,
   nil,   nil,   nil,     5,    77,    71,    29,    63,   nil,    63,
    84,    58,    35,    36,    30,    55,    55,   nil,    26,    41,
    54,    26,    26,    26,    26,    26,    26,    26,    26,    26,
    26,    26,    26,    26,    26,    28,    52,    28,    37,    33,
    31,    29,    33,    33,   nil,    67,    42,     3,    32,    34,
   nil,    54,   nil,    42,   nil,    69,   nil,    26,    26,   nil,
    67,    26,   nil,     5,     5,   nil,   nil,   nil,   nil,   nil,
    26,   nil,     4,    43,   nil,   nil,    54,   nil,    36,    30,
   nil,    22,   nil,   nil,   nil,   nil,   nil,   nil,   nil,    28,
    37,   nil,    31,    29,   nil,    26,    26,   nil,   nil,    33,
    38,    54,   nil,    43,    28,    37,    54,    31,    29,    36,
    30,    22,    43,    25,   nil,    54,   nil,    36,    30,   nil,
    22,    60,   nil,   nil,    33,    26,   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,    54,   nil,   nil,   nil,   nil,    43,    36,
    30,    54,     2,   nil,    33,   nil,    22,   nil,    54,   nil,
    26,   nil,    43,    43,   nil,    54,    54,   nil,     4,    43,
    22,    22,    54,   nil,    26,    26,   nil,    22,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,    33,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,    33,   nil,   nil,   nil,   nil,   nil,   nil,
    33,    36,    30,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,    36,    30,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,    33,   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,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,    33,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
   nil,   nil,    33 ]

racc_goto_pointer = [
   nil,    91,     4,    25,    -1,  -109,    25,   nil,     6,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,
     2,    40,     8,     2,    66,   -15,    28,  -230,   -61,   -57,
    62,   -58,    -8,   147,    -7,   -44,    61,   -60,   -11,   -25,
   -78,   -40,   -80,     0,    -8,   nil,    60,   -35,  -165,   nil,
   nil,   nil,   -20,   nil,     3,   -43,   nil,  -145,   -31,   -76,
   -21,  -217,   nil,   -17,  -146,  -171,   nil,  -105,   -71,  -110,
  -155,   -13,    47,   -32,  -122,    48,   -20,   -20,  -122,  -116,
  -115,  -178,  -203,    -6,   -86,   nil ]

racc_goto_default = [
   nil,   nil,   253,   154,     4,   nil,     5,     6,     7,     8,
     9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
    19,   nil,    55,   nil,   nil,    89,   123,   213,    47,    48,
    49,    50,    51,    52,    53,    54,    56,    57,    22,   nil,
   nil,   nil,   nil,    65,   nil,    24,   nil,   nil,   155,   243,
   156,   158,   nil,   135,    67,   118,   119,   120,   nil,   nil,
   nil,   nil,    90,    69,   nil,   nil,   280,    66,   nil,   nil,
   nil,   nil,   nil,   nil,   nil,   nil,   nil,   nil,   104,   nil,
   nil,   nil,   nil,   nil,   nil,   194 ]

racc_reduce_table = [
  0, 0, :racc_error,
  1, 69, :_reduce_none,
  1, 69, :_reduce_none,
  1, 70, :_reduce_3,
  2, 70, :_reduce_4,
  1, 73, :_reduce_5,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  1, 72, :_reduce_none,
  3, 87, :_reduce_20,
  3, 87, :_reduce_21,
  1, 88, :_reduce_none,
  1, 88, :_reduce_none,
  1, 88, :_reduce_none,
  1, 89, :_reduce_none,
  1, 89, :_reduce_none,
  1, 89, :_reduce_none,
  1, 89, :_reduce_none,
  4, 81, :_reduce_29,
  5, 81, :_reduce_30,
  3, 81, :_reduce_31,
  2, 81, :_reduce_32,
  1, 92, :_reduce_33,
  3, 92, :_reduce_34,
  1, 91, :_reduce_35,
  3, 91, :_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_none,
  1, 93, :_reduce_none,
  1, 93, :_reduce_none,
  5, 74, :_reduce_48,
  5, 74, :_reduce_49,
  5, 74, :_reduce_50,
  5, 85, :_reduce_51,
  2, 75, :_reduce_52,
  1, 113, :_reduce_53,
  2, 113, :_reduce_54,
  6, 76, :_reduce_55,
  2, 76, :_reduce_56,
  3, 114, :_reduce_57,
  3, 114, :_reduce_58,
  1, 115, :_reduce_none,
  1, 115, :_reduce_none,
  3, 115, :_reduce_61,
  1, 116, :_reduce_none,
  3, 116, :_reduce_63,
  1, 117, :_reduce_64,
  1, 117, :_reduce_65,
  3, 118, :_reduce_66,
  3, 118, :_reduce_67,
  1, 119, :_reduce_none,
  1, 119, :_reduce_none,
  4, 120, :_reduce_70,
  1, 107, :_reduce_71,
  3, 107, :_reduce_72,
  0, 108, :_reduce_none,
  1, 108, :_reduce_none,
  1, 105, :_reduce_75,
  1, 97, :_reduce_76,
  1, 98, :_reduce_77,
  1, 121, :_reduce_none,
  1, 121, :_reduce_none,
  1, 121, :_reduce_none,
  1, 121, :_reduce_none,
  1, 121, :_reduce_none,
  1, 121, :_reduce_none,
  1, 121, :_reduce_none,
  3, 77, :_reduce_85,
  3, 77, :_reduce_86,
  3, 86, :_reduce_87,
  0, 109, :_reduce_88,
  1, 109, :_reduce_89,
  3, 109, :_reduce_90,
  3, 123, :_reduce_91,
  3, 124, :_reduce_92,
  1, 125, :_reduce_none,
  1, 125, :_reduce_none,
  0, 112, :_reduce_95,
  1, 112, :_reduce_96,
  3, 112, :_reduce_97,
  4, 104, :_reduce_98,
  3, 104, :_reduce_99,
  1, 96, :_reduce_100,
  2, 96, :_reduce_101,
  2, 126, :_reduce_102,
  1, 127, :_reduce_103,
  2, 127, :_reduce_104,
  1, 99, :_reduce_105,
  4, 90, :_reduce_106,
  4, 90, :_reduce_107,
  2, 79, :_reduce_108,
  5, 128, :_reduce_109,
  4, 128, :_reduce_110,
  0, 129, :_reduce_none,
  2, 129, :_reduce_112,
  4, 129, :_reduce_113,
  3, 129, :_reduce_114,
  1, 94, :_reduce_none,
  1, 94, :_reduce_none,
  3, 94, :_reduce_117,
  3, 94, :_reduce_118,
  3, 94, :_reduce_119,
  3, 94, :_reduce_120,
  3, 94, :_reduce_121,
  3, 94, :_reduce_122,
  3, 94, :_reduce_123,
  3, 94, :_reduce_124,
  3, 94, :_reduce_125,
  2, 94, :_reduce_126,
  3, 94, :_reduce_127,
  3, 94, :_reduce_128,
  3, 94, :_reduce_129,
  3, 94, :_reduce_130,
  3, 94, :_reduce_131,
  3, 94, :_reduce_132,
  2, 94, :_reduce_133,
  3, 94, :_reduce_134,
  3, 94, :_reduce_135,
  3, 94, :_reduce_136,
  5, 78, :_reduce_137,
  1, 132, :_reduce_138,
  2, 132, :_reduce_139,
  5, 133, :_reduce_140,
  4, 133, :_reduce_141,
  1, 134, :_reduce_142,
  3, 134, :_reduce_143,
  3, 100, :_reduce_144,
  1, 136, :_reduce_none,
  4, 136, :_reduce_146,
  1, 138, :_reduce_none,
  3, 138, :_reduce_148,
  3, 137, :_reduce_149,
  1, 135, :_reduce_none,
  1, 135, :_reduce_none,
  1, 135, :_reduce_none,
  1, 135, :_reduce_none,
  1, 135, :_reduce_none,
  1, 135, :_reduce_none,
  1, 135, :_reduce_none,
  1, 135, :_reduce_none,
  1, 135, :_reduce_158,
  1, 135, :_reduce_none,
  1, 139, :_reduce_160,
  1, 140, :_reduce_none,
  3, 140, :_reduce_162,
  2, 80, :_reduce_163,
  6, 82, :_reduce_164,
  5, 82, :_reduce_165,
  7, 83, :_reduce_166,
  6, 83, :_reduce_167,
  6, 84, :_reduce_168,
  5, 84, :_reduce_169,
  1, 111, :_reduce_170,
  1, 106, :_reduce_171,
  1, 106, :_reduce_172,
  1, 143, :_reduce_173,
  3, 143, :_reduce_174,
  1, 145, :_reduce_175,
  1, 146, :_reduce_176,
  1, 146, :_reduce_177,
  1, 146, :_reduce_178,
  1, 146, :_reduce_none,
  0, 71, :_reduce_180,
  0, 147, :_reduce_181,
  1, 141, :_reduce_none,
  3, 141, :_reduce_183,
  3, 141, :_reduce_184,
  1, 148, :_reduce_none,
  3, 148, :_reduce_186,
  3, 149, :_reduce_187,
  1, 149, :_reduce_188,
  3, 149, :_reduce_189,
  1, 149, :_reduce_190,
  1, 144, :_reduce_none,
  2, 144, :_reduce_192,
  1, 142, :_reduce_none,
  2, 142, :_reduce_194,
  1, 150, :_reduce_none,
  1, 150, :_reduce_none,
  1, 101, :_reduce_197,
  3, 102, :_reduce_198,
  4, 102, :_reduce_199,
  2, 102, :_reduce_200,
  1, 95, :_reduce_none,
  1, 95, :_reduce_none,
  0, 110, :_reduce_none,
  1, 110, :_reduce_204,
  1, 131, :_reduce_205,
  3, 130, :_reduce_206,
  4, 130, :_reduce_207,
  2, 130, :_reduce_208,
  1, 151, :_reduce_none,
  3, 151, :_reduce_210,
  3, 152, :_reduce_211,
  1, 153, :_reduce_212,
  1, 153, :_reduce_213,
  4, 122, :_reduce_214,
  1, 103, :_reduce_none,
  4, 103, :_reduce_216 ]

racc_reduce_n = 217

racc_shift_n = 371

racc_token_table = {
  false => 0,
  :error => 1,
  :STRING => 2,
  :DQPRE => 3,
  :DQMID => 4,
  :DQPOST => 5,
  :LBRACK => 6,
  :RBRACK => 7,
  :LBRACE => 8,
  :RBRACE => 9,
  :SYMBOL => 10,
  :FARROW => 11,
  :COMMA => 12,
  :TRUE => 13,
  :FALSE => 14,
  :EQUALS => 15,
  :APPENDS => 16,
  :LESSEQUAL => 17,
  :NOTEQUAL => 18,
  :DOT => 19,
  :COLON => 20,
  :LLCOLLECT => 21,
  :RRCOLLECT => 22,
  :QMARK => 23,
  :LPAREN => 24,
  :RPAREN => 25,
  :ISEQUAL => 26,
  :GREATEREQUAL => 27,
  :GREATERTHAN => 28,
  :LESSTHAN => 29,
  :IF => 30,
  :ELSE => 31,
  :IMPORT => 32,
  :DEFINE => 33,
  :ELSIF => 34,
  :VARIABLE => 35,
  :CLASS => 36,
  :INHERITS => 37,
  :NODE => 38,
  :BOOLEAN => 39,
  :NAME => 40,
  :SEMIC => 41,
  :CASE => 42,
  :DEFAULT => 43,
  :AT => 44,
  :LCOLLECT => 45,
  :RCOLLECT => 46,
  :CLASSREF => 47,
  :NOT => 48,
  :OR => 49,
  :AND => 50,
  :UNDEF => 51,
  :PARROW => 52,
  :PLUS => 53,
  :MINUS => 54,
  :TIMES => 55,
  :DIV => 56,
  :LSHIFT => 57,
  :RSHIFT => 58,
  :UMINUS => 59,
  :MATCH => 60,
  :NOMATCH => 61,
  :REGEX => 62,
  :IN_EDGE => 63,
  :OUT_EDGE => 64,
  :IN_EDGE_SUB => 65,
  :OUT_EDGE_SUB => 66,
  :IN => 67 }

racc_nt_base = 68

racc_use_result_var = true

Racc_arg = [
  racc_action_table,
  racc_action_check,
  racc_action_default,
  racc_action_pointer,
  racc_goto_table,
  racc_goto_check,
  racc_goto_default,
  racc_goto_pointer,
  racc_nt_base,
  racc_reduce_table,
  racc_token_table,
  racc_shift_n,
  racc_reduce_n,
  racc_use_result_var ]

Racc_token_to_s_table = [
  "$end",
  "error",
  "STRING",
  "DQPRE",
  "DQMID",
  "DQPOST",
  "LBRACK",
  "RBRACK",
  "LBRACE",
  "RBRACE",
  "SYMBOL",
  "FARROW",
  "COMMA",
  "TRUE",
  "FALSE",
  "EQUALS",
  "APPENDS",
  "LESSEQUAL",
  "NOTEQUAL",
  "DOT",
  "COLON",
  "LLCOLLECT",
  "RRCOLLECT",
  "QMARK",
  "LPAREN",
  "RPAREN",
  "ISEQUAL",
  "GREATEREQUAL",
  "GREATERTHAN",
  "LESSTHAN",
  "IF",
  "ELSE",
  "IMPORT",
  "DEFINE",
  "ELSIF",
  "VARIABLE",
  "CLASS",
  "INHERITS",
  "NODE",
  "BOOLEAN",
  "NAME",
  "SEMIC",
  "CASE",
  "DEFAULT",
  "AT",
  "LCOLLECT",
  "RCOLLECT",
  "CLASSREF",
  "NOT",
  "OR",
  "AND",
  "UNDEF",
  "PARROW",
  "PLUS",
  "MINUS",
  "TIMES",
  "DIV",
  "LSHIFT",
  "RSHIFT",
  "UMINUS",
  "MATCH",
  "NOMATCH",
  "REGEX",
  "IN_EDGE",
  "OUT_EDGE",
  "IN_EDGE_SUB",
  "OUT_EDGE_SUB",
  "IN",
  "$start",
  "program",
  "statements_and_declarations",
  "nil",
  "statement_or_declaration",
  "statements",
  "resource",
  "virtualresource",
  "collection",
  "assignment",
  "casestatement",
  "ifstatement_begin",
  "import",
  "fstatement",
  "definition",
  "hostclass",
  "nodedef",
  "resourceoverride",
  "append",
  "relationship",
  "relationship_side",
  "edge",
  "resourceref",
  "expressions",
  "funcvalues",
  "rvalue",
  "expression",
  "comma",
  "quotedtext",
  "name",
  "type",
  "boolean",
  "selector",
  "variable",
  "array",
  "hasharrayaccesses",
  "funcrvalue",
  "undef",
  "classname",
  "resourceinstances",
  "endsemi",
  "params",
  "endcomma",
  "classref",
  "anyparams",
  "at",
  "collectrhand",
  "collstatements",
  "collstatement",
  "colljoin",
  "collexpr",
  "colllval",
  "resourceinst",
  "resourcename",
  "hasharrayaccess",
  "param",
  "addparam",
  "anyparam",
  "dqrval",
  "dqtail",
  "ifstatement",
  "else",
  "hash",
  "regex",
  "caseopts",
  "caseopt",
  "casevalues",
  "selectlhand",
  "svalues",
  "selectval",
  "sintvalues",
  "string",
  "strings",
  "argumentlist",
  "classparent",
  "hostnames",
  "nodeparent",
  "nodename",
  "hostname",
  "nothing",
  "arguments",
  "argument",
  "classnameordefault",
  "hashpairs",
  "hashpair",
  "key" ]

Racc_debug_parser = false

##### State transition tables end #####

# reduce 0 omitted

# reduce 1 omitted

# reduce 2 omitted

module_eval(<<'.,.,', 'grammar.ra', 34)
  def _reduce_3(val, _values, result)
        result = ast AST::ASTArray, :children => (val[0] ? [val[0]] : [])
  
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 37)
  def _reduce_4(val, _values, result)
        if val[1]
      val[0].push(val[1])
    end
    result = val[0]
  
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 46)
  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", \
          :line => stmt.context[:line], :file => stmt.context[:file]
    end
  end
  result = val[0]

    result
  end
.,.,

# reduce 6 omitted

# reduce 7 omitted

# reduce 8 omitted

# reduce 9 omitted

# reduce 10 omitted

# reduce 11 omitted

# reduce 12 omitted

# reduce 13 omitted

# reduce 14 omitted

# reduce 15 omitted

# reduce 16 omitted

# reduce 17 omitted

# reduce 18 omitted

# reduce 19 omitted

module_eval(<<'.,.,', 'grammar.ra', 72)
  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', 75)
  def _reduce_21(val, _values, result)
        result = AST::Relationship.new(val[0], val[2], val[1][:value], ast_context)

    result
  end
.,.,

# reduce 22 omitted

# reduce 23 omitted

# reduce 24 omitted

# reduce 25 omitted

# reduce 26 omitted

# reduce 27 omitted

# reduce 28 omitted

module_eval(<<'.,.,', 'grammar.ra', 83)
  def _reduce_29(val, _values, result)
      result = ast AST::Function,
    :name => val[0][:value],
    :line => val[0][:line],
    :arguments => val[2],
    :ftype => :statement

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 90)
  def _reduce_30(val, _values, result)
      result = ast AST::Function,
    :name => val[0][:value],
    :line => val[0][:line],
    :arguments => val[2],
    :ftype => :statement

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 96)
  def _reduce_31(val, _values, result)
      result = ast AST::Function,
    :name => val[0][:value],
    :line => val[0][:line],
    :arguments => AST::ASTArray.new({}),
    :ftype => :statement

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 103)
  def _reduce_32(val, _values, result)
        result = ast AST::Function,
    :name => val[0][:value],
    :line => val[0][:line],
    :arguments => val[1],
    :ftype => :statement

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 110)
  def _reduce_33(val, _values, result)
     result = aryfy(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 113)
  def _reduce_34(val, _values, result)
        val[0].push(val[2])
    result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 117)
  def _reduce_35(val, _values, result)
     result = aryfy(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 118)
  def _reduce_36(val, _values, result)
     result = val[0].push(val[2]) 
    result
  end
.,.,

# reduce 37 omitted

# reduce 38 omitted

# reduce 39 omitted

# reduce 40 omitted

# reduce 41 omitted

# reduce 42 omitted

# reduce 43 omitted

# reduce 44 omitted

# reduce 45 omitted

# reduce 46 omitted

# reduce 47 omitted

module_eval(<<'.,.,', 'grammar.ra', 133)
  def _reduce_48(val, _values, result)
      @lexer.commentpop
  result = ast(AST::Resource, :type => val[0], :instances => val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 136)
  def _reduce_49(val, _values, result)
      # This is a deprecated syntax.
  error "All resource specifications require names"

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 139)
  def _reduce_50(val, _values, result)
      # a defaults setting for a type
  @lexer.commentpop
  result = ast(AST::ResourceDefaults, :type => val[0], :parameters => val[2])

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 146)
  def _reduce_51(val, _values, result)
      @lexer.commentpop
  result = ast AST::ResourceOverride, :object => val[0], :parameters => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 153)
  def _reduce_52(val, _values, result)
      type = val[0]

  if (type == :exported and ! Puppet[:storeconfigs])
    Puppet.warning addcontext("You cannot collect without storeconfigs being set")
  end

  error "Defaults are not virtualizable" if val[1].is_a? AST::ResourceDefaults

  method = type.to_s + "="

  # Just mark our resource as exported and pass it through.
  val[1].send(method, true)

  result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 169)
  def _reduce_53(val, _values, result)
     result = :virtual 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 170)
  def _reduce_54(val, _values, result)
     result = :exported 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 175)
  def _reduce_55(val, _values, result)
      @lexer.commentpop
  Puppet.warning addcontext("Collection names must now be capitalized") if val[0] =~ /^[a-z]/
  type = val[0].downcase
  args = {:type => type}

  if val[1].is_a?(AST::CollExpr)
    args[:query] = val[1]
    args[:query].type = type
    args[:form] = args[:query].form
  else
    args[:form] = val[1]
  end
  if args[:form] == :exported and ! Puppet[:storeconfigs]
    Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored")
  end
  args[:override] = val[3]
  result = ast AST::Collection, args

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 194)
  def _reduce_56(val, _values, result)
        if val[0] =~ /^[a-z]/
    Puppet.warning addcontext("Collection names must now be capitalized")
  end
  type = val[0].downcase
  args = {:type => type }

  if val[1].is_a?(AST::CollExpr)
    args[:query] = val[1]
    args[:query].type = type
    args[:form] = args[:query].form
  else
    args[:form] = val[1]
  end
  if args[:form] == :exported and ! Puppet[:storeconfigs]
    Puppet.warning addcontext("You cannot collect exported resources without storeconfigs being set; the collection will be ignored")
  end
  result = ast AST::Collection, args

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 215)
  def _reduce_57(val, _values, result)
      if val[1]
    result = val[1]
    result.form = :virtual
  else
    result = :virtual
  end

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 223)
  def _reduce_58(val, _values, result)
        if val[1]
    result = val[1]
    result.form = :exported
  else
    result = :exported
  end

    result
  end
.,.,

# reduce 59 omitted

# reduce 60 omitted

module_eval(<<'.,.,', 'grammar.ra', 236)
  def _reduce_61(val, _values, result)
        result = ast AST::CollExpr, :test1 => val[0], :oper => val[1], :test2 => val[2]

    result
  end
.,.,

# reduce 62 omitted

module_eval(<<'.,.,', 'grammar.ra', 241)
  def _reduce_63(val, _values, result)
        result = val[1]
    result.parens = true

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 245)
  def _reduce_64(val, _values, result)
     result=val[0][:value] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 246)
  def _reduce_65(val, _values, result)
     result=val[0][:value] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 249)
  def _reduce_66(val, _values, result)
      result = ast AST::CollExpr, :test1 => val[0], :oper => val[1][:value], :test2 => val[2]
  #result = ast AST::CollExpr
  #result.push *val

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 254)
  def _reduce_67(val, _values, result)
        result = ast AST::CollExpr, :test1 => val[0], :oper => val[1][:value], :test2 => val[2]
    #result = ast AST::CollExpr
    #result.push *val

    result
  end
.,.,

# reduce 68 omitted

# reduce 69 omitted

module_eval(<<'.,.,', 'grammar.ra', 263)
  def _reduce_70(val, _values, result)
      result = ast AST::ResourceInstance, :title => val[0], :parameters => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 266)
  def _reduce_71(val, _values, result)
     result = aryfy(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 268)
  def _reduce_72(val, _values, result)
        val[0].push val[2]
    result = val[0]

    result
  end
.,.,

# reduce 73 omitted

# reduce 74 omitted

module_eval(<<'.,.,', 'grammar.ra', 276)
  def _reduce_75(val, _values, result)
      result = ast AST::Undef, :value => :undef

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 280)
  def _reduce_76(val, _values, result)
      result = ast AST::Name, :value => val[0][:value], :line => val[0][:line]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 284)
  def _reduce_77(val, _values, result)
      result = ast AST::Type, :value => val[0][:value], :line => val[0][:line]

    result
  end
.,.,

# reduce 78 omitted

# reduce 79 omitted

# reduce 80 omitted

# reduce 81 omitted

# reduce 82 omitted

# reduce 83 omitted

# reduce 84 omitted

module_eval(<<'.,.,', 'grammar.ra', 296)
  def _reduce_85(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]
  result = ast AST::VarDef, :name => variable, :value => val[2], :line => val[0][:line]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 302)
  def _reduce_86(val, _values, result)
        result = ast AST::VarDef, :name => val[0], :value => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 306)
  def _reduce_87(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]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 312)
  def _reduce_88(val, _values, result)
      result = ast AST::ASTArray

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 314)
  def _reduce_89(val, _values, result)
     result = aryfy(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 316)
  def _reduce_90(val, _values, result)
        val[0].push(val[2])
    result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 321)
  def _reduce_91(val, _values, result)
      result = ast AST::ResourceParam, :param => val[0][:value], :line => val[0][:line], :value => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 325)
  def _reduce_92(val, _values, result)
      result = ast AST::ResourceParam, :param => val[0][:value], :line => val[0][:line], :value => val[2],
    :add => true

    result
  end
.,.,

# reduce 93 omitted

# reduce 94 omitted

module_eval(<<'.,.,', 'grammar.ra', 334)
  def _reduce_95(val, _values, result)
      result = ast AST::ASTArray

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 336)
  def _reduce_96(val, _values, result)
     result = aryfy(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 338)
  def _reduce_97(val, _values, result)
        val[0].push(val[2])
    result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 344)
  def _reduce_98(val, _values, result)
      result = ast AST::Function,
    :name => val[0][:value], :line => val[0][:line],
    :arguments => val[2],
    :ftype => :rvalue

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 349)
  def _reduce_99(val, _values, result)
      result = ast AST::Function,
    :name => val[0][:value], :line => val[0][:line],
    :arguments => AST::ASTArray.new({}),
    :ftype => :rvalue

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 355)
  def _reduce_100(val, _values, result)
     result = ast AST::String, :value => val[0][:value],                  :line => val[0][:line] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 356)
  def _reduce_101(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', 358)
  def _reduce_102(val, _values, result)
     result = [val[0]] + val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 360)
  def _reduce_103(val, _values, result)
     result = [ast(AST::String,val[0])]          
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 361)
  def _reduce_104(val, _values, result)
     result = [ast(AST::String,val[0])] + val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 364)
  def _reduce_105(val, _values, result)
      result = ast AST::Boolean, :value => val[0][:value], :line => val[0][:line]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 368)
  def _reduce_106(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]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 371)
  def _reduce_107(val, _values, result)
      result = ast AST::ResourceReference, :type => val[0], :title => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 375)
  def _reduce_108(val, _values, result)
      result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 379)
  def _reduce_109(val, _values, result)
      @lexer.commentpop
  args = {
    :test => val[0],
    :statements => val[2]
  }

  args[:else] = val[4] if val[4]

  result = ast AST::IfStatement, args

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 390)
  def _reduce_110(val, _values, result)
        @lexer.commentpop
    args = {
      :test => val[0],
      :statements => ast(AST::Nop)
  }

  args[:else] = val[3] if val[3]

  result = ast AST::IfStatement, args

    result
  end
.,.,

# reduce 111 omitted

module_eval(<<'.,.,', 'grammar.ra', 403)
  def _reduce_112(val, _values, result)
        result = ast AST::Else, :statements => val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 406)
  def _reduce_113(val, _values, result)
        @lexer.commentpop
    result = ast AST::Else, :statements => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 410)
  def _reduce_114(val, _values, result)
        @lexer.commentpop
    result = ast AST::Else, :statements => ast(AST::Nop)

    result
  end
.,.,

# reduce 115 omitted

# reduce 116 omitted

module_eval(<<'.,.,', 'grammar.ra', 429)
  def _reduce_117(val, _values, result)
        result = ast AST::InOperator, :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 432)
  def _reduce_118(val, _values, result)
        result = ast AST::MatchOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 435)
  def _reduce_119(val, _values, result)
        result = ast AST::MatchOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 438)
  def _reduce_120(val, _values, result)
        result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 441)
  def _reduce_121(val, _values, result)
        result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 444)
  def _reduce_122(val, _values, result)
        result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 447)
  def _reduce_123(val, _values, result)
        result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 450)
  def _reduce_124(val, _values, result)
        result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 453)
  def _reduce_125(val, _values, result)
        result = ast AST::ArithmeticOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 456)
  def _reduce_126(val, _values, result)
        result = ast AST::Minus, :value => val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 459)
  def _reduce_127(val, _values, result)
        result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 462)
  def _reduce_128(val, _values, result)
        result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 465)
  def _reduce_129(val, _values, result)
        result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 468)
  def _reduce_130(val, _values, result)
        result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 471)
  def _reduce_131(val, _values, result)
        result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 474)
  def _reduce_132(val, _values, result)
        result = ast AST::ComparisonOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 477)
  def _reduce_133(val, _values, result)
        result = ast AST::Not, :value => val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 480)
  def _reduce_134(val, _values, result)
        result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 483)
  def _reduce_135(val, _values, result)
        result = ast AST::BooleanOperator, :operator => val[1][:value], :lval => val[0], :rval => val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 486)
  def _reduce_136(val, _values, result)
        result = val[1]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 490)
  def _reduce_137(val, _values, result)
      @lexer.commentpop
  result = ast AST::CaseStatement, :test => val[1], :options => val[3]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 494)
  def _reduce_138(val, _values, result)
     result = aryfy(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 496)
  def _reduce_139(val, _values, result)
        val[0].push val[1]
    result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 501)
  def _reduce_140(val, _values, result)
      @lexer.commentpop
  result = ast AST::CaseOpt, :value => val[0], :statements => val[3]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 504)
  def _reduce_141(val, _values, result)
      @lexer.commentpop

    result = ast(
    AST::CaseOpt,
    :value => val[0],

    :statements => ast(AST::ASTArray)
  )

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 514)
  def _reduce_142(val, _values, result)
     result = aryfy(val[0]) 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 516)
  def _reduce_143(val, _values, result)
        val[0].push(val[2])
    result = val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 521)
  def _reduce_144(val, _values, result)
      result = ast AST::Selector, :param => val[0], :values => val[2]

    result
  end
.,.,

# reduce 145 omitted

module_eval(<<'.,.,', 'grammar.ra', 526)
  def _reduce_146(val, _values, result)
        @lexer.commentpop
    result = val[1]

    result
  end
.,.,

# reduce 147 omitted

module_eval(<<'.,.,', 'grammar.ra', 532)
  def _reduce_148(val, _values, result)
        if val[0].instance_of?(AST::ASTArray)
    val[0].push(val[2])
    result = val[0]
  else
    result = ast AST::ASTArray, :children => [val[0],val[2]]
  end

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 541)
  def _reduce_149(val, _values, result)
      result = ast AST::ResourceParam, :param => val[0], :value => val[2]

    result
  end
.,.,

# reduce 150 omitted

# reduce 151 omitted

# reduce 152 omitted

# reduce 153 omitted

# reduce 154 omitted

# reduce 155 omitted

# reduce 156 omitted

# reduce 157 omitted

module_eval(<<'.,.,', 'grammar.ra', 553)
  def _reduce_158(val, _values, result)
        result = ast AST::Default, :value => val[0][:value], :line => val[0][:line]

    result
  end
.,.,

# reduce 159 omitted

module_eval(<<'.,.,', 'grammar.ra', 558)
  def _reduce_160(val, _values, result)
     result = [val[0][:value]] 
    result
  end
.,.,

# reduce 161 omitted

module_eval(<<'.,.,', 'grammar.ra', 560)
  def _reduce_162(val, _values, result)
     result = val[0] += val[2] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 563)
  def _reduce_163(val, _values, result)
      val[1].each do |file|
    import(file)
  end

  result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 573)
  def _reduce_164(val, _values, result)
      @lexer.commentpop
  result = Puppet::Parser::AST::Definition.new(classname(val[1]),
                                               ast_context(true).merge(:arguments => val[2], :code => val[4],
                                                                       :line => val[0][:line]))
  @lexer.indefine = false

#}           | DEFINE NAME argumentlist parent LBRACE RBRACE {

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 581)
  def _reduce_165(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]))
  @lexer.indefine = false

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 589)
  def _reduce_166(val, _values, result)
      @lexer.commentpop
  # Our class gets defined in the parent namespace, not our own.
  @lexer.namepop
  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]))

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 596)
  def _reduce_167(val, _values, result)
      @lexer.commentpop
  # Our class gets defined in the parent namespace, not our own.
  @lexer.namepop
  result = Puppet::Parser::AST::Hostclass.new(classname(val[1]),
                                              ast_context(true).merge(:arguments => val[2], :parent => val[3],
                                                                      :line => val[0][:line]))

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 605)
  def _reduce_168(val, _values, result)
      @lexer.commentpop
  result = Puppet::Parser::AST::Node.new(val[1],
                                         ast_context(true).merge(:parent => val[2], :code => val[4],
                                                                 :line => val[0][:line]))

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 610)
  def _reduce_169(val, _values, result)
      @lexer.commentpop
  result = Puppet::Parser::AST::Node.new(val[1], ast_context(true).merge(:parent => val[2], :line => val[0][:line]))

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 614)
  def _reduce_170(val, _values, result)
     result = val[0][:value] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 616)
  def _reduce_171(val, _values, result)
     result = val[0][:value] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 617)
  def _reduce_172(val, _values, result)
     result = "class" 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 622)
  def _reduce_173(val, _values, result)
        result = [result]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 625)
  def _reduce_174(val, _values, result)
        result = val[0]
    result << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 630)
  def _reduce_175(val, _values, result)
      result = ast AST::HostName, :value => val[0]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 633)
  def _reduce_176(val, _values, result)
     result = val[0][:value] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 634)
  def _reduce_177(val, _values, result)
     result = val[0][:value] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 635)
  def _reduce_178(val, _values, result)
     result = val[0][:value] 
    result
  end
.,.,

# reduce 179 omitted

module_eval(<<'.,.,', 'grammar.ra', 639)
  def _reduce_180(val, _values, result)
      result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 643)
  def _reduce_181(val, _values, result)
      result = ast AST::ASTArray, :children => []

    result
  end
.,.,

# reduce 182 omitted

module_eval(<<'.,.,', 'grammar.ra', 648)
  def _reduce_183(val, _values, result)
        result = nil

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 651)
  def _reduce_184(val, _values, result)
        result = val[1]
    result = [result] unless result[0].is_a?(Array)

    result
  end
.,.,

# reduce 185 omitted

module_eval(<<'.,.,', 'grammar.ra', 657)
  def _reduce_186(val, _values, result)
        result = val[0]
    result = [result] unless result[0].is_a?(Array)
    result << val[2]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 663)
  def _reduce_187(val, _values, result)
      Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
  result = [val[0][:value], val[2]]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 667)
  def _reduce_188(val, _values, result)
        Puppet.warning addcontext("Deprecation notice: must now include '$' in prototype")
    result = [val[0][:value]]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 670)
  def _reduce_189(val, _values, result)
      result = [val[0][:value], val[2]]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 672)
  def _reduce_190(val, _values, result)
      result = [val[0][:value]]

    result
  end
.,.,

# reduce 191 omitted

module_eval(<<'.,.,', 'grammar.ra', 677)
  def _reduce_192(val, _values, result)
        result = val[1]

    result
  end
.,.,

# reduce 193 omitted

module_eval(<<'.,.,', 'grammar.ra', 682)
  def _reduce_194(val, _values, result)
        result = val[1]

    result
  end
.,.,

# reduce 195 omitted

# reduce 196 omitted

module_eval(<<'.,.,', 'grammar.ra', 688)
  def _reduce_197(val, _values, result)
      result = ast AST::Variable, :value => val[0][:value], :line => val[0][:line]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 691)
  def _reduce_198(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 692)
  def _reduce_199(val, _values, result)
     result = val[1] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 693)
  def _reduce_200(val, _values, result)
     result = ast AST::ASTArray 
    result
  end
.,.,

# reduce 201 omitted

# reduce 202 omitted

# reduce 203 omitted

module_eval(<<'.,.,', 'grammar.ra', 699)
  def _reduce_204(val, _values, result)
     result = nil 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 702)
  def _reduce_205(val, _values, result)
      result = ast AST::Regex, :value => val[0][:value]

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 706)
  def _reduce_206(val, _values, result)
      if val[1].instance_of?(AST::ASTHash)
    result = val[1]
  else
    result = ast AST::ASTHash, { :value => val[1] }
  end

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 713)
  def _reduce_207(val, _values, result)
        if val[1].instance_of?(AST::ASTHash)
    result = val[1]
  else
    result = ast AST::ASTHash, { :value => val[1] }
  end

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 719)
  def _reduce_208(val, _values, result)
      result = ast AST::ASTHash

    result
  end
.,.,

# reduce 209 omitted

module_eval(<<'.,.,', 'grammar.ra', 724)
  def _reduce_210(val, _values, result)
        if val[0].instance_of?(AST::ASTHash)
    result = val[0].merge(val[2])
  else
    result = ast AST::ASTHash, :value => val[0]
    result.merge(val[2])
  end

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 733)
  def _reduce_211(val, _values, result)
      result = ast AST::ASTHash, { :value => { val[0] => val[2] } }

    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 736)
  def _reduce_212(val, _values, result)
     result = val[0][:value] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 737)
  def _reduce_213(val, _values, result)
     result = val[0] 
    result
  end
.,.,

module_eval(<<'.,.,', 'grammar.ra', 740)
  def _reduce_214(val, _values, result)
      result = ast AST::HashOrArrayAccess, :variable => val[0][:value], :key => val[2]

    result
  end
.,.,

# reduce 215 omitted

module_eval(<<'.,.,', 'grammar.ra', 745)
  def _reduce_216(val, _values, result)
        result = ast AST::HashOrArrayAccess, :variable => val[0], :key => val[2]

    result
  end
.,.,

def _reduce_none(val, _values, result)
  val[0]
end

    end   # class Parser
    end   # module Parser
  end   # module Puppet
