diff --git a/lib/puppet/external/nagios/grammar.ry b/lib/puppet/external/nagios/grammar.ry index dc203be5c..82f0a907c 100644 --- a/lib/puppet/external/nagios/grammar.ry +++ b/lib/puppet/external/nagios/grammar.ry @@ -1,185 +1,185 @@ # vim: syntax=ruby class Nagios::Parser token DEFINE NAME STRING PARAM LCURLY RCURLY VALUE RETURN COMMENT INLINECOMMENT rule decls: decl { return val[0] if val[0] } | decls decl { if val[1].nil? result = val[0] else if val[0].nil? result = val[1] else result = [ val[0], val[1] ].flatten end end } ; decl: object { result = [val[0]] } | RETURN { result = nil } | comment ; comment: COMMENT RETURN { result = nil } ; object: DEFINE NAME LCURLY RETURN vars RCURLY { result = Nagios::Base.create(val[1],val[4]) } ; vars: var | vars var { val[1].each {|p,v| val[0][p] = v } result = val[0] } ; -var: PARAM VALUE icomment returns { result = {val[0],val[1]} } +var: PARAM VALUE icomment returns { result = {val[0] => val[1]} } ; returns: RETURN | returns RETURN ; icomment: # nothing | INLINECOMMENT ; end ----inner class ::Nagios::Parser::SyntaxError < RuntimeError; end def parse(src) @src = src # state variables @invar = false @inobject = false @done = false @line = 0 @yydebug = true do_parse end # The lexer. Very simple. def token @src.sub!(/\A\n/,'') if $& @line += 1 return [ :RETURN, "\n" ] end if @done return nil end yytext = String.new # remove comments from this line @src.sub!(/\A[ \t]*;.*\n/,"\n") if $& return [:INLINECOMMENT, ""] end @src.sub!(/\A#.*\n/,"\n") if $& return [:COMMENT, ""] end @src.sub!(/#.*/,'') if @src.length == 0 @done = true return [false, '$'] end if @invar @src.sub!(/\A[ \t]+/,'') @src.sub!(/\A([^;\n]+)(\n|;)/,'\2') if $1 yytext += $1 end @invar = false return [:VALUE, yytext] else @src.sub!(/\A[\t ]*(\S+)([\t ]*|$)/,'') if $1 yytext = $1 case yytext when 'define' #puts "got define" return [:DEFINE, yytext] when '{' #puts "got {" @inobject = true return [:LCURLY, yytext] else unless @inobject #puts "got type: #{yytext}" if yytext =~ /\W/ giveback = yytext.dup giveback.sub!(/^\w+/,'') #puts "giveback " + giveback #puts "yytext " + yytext yytext.sub!(/\W.*$/,'') #puts "yytext " + yytext #puts "all [#{giveback} #{yytext} #{orig}]" @src = giveback + @src end return [:NAME, yytext] else if yytext == '}' #puts "got closure: #{yytext}" @inobject = false return [:RCURLY, '}'] end unless @invar @invar = true return [:PARAM, $1] else end end end end end end def next_token token end def yydebug 1 end def yywrap 0 end def on_error(token, value, vstack ) msg = "" unless value.nil? msg = "line #{@line}: syntax error at '#{value}'" else msg = "line #{@line}: syntax error at '#{token}'" end unless @src.size > 0 msg = "line #{@line}: Unexpected end of file" end if token == '$end'.intern puts "okay, this is silly" else raise ::Nagios::Parser::SyntaxError, msg end end diff --git a/lib/puppet/external/nagios/makefile b/lib/puppet/external/nagios/makefile index fc14564b7..a3c1ba150 100644 --- a/lib/puppet/external/nagios/makefile +++ b/lib/puppet/external/nagios/makefile @@ -1,9 +1,9 @@ all: parser.rb debug: parser.rb setdebug parser.rb: grammar.ry - racc -E -oparser.rb grammar.ry + racc -oparser.rb grammar.ry setdebug: perl -pi -e 's{\@yydebug =.*$$}{\@yydebug = true}' parser.rb diff --git a/lib/puppet/external/nagios/parser.rb b/lib/puppet/external/nagios/parser.rb index 17db5e307..e89192b3a 100644 --- a/lib/puppet/external/nagios/parser.rb +++ b/lib/puppet/external/nagios/parser.rb @@ -1,775 +1,342 @@ # # DO NOT MODIFY!!!! -# This file is automatically generated by racc 1.4.5 -# from racc grammer file "grammar.ry". +# This file is automatically generated by Racc 1.4.9 +# from Racc grammer file "". # -# -# parser.rb: generated by racc (runtime embedded) -# -###### racc/parser.rb begin -unless $LOADED_FEATURES.index 'racc/parser.rb' -$LOADED_FEATURES.push 'racc/parser.rb' - -self.class.module_eval <<'..end racc/parser.rb modeval..id5256434e8a', 'racc/parser.rb', 1 -# -# $Id: parser.rb,v 1.7 2005/11/20 17:31:32 aamine Exp $ -# -# Copyright (c) 1999-2005 Minero Aoki -# -# This program is free software. -# You can distribute/modify this program under the same terms of ruby. -# -# As a special exception, when this code is copied by Racc -# into a Racc output file, you may use that output file -# without restriction. -# - -NotImplementedError = NotImplementError unless defined?(NotImplementedError) - -module Racc - class ParseError < StandardError; end -end -ParseError = Racc::ParseError unless defined?(::ParseError) - -module Racc - - Racc_No_Extentions = false unless defined?(Racc_No_Extentions) - - class Parser - - Racc_Runtime_Version = '1.4.5' - Racc_Runtime_Revision = '$Revision: 1.7 $'.split[1] - - Racc_Runtime_Core_Version_R = '1.4.5' - Racc_Runtime_Core_Revision_R = '$Revision: 1.7 $'.split[1] - begin - require 'racc/cparse' - # Racc_Runtime_Core_Version_C = (defined in extention) - Racc_Runtime_Core_Revision_C = Racc_Runtime_Core_Id_C.split[2] - raise LoadError, 'old cparse.so' unless new.respond_to?(:_racc_do_parse_c, true) - raise LoadError, 'selecting ruby version of racc runtime core' if Racc_No_Extentions - - Racc_Main_Parsing_Routine = :_racc_do_parse_c - Racc_YY_Parse_Method = :_racc_yyparse_c - Racc_Runtime_Core_Version = Racc_Runtime_Core_Version_C - Racc_Runtime_Core_Revision = Racc_Runtime_Core_Revision_C - Racc_Runtime_Type = 'c' - rescue LoadError - Racc_Main_Parsing_Routine = :_racc_do_parse_rb - Racc_YY_Parse_Method = :_racc_yyparse_rb - Racc_Runtime_Core_Version = Racc_Runtime_Core_Version_R - Racc_Runtime_Core_Revision = Racc_Runtime_Core_Revision_R - Racc_Runtime_Type = 'ruby' - end - - def Parser.racc_runtime_type - Racc_Runtime_Type - end - - private - - def _racc_setup - @yydebug = false unless self.class::Racc_debug_parser - @yydebug ||= false - if @yydebug - @racc_debug_out ||= $stderr - @racc_debug_out ||= $stderr - end - arg = self.class::Racc_arg - arg[13] = true if arg.size < 14 - arg - end - - def _racc_init_sysvars - @racc_state = [0] - @racc_tstack = [] - @racc_vstack = [] - - @racc_t = nil - @racc_val = nil - - @racc_read_next = true - - @racc_user_yyerror = false - @racc_error_status = 0 - end - - ### - ### do_parse - ### - - def do_parse - __send__(Racc_Main_Parsing_Routine, _racc_setup, false) - end - - def next_token - raise NotImplementedError, "#{self.class}\#next_token is not defined" - end - - def _racc_do_parse_rb(arg, in_debug) - action_table, action_check, action_default, action_pointer, - goto_table, goto_check, goto_default, goto_pointer, - nt_base, reduce_table, token_table, shift_n, - reduce_n, use_result, * = arg - - _racc_init_sysvars - tok = act = i = nil - nerr = 0 - - catch(:racc_end_parse) { - while true - if i = action_pointer[@racc_state[-1]] - if @racc_read_next - if @racc_t != 0 # not EOF - tok, @racc_val = next_token - unless tok # EOF - @racc_t = 0 - else - @racc_t = (token_table[tok] or 1) # error token - end - racc_read_token(@racc_t, tok, @racc_val) if @yydebug - @racc_read_next = false - end - end - i += @racc_t - unless i >= 0 and - act = action_table[i] and - action_check[i] == @racc_state[-1] - act = action_default[@racc_state[-1]] - end - else - act = action_default[@racc_state[-1]] - end - while act = _racc_evalact(act, arg) - ; - end - end - } - end - - ### - ### yyparse - ### - - def yyparse(recv, mid) - __send__(Racc_YY_Parse_Method, recv, mid, _racc_setup, true) - end - - def _racc_yyparse_rb(recv, mid, arg, c_debug) - action_table, action_check, action_default, action_pointer, - goto_table, goto_check, goto_default, goto_pointer, - nt_base, reduce_table, token_table, shift_n, - reduce_n, use_result, * = arg - - _racc_init_sysvars - tok = nil - act = nil - i = nil - nerr = 0 - - catch(:racc_end_parse) { - until i = action_pointer[@racc_state[-1]] - while act = _racc_evalact(action_default[@racc_state[-1]], arg) - ; - end - end - recv.__send__(mid) do |tok, val| - unless tok - @racc_t = 0 - else - @racc_t = (token_table[tok] or 1) # error token - end - @racc_val = val - @racc_read_next = false - - i += @racc_t - unless i >= 0 and - act = action_table[i] and - action_check[i] == @racc_state[-1] - act = action_default[@racc_state[-1]] - end - while act = _racc_evalact(act, arg) - ; - end - - while not (i = action_pointer[@racc_state[-1]]) or - not @racc_read_next or - @racc_t == 0 # $ - unless i and i += @racc_t and - i >= 0 and - act = action_table[i] and - action_check[i] == @racc_state[-1] - act = action_default[@racc_state[-1]] - end - while act = _racc_evalact(act, arg) - ; - end - end - end - } - end - - ### - ### common - ### - - def _racc_evalact(act, arg) - action_table, action_check, action_default, action_pointer, - goto_table, goto_check, goto_default, goto_pointer, - nt_base, reduce_table, token_table, shift_n, - reduce_n, use_result, * = arg - nerr = 0 # tmp - - if act > 0 and act < shift_n - # - # shift - # - if @racc_error_status > 0 - @racc_error_status -= 1 unless @racc_t == 1 # error token - end - @racc_vstack.push @racc_val - @racc_state.push act - @racc_read_next = true - if @yydebug - @racc_tstack.push @racc_t - racc_shift @racc_t, @racc_tstack, @racc_vstack - end - - elsif act < 0 and act > -reduce_n - # - # reduce - # - code = catch(:racc_jump) { - @racc_state.push _racc_do_reduce(arg, act) - false - } - if code - case code - when 1 # yyerror - @racc_user_yyerror = true # user_yyerror - return -reduce_n - when 2 # yyaccept - return shift_n - else - raise '[Racc Bug] unknown jump code' - end - end - - elsif act == shift_n - # - # accept - # - racc_accept if @yydebug - throw :racc_end_parse, @racc_vstack[0] - - elsif act == -reduce_n - # - # error - # - case @racc_error_status - when 0 - unless arg[21] # user_yyerror - nerr += 1 - on_error @racc_t, @racc_val, @racc_vstack - end - when 3 - if @racc_t == 0 # is $ - throw :racc_end_parse, nil - end - @racc_read_next = true - end - @racc_user_yyerror = false - @racc_error_status = 3 - while true - if i = action_pointer[@racc_state[-1]] - i += 1 # error token - if i >= 0 and - (act = action_table[i]) and - action_check[i] == @racc_state[-1] - break - end - end - throw :racc_end_parse, nil if @racc_state.size <= 1 - @racc_state.pop - @racc_vstack.pop - if @yydebug - @racc_tstack.pop - racc_e_pop @racc_state, @racc_tstack, @racc_vstack - end - end - return act - - else - raise "[Racc Bug] unknown action #{act.inspect}" - end - - racc_next_state(@racc_state[-1], @racc_state) if @yydebug - - nil - end - - def _racc_do_reduce(arg, act) - action_table, action_check, action_default, action_pointer, - goto_table, goto_check, goto_default, goto_pointer, - nt_base, reduce_table, token_table, shift_n, - reduce_n, use_result, * = arg - state = @racc_state - vstack = @racc_vstack - tstack = @racc_tstack - - i = act * -3 - len = reduce_table[i] - reduce_to = reduce_table[i+1] - method_id = reduce_table[i+2] - void_array = [] - - tmp_t = tstack[-len, len] if @yydebug - tmp_v = vstack[-len, len] - tstack[-len, len] = void_array if @yydebug - vstack[-len, len] = void_array - state[-len, len] = void_array - - # tstack must be updated AFTER method call - if use_result - vstack.push __send__(method_id, tmp_v, vstack, tmp_v[0]) - else - vstack.push __send__(method_id, tmp_v, vstack) - end - tstack.push reduce_to - - racc_reduce(tmp_t, reduce_to, tstack, vstack) if @yydebug - - k1 = reduce_to - nt_base - if i = goto_pointer[k1] - i += state[-1] - if i >= 0 and (curstate = goto_table[i]) and goto_check[i] == k1 - return curstate - end - end - goto_default[k1] - end - - def on_error(t, val, vstack) - raise ParseError, sprintf("\nparse error on value %s (%s)", val.inspect, token_to_str(t) || '?') - end - - def yyerror - throw :racc_jump, 1 - end - - def yyaccept - throw :racc_jump, 2 - end - - def yyerrok - @racc_error_status = 0 - end - - # - # for debugging output - # - - def racc_read_token(t, tok, val) - @racc_debug_out.print 'read ' - @racc_debug_out.print tok.inspect, '(', racc_token2str(t), ') ' - @racc_debug_out.puts val.inspect - @racc_debug_out.puts - end - - def racc_shift(tok, tstack, vstack) - @racc_debug_out.puts "shift #{racc_token2str tok}" - racc_print_stacks tstack, vstack - @racc_debug_out.puts - end - - def racc_reduce(toks, sim, tstack, vstack) - out = @racc_debug_out - out.print 'reduce ' - if toks.empty? - out.print ' ' - else - toks.each {|t| out.print ' ', racc_token2str(t) } - end - out.puts " --> #{racc_token2str(sim)}" - - racc_print_stacks tstack, vstack - @racc_debug_out.puts - end - - def racc_accept - @racc_debug_out.puts 'accept' - @racc_debug_out.puts - end - - def racc_e_pop(state, tstack, vstack) - @racc_debug_out.puts 'error recovering mode: pop token' - racc_print_states state - racc_print_stacks tstack, vstack - @racc_debug_out.puts - end - - def racc_next_state(curstate, state) - @racc_debug_out.puts "goto #{curstate}" - racc_print_states state - @racc_debug_out.puts - end - - def racc_print_stacks(t, v) - out = @racc_debug_out - out.print ' [' - t.each_index do |i| - out.print ' (', racc_token2str(t[i]), ' ', v[i].inspect, ')' - end - out.puts ' ]' - end - - def racc_print_states(s) - out = @racc_debug_out - out.print ' [' - s.each {|st| out.print ' ', st } - out.puts ' ]' - end - - def racc_token2str(tok) - self.class::Racc_token_to_s_table[tok] or - raise "[Racc Bug] can't convert token #{tok} to string" - end - - def token_to_str(t) - self.class::Racc_token_to_s_table[t] - end - - end - -end -..end racc/parser.rb modeval..id5256434e8a -end -###### racc/parser.rb end - +require 'racc/parser.rb' module Nagios - class Parser < Racc::Parser -module_eval <<'..end grammar.ry modeval..idcb2ea30b34', 'grammar.ry', 57 +module_eval(<<'...end grammar.ry/module_eval...', 'grammar.ry', 57) class ::Nagios::Parser::SyntaxError < RuntimeError; end def parse(src) - @src = src + @src = src - # state variables - @invar = false - @inobject = false - @done = false + # state variables + @invar = false + @inobject = false + @done = false - @line = 0 - @yydebug = true + @line = 0 + @yydebug = true - do_parse + do_parse end # The lexer. Very simple. def token - @src.sub!(/\A\n/,'') - if $MATCH - @line += 1 - return [ :RETURN, "\n" ] + @src.sub!(/\A\n/,'') + if $& + @line += 1 + return [ :RETURN, "\n" ] end - return nil if @done + if @done + return nil + end yytext = String.new # remove comments from this line @src.sub!(/\A[ \t]*;.*\n/,"\n") - return [:INLINECOMMENT, ""] if $MATCH + if $& + return [:INLINECOMMENT, ""] + end @src.sub!(/\A#.*\n/,"\n") - return [:COMMENT, ""] if $MATCH + if $& + return [:COMMENT, ""] + end @src.sub!(/#.*/,'') if @src.length == 0 - @done = true - return [false, '$'] + @done = true + return [false, '$'] end if @invar - @src.sub!(/\A[ \t]+/,'') - @src.sub!(/\A([^;\n]+)(\n|;)/,'\2') - if $1 - yytext += $1 + @src.sub!(/\A[ \t]+/,'') + @src.sub!(/\A([^;\n]+)(\n|;)/,'\2') + if $1 + yytext += $1 end @invar = false return [:VALUE, yytext] else - @src.sub!(/\A[\t ]*(\S+)([\t ]*|$)/,'') - if $1 - yytext = $1 - case yytext - when 'define' - #puts "got define" - return [:DEFINE, yytext] - when '{' - #puts "got {" - @inobject = true - return [:LCURLY, yytext] - else - unless @inobject - #puts "got type: #{yytext}" - if yytext =~ /\W/ - giveback = yytext.dup - giveback.sub!(/^\w+/,'') - #puts "giveback #{giveback}" - #puts "yytext #{yytext}" - yytext.sub!(/\W.*$/,'') - #puts "yytext #{yytext}" - #puts "all [#{giveback} #{yytext} #{orig}]" - @src = giveback + @src - end - return [:NAME, yytext] - else - if yytext == '}' - #puts "got closure: #{yytext}" - @inobject = false - return [:RCURLY, '}'] - end - - unless @invar - @invar = true - return [:PARAM, $1] - else - end + @src.sub!(/\A[\t ]*(\S+)([\t ]*|$)/,'') + if $1 + yytext = $1 + case yytext + when 'define' + #puts "got define" + return [:DEFINE, yytext] + when '{' + #puts "got {" + @inobject = true + return [:LCURLY, yytext] + else + unless @inobject + #puts "got type: #{yytext}" + if yytext =~ /\W/ + giveback = yytext.dup + giveback.sub!(/^\w+/,'') + #puts "giveback " + giveback + #puts "yytext " + yytext + yytext.sub!(/\W.*$/,'') + #puts "yytext " + yytext + #puts "all [#{giveback} #{yytext} #{orig}]" + @src = giveback + @src + end + return [:NAME, yytext] + else + if yytext == '}' + #puts "got closure: #{yytext}" + @inobject = false + return [:RCURLY, '}'] + end + + unless @invar + @invar = true + return [:PARAM, $1] + else + end + end + end end - end - end end end def next_token - token + token end def yydebug - 1 + 1 end def yywrap - 0 + 0 end def on_error(token, value, vstack ) - msg = "" - unless value.nil? - msg = "line #{@line}: syntax error at '#{value}'" + msg = "" + unless value.nil? + msg = "line #{@line}: syntax error at '#{value}'" else - msg = "line #{@line}: syntax error at '#{token}'" + msg = "line #{@line}: syntax error at '#{token}'" + end + unless @src.size > 0 + msg = "line #{@line}: Unexpected end of file" end - msg = "line #{@line}: Unexpected end of file" unless @src.size > 0 if token == '$end'.intern - puts "okay, this is silly" + puts "okay, this is silly" else - raise ::Nagios::Parser::SyntaxError, msg + raise ::Nagios::Parser::SyntaxError, msg end end -..end grammar.ry modeval..idcb2ea30b34 +...end grammar.ry/module_eval... +##### State transition tables begin ### + +racc_action_table = [ + 8, 17, 7, 18, 7, 14, 12, 13, 11, 4, + 6, 4, 6, 17, 10, 20, 22, 24, 25 ] + +racc_action_check = [ + 1, 15, 1, 15, 0, 13, 8, 11, 7, 1, + 1, 0, 0, 14, 6, 17, 20, 21, 23 ] + +racc_action_pointer = [ + 2, 0, nil, nil, nil, nil, 5, 5, 6, nil, + nil, 1, nil, -4, 8, -4, nil, 7, nil, nil, + 5, 8, nil, 9, nil, nil ] + +racc_action_default = [ + -15, -15, -1, -3, -4, -5, -15, -15, -15, -2, + -6, -15, 26, -15, -15, -15, -8, -15, -7, -9, + -13, -15, -14, -10, -11, -12 ] + +racc_goto_table = [ + 16, 19, 2, 9, 1, 15, 21, 23 ] -##### racc 1.4.5 generates ### +racc_goto_check = [ + 6, 6, 2, 2, 1, 5, 7, 8 ] + +racc_goto_pointer = [ + nil, 4, 2, nil, nil, -9, -14, -14, -14 ] + +racc_goto_default = [ + nil, nil, nil, 3, 5, nil, nil, nil, nil ] racc_reduce_table = [ 0, 0, :racc_error, 1, 13, :_reduce_1, 2, 13, :_reduce_2, 1, 14, :_reduce_3, 1, 14, :_reduce_4, 1, 14, :_reduce_none, 2, 16, :_reduce_6, 6, 15, :_reduce_7, 1, 17, :_reduce_none, 2, 17, :_reduce_9, 4, 18, :_reduce_10, 1, 20, :_reduce_none, 2, 20, :_reduce_none, 0, 19, :_reduce_none, 1, 19, :_reduce_none ] racc_reduce_n = 15 racc_shift_n = 26 -racc_action_table = [ - 9, 15, 1, 20, 1, 14, 12, 13, 11, 6, - 7, 6, 7, 15, 18, 8, 21, 23, 25 ] - -racc_action_check = [ - 2, 16, 2, 16, 0, 12, 8, 9, 7, 2, - 2, 0, 0, 14, 15, 1, 18, 22, 24 ] - -racc_action_pointer = [ - 2, 12, 0, nil, nil, nil, nil, -1, 0, 7, - nil, nil, -4, nil, 8, 6, -4, nil, 5, nil, - nil, nil, 8, nil, 9, nil ] - -racc_action_default = [ - -15, -15, -15, -1, -3, -5, -4, -15, -15, -15, - -2, -6, -15, 26, -15, -15, -15, -8, -13, -9, - -7, -14, -15, -11, -10, -12 ] - -racc_goto_table = [ 17, 3, 19, 10, 2, 16, 22, 24 ] - -racc_goto_check = [ 6, 2, 6, 2, 1, 5, 7, 8 ] - -racc_goto_pointer = [ nil, 4, 1, nil, nil, -9, -14, -12, -15 ] - -racc_goto_default = [ nil, nil, nil, 4, 5, nil, nil, nil, nil ] - racc_token_table = { false => 0, - Object.new => 1, + :error => 1, :DEFINE => 2, :NAME => 3, :STRING => 4, :PARAM => 5, :LCURLY => 6, :RCURLY => 7, :VALUE => 8, :RETURN => 9, :COMMENT => 10, :INLINECOMMENT => 11 } -racc_use_result_var = true - racc_nt_base = 12 +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', -'DEFINE', -'NAME', -'STRING', -'PARAM', -'LCURLY', -'RCURLY', -'VALUE', -'RETURN', -'COMMENT', -'INLINECOMMENT', -'$start', -'decls', -'decl', -'object', -'comment', -'vars', -'var', -'icomment', -'returns'] + "$end", + "error", + "DEFINE", + "NAME", + "STRING", + "PARAM", + "LCURLY", + "RCURLY", + "VALUE", + "RETURN", + "COMMENT", + "INLINECOMMENT", + "$start", + "decls", + "decl", + "object", + "comment", + "vars", + "var", + "icomment", + "returns" ] Racc_debug_parser = false -##### racc system variables end ##### +##### State transition tables end ##### # reduce 0 omitted -module_eval <<'.,.,', 'grammar.ry', 6 - def _reduce_1( val, _values, result ) -return val[0] if val[0] - result -end +module_eval(<<'.,.,', 'grammar.ry', 6) + def _reduce_1(val, _values, result) + return val[0] if val[0] + result + end .,., -module_eval <<'.,.,', 'grammar.ry', 18 - def _reduce_2( val, _values, result ) +module_eval(<<'.,.,', 'grammar.ry', 8) + def _reduce_2(val, _values, result) if val[1].nil? result = val[0] - else - if val[0].nil? - result = val[1] - else - result = [ val[0], val[1] ].flatten - end - end - result + else + if val[0].nil? + result = val[1] + else + result = [ val[0], val[1] ].flatten + end + end + result end .,., -module_eval <<'.,.,', 'grammar.ry', 20 - def _reduce_3( val, _values, result ) -result = [val[0]] - result -end +module_eval(<<'.,.,', 'grammar.ry', 20) + def _reduce_3(val, _values, result) + result = [val[0]] + result + end .,., -module_eval <<'.,.,', 'grammar.ry', 21 - def _reduce_4( val, _values, result ) -result = nil - result -end +module_eval(<<'.,.,', 'grammar.ry', 21) + def _reduce_4(val, _values, result) + result = nil + result + end .,., # reduce 5 omitted -module_eval <<'.,.,', 'grammar.ry', 25 - def _reduce_6( val, _values, result ) -result = nil - result -end +module_eval(<<'.,.,', 'grammar.ry', 25) + def _reduce_6(val, _values, result) + result = nil + result + end .,., -module_eval <<'.,.,', 'grammar.ry', 31 - def _reduce_7( val, _values, result ) +module_eval(<<'.,.,', 'grammar.ry', 29) + def _reduce_7(val, _values, result) result = Nagios::Base.create(val[1],val[4]) - result + result end .,., # reduce 8 omitted -module_eval <<'.,.,', 'grammar.ry', 40 - def _reduce_9( val, _values, result ) +module_eval(<<'.,.,', 'grammar.ry', 35) + def _reduce_9(val, _values, result) val[1].each {|p,v| val[0][p] = v - } - result = val[0] - result + } + result = val[0] + result end .,., -module_eval <<'.,.,', 'grammar.ry', 42 - def _reduce_10( val, _values, result ) -result = {val[0] => val[1]} - result -end +module_eval(<<'.,.,', 'grammar.ry', 42) + def _reduce_10(val, _values, result) + result = {val[0] => val[1]} + result + end .,., # reduce 11 omitted # reduce 12 omitted # reduce 13 omitted # reduce 14 omitted -def _reduce_none( val, _values, result ) - result +def _reduce_none(val, _values, result) + val[0] end - end - -end + end # class Parser + end # module Nagios