summaryrefslogtreecommitdiff
path: root/test/racc/regress/machete
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2019-05-13 21:25:22 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2019-06-19 18:17:25 +0900
commit1a2546c2be839baa7d0a50dc056d4d6987d26852 (patch)
tree19fef5d8b8d96452a51ab68e8093ea895192ca27 /test/racc/regress/machete
parentcbe06cd3501fdadd0e6e63094da2973484d70b0b (diff)
Backport racc-1.4.15 from upstream.
Diffstat (limited to 'test/racc/regress/machete')
-rw-r--r--test/racc/regress/machete833
1 files changed, 833 insertions, 0 deletions
diff --git a/test/racc/regress/machete b/test/racc/regress/machete
new file mode 100644
index 0000000000..83d73899ec
--- /dev/null
+++ b/test/racc/regress/machete
@@ -0,0 +1,833 @@
+#
+# DO NOT MODIFY!!!!
+# This file is automatically generated by Racc 1.4.14
+# from Racc grammer file "".
+#
+
+require 'racc/parser.rb'
+module Machete
+ class Parser < Racc::Parser
+
+module_eval(<<'...end machete.y/module_eval...', 'machete.y', 175)
+
+include Matchers
+
+class SyntaxError < StandardError; end
+
+def parse(input)
+ @input = input
+ @pos = 0
+
+ do_parse
+end
+
+private
+
+def integer_value(value)
+ if value =~ /^0[bB]/
+ value[2..-1].to_i(2)
+ elsif value =~ /^0[oO]/
+ value[2..-1].to_i(8)
+ elsif value =~ /^0[dD]/
+ value[2..-1].to_i(10)
+ elsif value =~ /^0[xX]/
+ value[2..-1].to_i(16)
+ elsif value =~ /^0/
+ value.to_i(8)
+ else
+ value.to_i
+ end
+end
+
+def symbol_value(value)
+ value[1..-1].to_sym
+end
+
+def string_value(value)
+ quote = value[0..0]
+ if quote == "'"
+ value[1..-2].gsub("\\\\", "\\").gsub("\\'", "'")
+ elsif quote == '"'
+ value[1..-2].
+ gsub("\\\\", "\\").
+ gsub('\\"', '"').
+ gsub("\\n", "\n").
+ gsub("\\t", "\t").
+ gsub("\\r", "\r").
+ gsub("\\f", "\f").
+ gsub("\\v", "\v").
+ gsub("\\a", "\a").
+ gsub("\\e", "\e").
+ gsub("\\b", "\b").
+ gsub("\\s", "\s").
+ gsub(/\\([0-7]{1,3})/) { $1.to_i(8).chr }.
+ gsub(/\\x([0-9a-fA-F]{1,2})/) { $1.to_i(16).chr }
+ else
+ raise "Unknown quote: #{quote.inspect}."
+ end
+end
+
+REGEXP_OPTIONS = {
+ 'i' => Regexp::IGNORECASE,
+ 'm' => Regexp::MULTILINE,
+ 'x' => Regexp::EXTENDED
+}
+
+def regexp_value(value)
+ /\A\/(.*)\/([imx]*)\z/ =~ value
+ pattern, options = $1, $2
+
+ Regexp.new(pattern, options.chars.map { |ch| REGEXP_OPTIONS[ch] }.inject(:|))
+end
+
+# "^" needs to be here because if it were among operators recognized by
+# METHOD_NAME, "^=" would be recognized as two tokens.
+SIMPLE_TOKENS = [
+ "|",
+ "<",
+ ">",
+ ",",
+ "=",
+ "^=",
+ "^",
+ "$=",
+ "[",
+ "]",
+ "*=",
+ "*",
+ "+",
+ "?",
+ "{",
+ "}"
+]
+
+COMPLEX_TOKENS = [
+ [:NIL, /^nil/],
+ [:TRUE, /^true/],
+ [:FALSE, /^false/],
+ # INTEGER needs to be before METHOD_NAME, otherwise e.g. "+1" would be
+ # recognized as two tokens.
+ [
+ :INTEGER,
+ /^
+ [+-]? # sign
+ (
+ 0[bB][01]+(_[01]+)* # binary (prefixed)
+ |
+ 0[oO][0-7]+(_[0-7]+)* # octal (prefixed)
+ |
+ 0[dD]\d+(_\d+)* # decimal (prefixed)
+ |
+ 0[xX][0-9a-fA-F]+(_[0-9a-fA-F]+)* # hexadecimal (prefixed)
+ |
+ 0[0-7]*(_[0-7]+)* # octal (unprefixed)
+ |
+ [1-9]\d*(_\d+)* # decimal (unprefixed)
+ )
+ /x
+ ],
+ [
+ :SYMBOL,
+ /^
+ :
+ (
+ # class name
+ [A-Z][a-zA-Z0-9_]*
+ |
+ # regular method name
+ [a-z_][a-zA-Z0-9_]*[?!=]?
+ |
+ # instance variable name
+ @[a-zA-Z_][a-zA-Z0-9_]*
+ |
+ # class variable name
+ @@[a-zA-Z_][a-zA-Z0-9_]*
+ |
+ # operator (sorted by length, then alphabetically)
+ (<=>|===|\[\]=|\*\*|\+@|-@|<<|<=|==|=~|>=|>>|\[\]|[%&*+\-\/<>^`|~])
+ )
+ /x
+ ],
+ [
+ :STRING,
+ /^
+ (
+ ' # sinqle-quoted string
+ (
+ \\[\\'] # escape
+ |
+ [^'] # regular character
+ )*
+ '
+ |
+ " # double-quoted string
+ (
+ \\ # escape
+ (
+ [\\"ntrfvaebs] # one-character escape
+ |
+ [0-7]{1,3} # octal number escape
+ |
+ x[0-9a-fA-F]{1,2} # hexadecimal number escape
+ )
+ |
+ [^"] # regular character
+ )*
+ "
+ )
+ /x
+ ],
+ [
+ :REGEXP,
+ /^
+ \/
+ (
+ \\ # escape
+ (
+ [\\\/ntrfvaebs\(\)\[\]\{\}\-\.\?\*\+\|\^\$] # one-character escape
+ |
+ [0-7]{2,3} # octal number escape
+ |
+ x[0-9a-fA-F]{1,2} # hexadecimal number escape
+ )
+ |
+ [^\/] # regular character
+ )*
+ \/
+ [imx]*
+ /x
+ ],
+ # ANY, EVEN and ODD need to be before METHOD_NAME, otherwise they would be
+ # recognized as method names.
+ [:ANY, /^any/],
+ [:EVEN, /^even/],
+ [:ODD, /^odd/],
+ # We exclude "*", "+", "<", ">", "^" and "|" from method names since they are
+ # lexed as simple tokens. This is because they have also other meanings in
+ # Machette patterns beside Ruby method names.
+ [
+ :METHOD_NAME,
+ /^
+ (
+ # regular name
+ [a-z_][a-zA-Z0-9_]*[?!=]?
+ |
+ # operator (sorted by length, then alphabetically)
+ (<=>|===|\[\]=|\*\*|\+@|-@|<<|<=|==|=~|>=|>>|\[\]|[%&\-\/`~])
+ )
+ /x
+ ],
+ [:CLASS_NAME, /^[A-Z][a-zA-Z0-9_]*/]
+]
+
+def next_token
+ skip_whitespace
+
+ return false if remaining_input.empty?
+
+ # Complex tokens need to be before simple tokens, otherwise e.g. "<<" would be
+ # recognized as two tokens.
+
+ COMPLEX_TOKENS.each do |type, regexp|
+ if remaining_input =~ regexp
+ @pos += $&.length
+ return [type, $&]
+ end
+ end
+
+ SIMPLE_TOKENS.each do |token|
+ if remaining_input[0...token.length] == token
+ @pos += token.length
+ return [token, token]
+ end
+ end
+
+ raise SyntaxError, "Unexpected character: #{remaining_input[0..0].inspect}."
+end
+
+def skip_whitespace
+ if remaining_input =~ /\A^[ \t\r\n]+/
+ @pos += $&.length
+ end
+end
+
+def remaining_input
+ @input[@pos..-1]
+end
+
+def on_error(error_token_id, error_value, value_stack)
+ raise SyntaxError, "Unexpected token: #{error_value.inspect}."
+end
+...end machete.y/module_eval...
+##### State transition tables begin ###
+
+racc_action_table = [
+ 75, 24, 9, 10, 11, 12, 13, 14, 15, 16,
+ 66, 67, 68, 7, 48, 9, 10, 11, 12, 13,
+ 14, 15, 16, 17, 74, 8, 7, 76, 9, 10,
+ 11, 12, 13, 14, 15, 16, 71, 18, 8, 7,
+ 72, 9, 10, 11, 12, 13, 14, 15, 16, 73,
+ 70, 8, 7, 19, 9, 10, 11, 12, 13, 14,
+ 15, 16, 69, 18, 8, 7, 30, 31, 32, 51,
+ 52, 53, 54, 33, 34, 35, 29, 8, 41, 38,
+ 39, 77, 30, 31, 32, 47, 36, 37, 40, 33,
+ 34, 35, 29, nil, 41, 38, 39, 18, 49, 50,
+ 62, 63, 36, 37, 40, 43, 44, 55, 64, 65,
+ 45, 46, 57, 58, nil, nil, nil, nil, nil, 56 ]
+
+racc_action_check = [
+ 70, 17, 0, 0, 0, 0, 0, 0, 0, 0,
+ 54, 54, 54, 0, 22, 8, 8, 8, 8, 8,
+ 8, 8, 8, 1, 70, 0, 8, 71, 18, 18,
+ 18, 18, 18, 18, 18, 18, 56, 1, 8, 18,
+ 57, 48, 48, 48, 48, 48, 48, 48, 48, 58,
+ 55, 18, 48, 7, 51, 51, 51, 51, 51, 51,
+ 51, 51, 55, 61, 48, 51, 19, 19, 19, 28,
+ 28, 28, 28, 19, 19, 19, 19, 51, 19, 19,
+ 19, 75, 50, 50, 50, 21, 19, 19, 19, 50,
+ 50, 50, 50, nil, 50, 50, 50, 20, 26, 26,
+ 52, 52, 50, 50, 50, 20, 20, 46, 53, 53,
+ 20, 20, 46, 46, nil, nil, nil, nil, nil, 46 ]
+
+racc_action_pointer = [
+ 0, 23, nil, nil, nil, nil, nil, 38, 13, nil,
+ nil, nil, nil, nil, nil, nil, nil, 1, 26, 64,
+ 83, 59, -3, nil, nil, nil, 82, nil, 51, nil,
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, nil, nil, nil, nil, nil, 102, nil, 39, nil,
+ 80, 52, 94, 102, 4, 33, 31, 11, 20, nil,
+ nil, 49, nil, nil, nil, nil, nil, nil, nil, nil,
+ -5, -2, nil, nil, nil, 52, nil, nil ]
+
+racc_action_default = [
+ -56, -56, -1, -3, -4, -5, -6, -7, -33, -48,
+ -49, -50, -51, -52, -53, -54, -55, -56, -56, -56,
+ -37, -56, -34, -35, 78, -2, -56, -9, -56, -19,
+ -20, -21, -22, -23, -24, -25, -26, -27, -28, -29,
+ -30, -31, -38, -39, -40, -41, -56, -32, -56, -8,
+ -56, -56, -56, -56, -56, -56, -56, -56, -56, -36,
+ -10, -11, -12, -15, -13, -16, -14, -17, -18, -42,
+ -56, -56, -46, -47, -43, -56, -44, -45 ]
+
+racc_goto_table = [
+ 1, 23, 27, 21, 22, 42, 25, 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, 60, nil, nil, nil, nil, nil, nil,
+ nil, 59, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 61 ]
+
+racc_goto_check = [
+ 1, 12, 8, 10, 11, 13, 2, 7, 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, 8, nil, nil, nil, nil, nil, nil,
+ nil, 12, nil, nil, nil, nil, nil, nil, nil, nil,
+ nil, 1 ]
+
+racc_goto_pointer = [
+ nil, 0, -12, nil, nil, nil, nil, -12, -17, nil,
+ -5, -4, -7, -15 ]
+
+racc_goto_default = [
+ nil, 20, 2, 3, 4, 5, 6, nil, nil, 28,
+ nil, nil, nil, nil ]
+
+racc_reduce_table = [
+ 0, 0, :racc_error,
+ 1, 31, :_reduce_none,
+ 3, 31, :_reduce_2,
+ 1, 32, :_reduce_none,
+ 1, 32, :_reduce_none,
+ 1, 32, :_reduce_none,
+ 1, 32, :_reduce_none,
+ 1, 33, :_reduce_7,
+ 4, 33, :_reduce_8,
+ 1, 37, :_reduce_none,
+ 3, 37, :_reduce_10,
+ 3, 38, :_reduce_11,
+ 3, 38, :_reduce_12,
+ 3, 38, :_reduce_13,
+ 3, 38, :_reduce_14,
+ 3, 38, :_reduce_15,
+ 3, 38, :_reduce_16,
+ 3, 38, :_reduce_17,
+ 3, 38, :_reduce_18,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 1, 39, :_reduce_none,
+ 3, 34, :_reduce_32,
+ 0, 40, :_reduce_33,
+ 1, 40, :_reduce_none,
+ 1, 41, :_reduce_35,
+ 3, 41, :_reduce_36,
+ 1, 42, :_reduce_none,
+ 2, 42, :_reduce_38,
+ 1, 43, :_reduce_39,
+ 1, 43, :_reduce_40,
+ 1, 43, :_reduce_41,
+ 3, 43, :_reduce_42,
+ 4, 43, :_reduce_43,
+ 4, 43, :_reduce_44,
+ 5, 43, :_reduce_45,
+ 3, 43, :_reduce_46,
+ 3, 43, :_reduce_47,
+ 1, 35, :_reduce_48,
+ 1, 35, :_reduce_49,
+ 1, 35, :_reduce_50,
+ 1, 35, :_reduce_51,
+ 1, 35, :_reduce_52,
+ 1, 35, :_reduce_53,
+ 1, 35, :_reduce_54,
+ 1, 36, :_reduce_55 ]
+
+racc_reduce_n = 56
+
+racc_shift_n = 78
+
+racc_token_table = {
+ false => 0,
+ :error => 1,
+ :NIL => 2,
+ :TRUE => 3,
+ :FALSE => 4,
+ :INTEGER => 5,
+ :SYMBOL => 6,
+ :STRING => 7,
+ :REGEXP => 8,
+ :ANY => 9,
+ :EVEN => 10,
+ :ODD => 11,
+ :METHOD_NAME => 12,
+ :CLASS_NAME => 13,
+ "|" => 14,
+ "<" => 15,
+ ">" => 16,
+ "," => 17,
+ "=" => 18,
+ "^=" => 19,
+ "$=" => 20,
+ "*=" => 21,
+ "*" => 22,
+ "+" => 23,
+ "^" => 24,
+ "[" => 25,
+ "]" => 26,
+ "?" => 27,
+ "{" => 28,
+ "}" => 29 }
+
+racc_nt_base = 30
+
+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",
+ "NIL",
+ "TRUE",
+ "FALSE",
+ "INTEGER",
+ "SYMBOL",
+ "STRING",
+ "REGEXP",
+ "ANY",
+ "EVEN",
+ "ODD",
+ "METHOD_NAME",
+ "CLASS_NAME",
+ "\"|\"",
+ "\"<\"",
+ "\">\"",
+ "\",\"",
+ "\"=\"",
+ "\"^=\"",
+ "\"$=\"",
+ "\"*=\"",
+ "\"*\"",
+ "\"+\"",
+ "\"^\"",
+ "\"[\"",
+ "\"]\"",
+ "\"?\"",
+ "\"{\"",
+ "\"}\"",
+ "$start",
+ "expression",
+ "primary",
+ "node",
+ "array",
+ "literal",
+ "any",
+ "attrs",
+ "attr",
+ "method_name",
+ "items_opt",
+ "items",
+ "item",
+ "quantifier" ]
+
+Racc_debug_parser = false
+
+##### State transition tables end #####
+
+# reduce 0 omitted
+
+# reduce 1 omitted
+
+module_eval(<<'.,.,', 'machete.y', 44)
+ def _reduce_2(val, _values, result)
+ result = if val[0].is_a?(ChoiceMatcher)
+ ChoiceMatcher.new(val[0].alternatives << val[2])
+ else
+ ChoiceMatcher.new([val[0], val[2]])
+ end
+
+ result
+ end
+.,.,
+
+# reduce 3 omitted
+
+# reduce 4 omitted
+
+# reduce 5 omitted
+
+# reduce 6 omitted
+
+module_eval(<<'.,.,', 'machete.y', 57)
+ def _reduce_7(val, _values, result)
+ result = NodeMatcher.new(val[0].to_sym)
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 60)
+ def _reduce_8(val, _values, result)
+ result = NodeMatcher.new(val[0].to_sym, val[2])
+
+ result
+ end
+.,.,
+
+# reduce 9 omitted
+
+module_eval(<<'.,.,', 'machete.y', 64)
+ def _reduce_10(val, _values, result)
+ result = val[0].merge(val[2])
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 66)
+ def _reduce_11(val, _values, result)
+ result = { val[0].to_sym => val[2] }
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 68)
+ def _reduce_12(val, _values, result)
+ result = {
+ val[0].to_sym => SymbolRegexpMatcher.new(
+ Regexp.new("^" + Regexp.escape(symbol_value(val[2]).to_s))
+ )
+ }
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 75)
+ def _reduce_13(val, _values, result)
+ result = {
+ val[0].to_sym => SymbolRegexpMatcher.new(
+ Regexp.new(Regexp.escape(symbol_value(val[2]).to_s) + "$")
+ )
+ }
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 82)
+ def _reduce_14(val, _values, result)
+ result = {
+ val[0].to_sym => SymbolRegexpMatcher.new(
+ Regexp.new(Regexp.escape(symbol_value(val[2]).to_s))
+ )
+ }
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 89)
+ def _reduce_15(val, _values, result)
+ result = {
+ val[0].to_sym => StringRegexpMatcher.new(
+ Regexp.new("^" + Regexp.escape(string_value(val[2])))
+ )
+ }
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 96)
+ def _reduce_16(val, _values, result)
+ result = {
+ val[0].to_sym => StringRegexpMatcher.new(
+ Regexp.new(Regexp.escape(string_value(val[2])) + "$")
+ )
+ }
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 103)
+ def _reduce_17(val, _values, result)
+ result = {
+ val[0].to_sym => StringRegexpMatcher.new(
+ Regexp.new(Regexp.escape(string_value(val[2])))
+ )
+ }
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 110)
+ def _reduce_18(val, _values, result)
+ result = {
+ val[0].to_sym => IndifferentRegexpMatcher.new(
+ Regexp.new(regexp_value(val[2]))
+ )
+ }
+
+ result
+ end
+.,.,
+
+# reduce 19 omitted
+
+# reduce 20 omitted
+
+# reduce 21 omitted
+
+# reduce 22 omitted
+
+# reduce 23 omitted
+
+# reduce 24 omitted
+
+# reduce 25 omitted
+
+# reduce 26 omitted
+
+# reduce 27 omitted
+
+# reduce 28 omitted
+
+# reduce 29 omitted
+
+# reduce 30 omitted
+
+# reduce 31 omitted
+
+module_eval(<<'.,.,', 'machete.y', 134)
+ def _reduce_32(val, _values, result)
+ result = ArrayMatcher.new(val[1])
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 136)
+ def _reduce_33(val, _values, result)
+ result = []
+ result
+ end
+.,.,
+
+# reduce 34 omitted
+
+module_eval(<<'.,.,', 'machete.y', 139)
+ def _reduce_35(val, _values, result)
+ result = [val[0]]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 140)
+ def _reduce_36(val, _values, result)
+ result = val[0] << val[2]
+ result
+ end
+.,.,
+
+# reduce 37 omitted
+
+module_eval(<<'.,.,', 'machete.y', 143)
+ def _reduce_38(val, _values, result)
+ result = Quantifier.new(val[0], *val[1])
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 145)
+ def _reduce_39(val, _values, result)
+ result = [0, nil, 1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 146)
+ def _reduce_40(val, _values, result)
+ result = [1, nil, 1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 147)
+ def _reduce_41(val, _values, result)
+ result = [0, 1, 1]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 149)
+ def _reduce_42(val, _values, result)
+ result = [integer_value(val[1]), integer_value(val[1]), 1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 152)
+ def _reduce_43(val, _values, result)
+ result = [integer_value(val[1]), nil, 1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 155)
+ def _reduce_44(val, _values, result)
+ result = [0, integer_value(val[2]), 1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 158)
+ def _reduce_45(val, _values, result)
+ result = [integer_value(val[1]), integer_value(val[3]), 1]
+
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 160)
+ def _reduce_46(val, _values, result)
+ result = [0, nil, 2]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 161)
+ def _reduce_47(val, _values, result)
+ result = [1, nil, 2]
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 163)
+ def _reduce_48(val, _values, result)
+ result = LiteralMatcher.new(nil)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 164)
+ def _reduce_49(val, _values, result)
+ result = LiteralMatcher.new(true)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 165)
+ def _reduce_50(val, _values, result)
+ result = LiteralMatcher.new(false)
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 166)
+ def _reduce_51(val, _values, result)
+ result = LiteralMatcher.new(integer_value(val[0]))
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 167)
+ def _reduce_52(val, _values, result)
+ result = LiteralMatcher.new(symbol_value(val[0]))
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 168)
+ def _reduce_53(val, _values, result)
+ result = LiteralMatcher.new(string_value(val[0]))
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 169)
+ def _reduce_54(val, _values, result)
+ result = LiteralMatcher.new(regexp_value(val[0]))
+ result
+ end
+.,.,
+
+module_eval(<<'.,.,', 'machete.y', 171)
+ def _reduce_55(val, _values, result)
+ result = AnyMatcher.new
+ result
+ end
+.,.,
+
+def _reduce_none(val, _values, result)
+ val[0]
+end
+
+ end # class Parser
+ end # module Machete