racc 1.4.14 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +5 -5
  2. data/COPYING +22 -515
  3. data/README.ja.rdoc +3 -4
  4. data/README.rdoc +6 -8
  5. data/Rakefile +32 -53
  6. data/bin/racc +39 -27
  7. data/ext/racc/com/headius/racc/Cparse.java +66 -23
  8. data/ext/racc/{cparse.c → cparse/cparse.c} +82 -47
  9. data/ext/racc/{extconf.rb → cparse/extconf.rb} +2 -1
  10. data/lib/racc/compat.rb +5 -4
  11. data/lib/racc/debugflags.rb +5 -4
  12. data/lib/racc/exception.rb +5 -4
  13. data/lib/racc/grammar.rb +25 -22
  14. data/lib/racc/grammarfileparser.rb +10 -8
  15. data/lib/racc/info.rb +6 -5
  16. data/lib/racc/iset.rb +6 -5
  17. data/lib/racc/logfilegenerator.rb +6 -5
  18. data/lib/racc/parser-text.rb +20 -23
  19. data/lib/racc/parser.rb +20 -23
  20. data/lib/racc/parserfilegenerator.rb +10 -10
  21. data/lib/racc/sourcetext.rb +5 -4
  22. data/lib/racc/state.rb +13 -12
  23. data/lib/racc/statetransitiontable.rb +7 -6
  24. data/rdoc/ja/command.ja.html +1 -1
  25. data/sample/array.y +1 -1
  26. data/sample/array2.y +1 -1
  27. data/sample/calc-ja.y +2 -2
  28. data/sample/calc.y +2 -2
  29. data/sample/conflict.y +1 -1
  30. data/sample/hash.y +1 -1
  31. data/sample/lalr.y +1 -1
  32. data/sample/lists.y +1 -1
  33. data/sample/syntax.y +1 -1
  34. data/sample/yyerr.y +1 -1
  35. data/test/assets/cadenza.y +170 -0
  36. data/test/assets/cast.y +926 -0
  37. data/test/assets/csspool.y +729 -0
  38. data/test/assets/edtf.y +583 -0
  39. data/test/assets/huia.y +318 -0
  40. data/test/assets/intp.y +4 -4
  41. data/test/assets/journey.y +47 -0
  42. data/test/assets/liquor.y +313 -0
  43. data/test/assets/machete.y +423 -0
  44. data/test/assets/macruby.y +2197 -0
  45. data/test/assets/mailp.y +27 -27
  46. data/test/assets/mediacloth.y +599 -0
  47. data/test/assets/mof.y +649 -0
  48. data/test/assets/namae.y +302 -0
  49. data/test/assets/nasl.y +626 -0
  50. data/test/assets/nokogiri-css.y +255 -0
  51. data/test/assets/nullbug2.y +2 -2
  52. data/test/assets/opal.y +1807 -0
  53. data/test/assets/php_serialization.y +98 -0
  54. data/test/assets/recv.y +20 -20
  55. data/test/assets/riml.y +665 -0
  56. data/test/assets/ruby18.y +1943 -0
  57. data/test/assets/ruby19.y +2174 -0
  58. data/test/assets/ruby20.y +2350 -0
  59. data/test/assets/ruby21.y +2359 -0
  60. data/test/assets/ruby22.y +2381 -0
  61. data/test/assets/syntax.y +1 -1
  62. data/test/assets/tp_plus.y +622 -0
  63. data/test/assets/twowaysql.y +278 -0
  64. data/test/helper.rb +68 -41
  65. data/test/regress/cadenza +796 -0
  66. data/test/regress/cast +3428 -0
  67. data/test/regress/csspool +2314 -0
  68. data/test/regress/edtf +1794 -0
  69. data/test/regress/huia +1392 -0
  70. data/test/regress/journey +222 -0
  71. data/test/regress/liquor +885 -0
  72. data/test/regress/machete +833 -0
  73. data/test/regress/mediacloth +1463 -0
  74. data/test/regress/mof +1368 -0
  75. data/test/regress/namae +634 -0
  76. data/test/regress/nasl +2058 -0
  77. data/test/regress/nokogiri-css +836 -0
  78. data/test/regress/opal +6431 -0
  79. data/test/regress/php_serialization +336 -0
  80. data/test/regress/riml +3283 -0
  81. data/test/regress/ruby18 +6344 -0
  82. data/test/regress/ruby22 +7460 -0
  83. data/test/regress/tp_plus +1933 -0
  84. data/test/regress/twowaysql +556 -0
  85. data/test/test_chk_y.rb +1 -0
  86. data/test/test_racc_command.rb +177 -2
  87. data/test/test_scan_y.rb +1 -0
  88. data/test/testscanner.rb +1 -1
  89. metadata +59 -83
  90. data/DEPENDS +0 -4
  91. data/Manifest.txt +0 -102
  92. data/bin/racc2y +0 -195
  93. data/bin/y2racc +0 -339
  94. data/ext/racc/depend +0 -1
  95. data/fastcache/extconf.rb +0 -2
  96. data/fastcache/fastcache.c +0 -185
  97. data/misc/dist.sh +0 -31
  98. data/setup.rb +0 -1587
  99. data/tasks/doc.rb +0 -12
  100. data/tasks/email.rb +0 -55
@@ -0,0 +1,1392 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by Racc 1.5.0
4
+ # from Racc grammar file "".
5
+ #
6
+
7
+ require 'racc/parser.rb'
8
+ module Huia
9
+ class Parser < Racc::Parser
10
+
11
+ module_eval(<<'...end huia.y/module_eval...', 'huia.y', 211)
12
+
13
+ attr_accessor :lexer, :scopes, :state
14
+
15
+ def initialize lexer
16
+ @lexer = lexer
17
+ @state = []
18
+ @scopes = []
19
+ push_scope
20
+ end
21
+
22
+ def ast
23
+ @ast ||= do_parse
24
+ @scopes.first
25
+ end
26
+
27
+ def on_error t, val, vstack
28
+ line = lexer.line
29
+ col = lexer.column
30
+ message = "Unexpected #{token_to_str t} at #{lexer.filename} line #{line}:#{col}:\n\n"
31
+
32
+ start = line - 5 > 0 ? line - 5 : 0
33
+ i_size = line.to_s.size
34
+ (start..(start + 5)).each do |i|
35
+ message << sprintf("\t%#{i_size}d: %s\n", i, lexer.get_line(i))
36
+ message << "\t#{' ' * i_size} #{'-' * (col - 1)}^\n" if i == line
37
+ end
38
+
39
+ raise SyntaxError, message
40
+ end
41
+
42
+ def next_token
43
+ nt = lexer.next_computed_token
44
+ # just use a state stack for now, we'll have to do something
45
+ # more sophisticated soon.
46
+ if nt && nt.first == :state
47
+ if nt.last
48
+ state.push << nt.last
49
+ else
50
+ state.pop
51
+ end
52
+ next_token
53
+ else
54
+ nt
55
+ end
56
+ end
57
+
58
+ def push_scope
59
+ new_scope = Huia::AST::Scope.new scope
60
+ new_scope.file = lexer.filename
61
+ new_scope.line = lexer.line
62
+ new_scope.column = lexer.column
63
+ scopes.push new_scope
64
+ new_scope
65
+ end
66
+
67
+ def pop_scope
68
+ scopes.pop
69
+ end
70
+
71
+ def scope
72
+ scopes.last
73
+ end
74
+
75
+ def binary left, right, method
76
+ node(:MethodCall, left, node(:CallSignature, method, [right]))
77
+ end
78
+
79
+ def unary left, method
80
+ node(:MethodCall, left, node(:CallSignature, method))
81
+ end
82
+
83
+ def node type, *args
84
+ Huia::AST.const_get(type).new(*args).tap do |n|
85
+ n.file = lexer.filename
86
+ n.line = lexer.line
87
+ n.column = lexer.column
88
+ end
89
+ end
90
+ alias n node
91
+
92
+ def allocate_local name
93
+ node(:Variable, name).tap do |n|
94
+ scope.allocate_local n
95
+ end
96
+ end
97
+
98
+ def allocate_local_assignment name, value
99
+ node(:Assignment, name, value).tap do |n|
100
+ scope.allocate_local n
101
+ end
102
+ end
103
+
104
+ def this_closure
105
+ allocate_local('@')
106
+ end
107
+
108
+ def scope_instance
109
+ node(:ScopeInstance, scope)
110
+ end
111
+
112
+ def constant name
113
+ return scope_instance if name == 'self'
114
+ node(:Constant, name)
115
+ end
116
+
117
+ def to_string expr
118
+ node(:MethodCall, expr, node(:CallSignature, 'toString'))
119
+ end
120
+ ...end huia.y/module_eval...
121
+ ##### State transition tables begin ###
122
+
123
+ clist = [
124
+ '81,106,40,37,61,62,123,153,135,71,72,77,155,178,179,39,164,37,37,5,6',
125
+ '137,152,73,74,75,36,36,76,28,154,80,166,172,180,22,23,37,26,27,182,60',
126
+ '63,19,164,40,36,61,62,186,,33,71,72,77,,,134,39,133,129,37,5,6,,,73',
127
+ '74,75,,36,76,28,134,80,169,129,,22,23,,26,27,,60,63,19,,40,,61,62,,',
128
+ '33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60',
129
+ '63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80',
130
+ ',,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73',
131
+ '74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72',
132
+ '77,,114,,39,,,37,,,113,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63',
133
+ '19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,',
134
+ ',22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74',
135
+ '75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77',
136
+ ',,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40',
137
+ ',61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23',
138
+ ',26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36',
139
+ '76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,',
140
+ ',37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62',
141
+ ',,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27',
142
+ ',60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28',
143
+ ',80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,',
144
+ ',,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71',
145
+ '72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19',
146
+ ',40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22',
147
+ '23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75',
148
+ ',36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,',
149
+ '39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61',
150
+ '62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26',
151
+ '27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76',
152
+ '28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37',
153
+ ',,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33',
154
+ '71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63',
155
+ '19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,',
156
+ ',22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74',
157
+ '75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77',
158
+ ',,160,39,,,37,5,6,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19',
159
+ ',40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22',
160
+ '23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75',
161
+ ',36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,',
162
+ '39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61',
163
+ '62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26',
164
+ '27,,60,63,19,,40,,61,62,,,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76',
165
+ '28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62,,,33,71,72,77,,,160,39,',
166
+ ',37,5,6,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27,,60,63,19,,40,,61,62',
167
+ ',,33,71,72,77,,,,39,,,37,,,,,73,74,75,,36,76,28,,80,,,,22,23,,26,27',
168
+ ',60,63,19,85,86,87,88,,84,,33,89,,,,,84,91,5,6,85,86,87,88,,91,,,89',
169
+ ',,,,84,,92,93,94,95,96,97,98,91,92,93,94,95,96,97,98,,90,,,,,,,,,92',
170
+ '93,94,95,96,97,98,,90,85,86,87,88,,,,,89,,,,,84,,85,86,87,88,156,,,91',
171
+ '89,,,,,84,,,,,,,,,91,,,92,93,94,95,96,97,98,,90,,,,,,,92,93,94,95,96',
172
+ '97,98,,90,85,86,87,88,,,,,89,,,,,84,,165,85,86,87,88,,,91,,89,,,,167',
173
+ '84,,,,,,,,,91,,92,93,94,95,96,97,98,,90,,,,,,,,92,93,94,95,96,97,98',
174
+ ',90,85,86,87,88,,,,,89,,,,,84,,85,86,87,88,,,,91,89,,,,,84,,,,,,,,,91',
175
+ ',,92,93,94,95,96,97,98,,90,,,,,,,92,93,94,95,96,97,98,,90,85,86,87,88',
176
+ ',,,,89,,,,,84,,85,86,87,88,,,,91,89,,,,,84,,,,,,,,,91,,,92,93,94,95',
177
+ '96,97,98,,90,,,,,,,92,93,94,95,96,97,98,,90,85,86,87,88,,,,,89,,,,,84',
178
+ ',85,86,87,88,,,,91,89,,,,,84,,,,,,,,,91,,,92,93,94,95,96,97,98,,90,',
179
+ ',,,,,92,93,94,95,96,97,98,,90,85,86,87,88,,,,,89,,,,,84,,85,86,87,88',
180
+ ',,,91,89,,,,,84,,,,,,,,,91,,,92,93,94,95,96,97,98,,90,,,,,,,92,93,94',
181
+ '95,96,97,98,,90,85,86,87,88,,,,,89,,160,,,84,,5,6,85,86,87,88,,91,,',
182
+ '89,,,,,84,,,,,,,,,91,92,93,94,95,96,97,98,,90,,,,,,,,,92,93,94,95,96',
183
+ '97,98,,90,85,86,87,88,,,,,89,,,,,84,,85,86,87,88,,,,91,89,,,,,84,,181',
184
+ ',,,,,,91,,,92,93,94,95,96,97,98,,90,,,,,,,92,93,94,95,96,97,98,,90,85',
185
+ '86,87,88,,,,,89,,,,,84,,85,86,87,88,,,,91,89,,,,,84,,,,,,,,,91,,,92',
186
+ '93,94,95,96,97,98,,90,,,,,,,92,93,94,95,96,97,98,,90,87,88,,,,,89,,',
187
+ ',,84,87,88,,,,,89,,91,,,84,,87,88,,,,,89,91,,,,84,,92,93,94,95,96,97',
188
+ '98,91,90,,,,92,93,94,95,96,97,98,,90,,,,,92,93,94,95,96,97,98,89,90',
189
+ '87,88,,84,,,89,,,,,84,91,,,,,,,,91,,,89,,,,,84,,92,93,94,95,96,97,98',
190
+ '91,92,93,94,95,96,97,98,,90,,89,,,,,84,,92,93,94,95,96,97,98,91,89,',
191
+ ',,,84,,,,,89,,,,91,84,,92,93,94,95,96,97,98,91,,,,,,,,92,93,94,95,96',
192
+ '97,98,,,,92,93,94,95,96,97,98' ]
193
+ racc_action_table = arr = ::Array.new(2249, nil)
194
+ idx = 0
195
+ clist.each do |str|
196
+ str.split(',', -1).each do |i|
197
+ arr[idx] = i.to_i unless i.empty?
198
+ idx += 1
199
+ end
200
+ end
201
+
202
+ clist = [
203
+ '1,33,1,34,1,1,40,100,81,1,1,1,102,161,161,1,112,33,1,1,1,84,100,1,1',
204
+ '1,33,1,1,1,102,1,121,131,163,1,1,84,1,1,178,1,1,1,179,0,84,0,0,183,',
205
+ '1,0,0,0,,,80,0,80,80,0,0,0,,,0,0,0,,0,0,0,128,0,128,128,,0,0,,0,0,,0',
206
+ '0,0,,19,,19,19,,,0,19,19,19,,,,19,,,19,,,,,19,19,19,,19,19,19,,19,,',
207
+ ',19,19,,19,19,,19,19,19,,23,,23,23,,,19,23,23,23,,,,23,,,23,,,,,23,23',
208
+ '23,,23,23,23,,23,,,,23,23,,23,23,,23,23,23,,27,,27,27,,,23,27,27,27',
209
+ ',,,27,,,27,,,,,27,27,27,,27,27,27,,27,,,,27,27,,27,27,,27,27,27,,37',
210
+ ',37,37,,,27,37,37,37,,37,,37,,,37,,,37,,37,37,37,,37,37,37,,37,,,,37',
211
+ '37,,37,37,,37,37,37,,39,,39,39,,,37,39,39,39,,,,39,,,39,,,,,39,39,39',
212
+ ',39,39,39,,39,,,,39,39,,39,39,,39,39,39,,60,,60,60,,,39,60,60,60,,,',
213
+ '60,,,60,,,,,60,60,60,,60,60,60,,60,,,,60,60,,60,60,,60,60,60,,61,,61',
214
+ '61,,,60,61,61,61,,,,61,,,61,,,,,61,61,61,,61,61,61,,61,,,,61,61,,61',
215
+ '61,,61,61,61,,62,,62,62,,,61,62,62,62,,,,62,,,62,,,,,62,62,62,,62,62',
216
+ '62,,62,,,,62,62,,62,62,,62,62,62,,63,,63,63,,,62,63,63,63,,,,63,,,63',
217
+ ',,,,63,63,63,,63,63,63,,63,,,,63,63,,63,63,,63,63,63,,85,,85,85,,,63',
218
+ '85,85,85,,,,85,,,85,,,,,85,85,85,,85,85,85,,85,,,,85,85,,85,85,,85,85',
219
+ '85,,86,,86,86,,,85,86,86,86,,,,86,,,86,,,,,86,86,86,,86,86,86,,86,,',
220
+ ',86,86,,86,86,,86,86,86,,87,,87,87,,,86,87,87,87,,,,87,,,87,,,,,87,87',
221
+ '87,,87,87,87,,87,,,,87,87,,87,87,,87,87,87,,88,,88,88,,,87,88,88,88',
222
+ ',,,88,,,88,,,,,88,88,88,,88,88,88,,88,,,,88,88,,88,88,,88,88,88,,89',
223
+ ',89,89,,,88,89,89,89,,,,89,,,89,,,,,89,89,89,,89,89,89,,89,,,,89,89',
224
+ ',89,89,,89,89,89,,90,,90,90,,,89,90,90,90,,,,90,,,90,,,,,90,90,90,,90',
225
+ '90,90,,90,,,,90,90,,90,90,,90,90,90,,91,,91,91,,,90,91,91,91,,,,91,',
226
+ ',91,,,,,91,91,91,,91,91,91,,91,,,,91,91,,91,91,,91,91,91,,92,,92,92',
227
+ ',,91,92,92,92,,,,92,,,92,,,,,92,92,92,,92,92,92,,92,,,,92,92,,92,92',
228
+ ',92,92,92,,93,,93,93,,,92,93,93,93,,,,93,,,93,,,,,93,93,93,,93,93,93',
229
+ ',93,,,,93,93,,93,93,,93,93,93,,94,,94,94,,,93,94,94,94,,,,94,,,94,,',
230
+ ',,94,94,94,,94,94,94,,94,,,,94,94,,94,94,,94,94,94,,95,,95,95,,,94,95',
231
+ '95,95,,,,95,,,95,,,,,95,95,95,,95,95,95,,95,,,,95,95,,95,95,,95,95,95',
232
+ ',96,,96,96,,,95,96,96,96,,,,96,,,96,,,,,96,96,96,,96,96,96,,96,,,,96',
233
+ '96,,96,96,,96,96,96,,97,,97,97,,,96,97,97,97,,,,97,,,97,,,,,97,97,97',
234
+ ',97,97,97,,97,,,,97,97,,97,97,,97,97,97,,98,,98,98,,,97,98,98,98,,,',
235
+ '98,,,98,,,,,98,98,98,,98,98,98,,98,,,,98,98,,98,98,,98,98,98,,111,,111',
236
+ '111,,,98,111,111,111,,,111,111,,,111,111,111,,,111,111,111,,111,111',
237
+ '111,,111,,,,111,111,,111,111,,111,111,111,,123,,123,123,,,111,123,123',
238
+ '123,,,,123,,,123,,,,,123,123,123,,123,123,123,,123,,,,123,123,,123,123',
239
+ ',123,123,123,,129,,129,129,,,123,129,129,129,,,,129,,,129,,,,,129,129',
240
+ '129,,129,129,129,,129,,,,129,129,,129,129,,129,129,129,,153,,153,153',
241
+ ',,129,153,153,153,,,,153,,,153,,,,,153,153,153,,153,153,153,,153,,,',
242
+ '153,153,,153,153,,153,153,153,,155,,155,155,,,153,155,155,155,,,,155',
243
+ ',,155,,,,,155,155,155,,155,155,155,,155,,,,155,155,,155,155,,155,155',
244
+ '155,,156,,156,156,,,155,156,156,156,,,,156,,,156,,,,,156,156,156,,156',
245
+ '156,156,,156,,,,156,156,,156,156,,156,156,156,,157,,157,157,,,156,157',
246
+ '157,157,,,157,157,,,157,157,157,,,157,157,157,,157,157,157,,157,,,,157',
247
+ '157,,157,157,,157,157,157,,180,,180,180,,,157,180,180,180,,,,180,,,180',
248
+ ',,,,180,180,180,,180,180,180,,180,,,,180,180,,180,180,,180,180,180,3',
249
+ '3,3,3,,142,,180,3,,,,,3,142,3,3,99,99,99,99,,3,,,99,,,,,99,,142,142',
250
+ '142,142,142,142,142,99,3,3,3,3,3,3,3,,3,,,,,,,,,99,99,99,99,99,99,99',
251
+ ',99,101,101,101,101,,,,,101,,,,,101,,104,104,104,104,104,,,101,104,',
252
+ ',,,104,,,,,,,,,104,,,101,101,101,101,101,101,101,,101,,,,,,,104,104',
253
+ '104,104,104,104,104,,104,117,117,117,117,,,,,117,,,,,117,,117,122,122',
254
+ '122,122,,,117,,122,,,,122,122,,,,,,,,,122,,117,117,117,117,117,117,117',
255
+ ',117,,,,,,,,122,122,122,122,122,122,122,,122,144,144,144,144,,,,,144',
256
+ ',,,,144,,145,145,145,145,,,,144,145,,,,,145,,,,,,,,,145,,,144,144,144',
257
+ '144,144,144,144,,144,,,,,,,145,145,145,145,145,145,145,,145,146,146',
258
+ '146,146,,,,,146,,,,,146,,147,147,147,147,,,,146,147,,,,,147,,,,,,,,',
259
+ '147,,,146,146,146,146,146,146,146,,146,,,,,,,147,147,147,147,147,147',
260
+ '147,,147,148,148,148,148,,,,,148,,,,,148,,149,149,149,149,,,,148,149',
261
+ ',,,,149,,,,,,,,,149,,,148,148,148,148,148,148,148,,148,,,,,,,149,149',
262
+ '149,149,149,149,149,,149,150,150,150,150,,,,,150,,,,,150,,151,151,151',
263
+ '151,,,,150,151,,,,,151,,,,,,,,,151,,,150,150,150,150,150,150,150,,150',
264
+ ',,,,,,151,151,151,151,151,151,151,,151,158,158,158,158,,,,,158,,158',
265
+ ',,158,,158,158,168,168,168,168,,158,,,168,,,,,168,,,,,,,,,168,158,158',
266
+ '158,158,158,158,158,,158,,,,,,,,,168,168,168,168,168,168,168,,168,171',
267
+ '171,171,171,,,,,171,,,,,171,,173,173,173,173,,,,171,173,,,,,173,,171',
268
+ ',,,,,,173,,,171,171,171,171,171,171,171,,171,,,,,,,173,173,173,173,173',
269
+ '173,173,,173,175,175,175,175,,,,,175,,,,,175,,185,185,185,185,,,,175',
270
+ '185,,,,,185,,,,,,,,,185,,,175,175,175,175,175,175,175,,175,,,,,,,185',
271
+ '185,185,185,185,185,185,,185,125,125,,,,,125,,,,,125,126,126,,,,,126',
272
+ ',125,,,126,,138,138,,,,,138,126,,,,138,,125,125,125,125,125,125,125',
273
+ '138,125,,,,126,126,126,126,126,126,126,,126,,,,,138,138,138,138,138',
274
+ '138,138,124,138,139,139,,124,,,139,,,,,139,124,,,,,,,,139,,,127,,,,',
275
+ '127,,124,124,124,124,124,124,124,127,139,139,139,139,139,139,139,,139',
276
+ ',140,,,,,140,,127,127,127,127,127,127,127,140,141,,,,,141,,,,,143,,',
277
+ ',141,143,,140,140,140,140,140,140,140,143,,,,,,,,141,141,141,141,141',
278
+ '141,141,,,,143,143,143,143,143,143,143' ]
279
+ racc_action_check = arr = ::Array.new(2249, nil)
280
+ idx = 0
281
+ clist.each do |str|
282
+ str.split(',', -1).each do |i|
283
+ arr[idx] = i.to_i unless i.empty?
284
+ idx += 1
285
+ end
286
+ end
287
+
288
+ racc_action_pointer = [
289
+ 43, 0, nil, 1416, nil, nil, nil, nil, nil, nil,
290
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 86,
291
+ nil, nil, nil, 129, nil, nil, nil, 172, nil, nil,
292
+ nil, nil, nil, -1, -15, nil, nil, 215, nil, 258,
293
+ 3, nil, nil, nil, nil, nil, nil, nil, nil, nil,
294
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
295
+ 301, 344, 387, 430, nil, nil, nil, nil, nil, nil,
296
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
297
+ 27, 8, nil, nil, 19, 473, 516, 559, 602, 645,
298
+ 688, 731, 774, 817, 860, 903, 946, 989, 1032, 1433,
299
+ -15, 1482, -10, nil, 1497, nil, nil, nil, nil, nil,
300
+ nil, 1075, 14, nil, nil, nil, nil, 1546, nil, nil,
301
+ nil, 13, 1562, 1118, 2123, 2059, 2071, 2148, 43, 1161,
302
+ nil, 3, nil, nil, nil, nil, nil, nil, 2084, 2131,
303
+ 2173, 2188, 1408, 2198, 1611, 1626, 1675, 1690, 1739, 1754,
304
+ 1803, 1818, nil, 1204, nil, 1247, 1290, 1333, 1867, nil,
305
+ nil, -8, nil, 31, nil, nil, nil, nil, 1884, nil,
306
+ nil, 1933, nil, 1948, nil, 1997, nil, nil, 21, 42,
307
+ 1376, nil, nil, 36, nil, 2012, nil ]
308
+
309
+ racc_action_default = [
310
+ -140, -140, -1, -4, -5, -6, -7, -10, -11, -12,
311
+ -13, -14, -15, -16, -17, -18, -19, -20, -21, -23,
312
+ -24, -25, -26, -140, -30, -31, -32, -140, -37, -55,
313
+ -56, -57, -60, -140, -63, -64, -65, -140, -73, -140,
314
+ -76, -77, -78, -79, -80, -81, -82, -83, -84, -85,
315
+ -86, -87, -88, -89, -90, -91, -107, -108, -109, -110,
316
+ -140, -140, -140, -140, -115, -116, -117, -118, -119, -120,
317
+ -121, -122, -123, -124, -125, -126, -127, -128, -129, -130,
318
+ -140, -140, -2, -3, -140, -140, -140, -140, -140, -140,
319
+ -140, -140, -140, -140, -140, -140, -140, -140, -140, -22,
320
+ -140, -28, -140, -34, -140, -61, -62, -74, -38, -39,
321
+ -40, -140, -140, -46, -47, -48, -49, -69, -66, -67,
322
+ -68, -71, -140, -140, -111, -112, -113, -114, -140, -140,
323
+ -133, -135, -136, -137, -138, 187, -58, -59, -93, -94,
324
+ -95, -96, -97, -98, -99, -100, -101, -102, -103, -104,
325
+ -105, -106, -27, -140, -33, -140, -140, -140, -4, -43,
326
+ -44, -140, -50, -52, -54, -70, -72, -75, -92, -131,
327
+ -134, -140, -139, -29, -35, -36, -41, -42, -9, -140,
328
+ -140, -132, -8, -140, -51, -53, -45 ]
329
+
330
+ racc_goto_table = [
331
+ 99, 82, 103, 83, 101, 1, 105, 130, 104, 183,
332
+ 100, 102, 159, 162, 121, 108, 109, 110, 117, 111,
333
+ 122, 115, 112, 161, 116, 107, 118, 119, 120, 128,
334
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
335
+ nil, 124, 125, 126, 127, nil, nil, nil, nil, nil,
336
+ nil, nil, nil, nil, nil, 170, nil, 136, 176, 177,
337
+ nil, nil, nil, nil, nil, nil, 138, 139, 140, 141,
338
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
339
+ 184, nil, nil, nil, nil, nil, nil, nil, nil, nil,
340
+ nil, nil, 158, nil, nil, nil, nil, nil, nil, nil,
341
+ nil, nil, nil, nil, 168, nil, nil, nil, nil, nil,
342
+ 171, nil, nil, nil, nil, nil, 157, nil, nil, nil,
343
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
344
+ 174, nil, nil, nil, 173, nil, 104, 175, nil, nil,
345
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
346
+ nil, nil, nil, nil, nil, nil, nil, 82, 83, nil,
347
+ nil, 185 ]
348
+
349
+ racc_goto_check = [
350
+ 3, 2, 24, 4, 3, 1, 40, 77, 3, 5,
351
+ 20, 23, 30, 35, 25, 26, 27, 28, 3, 29,
352
+ 3, 31, 32, 33, 34, 43, 44, 45, 46, 75,
353
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
354
+ nil, 3, 3, 3, 3, nil, nil, nil, nil, nil,
355
+ nil, nil, nil, nil, nil, 77, nil, 40, 30, 30,
356
+ nil, nil, nil, nil, nil, nil, 3, 3, 3, 3,
357
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
358
+ 35, nil, nil, nil, nil, nil, nil, nil, nil, nil,
359
+ nil, nil, 3, nil, nil, nil, nil, nil, nil, nil,
360
+ nil, nil, nil, nil, 3, nil, nil, nil, nil, nil,
361
+ 3, nil, nil, nil, nil, nil, 1, nil, nil, nil,
362
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
363
+ 24, nil, nil, nil, 3, nil, 3, 3, nil, nil,
364
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
365
+ nil, nil, nil, nil, nil, nil, nil, 2, 4, nil,
366
+ nil, 3 ]
367
+
368
+ racc_goto_pointer = [
369
+ nil, 5, 0, -19, 0, -169, nil, nil, nil, nil,
370
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
371
+ -13, nil, nil, -16, -25, -23, -22, -21, -20, -18,
372
+ -99, -16, -15, -89, -13, -99, nil, nil, nil, nil,
373
+ -27, nil, nil, -9, -11, -10, -9, nil, nil, nil,
374
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
375
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
376
+ nil, nil, nil, nil, nil, -51, nil, -73, nil ]
377
+
378
+ racc_goto_default = [
379
+ nil, nil, 2, 3, 4, nil, 7, 8, 9, 10,
380
+ 11, 12, 13, 14, 15, 16, 17, 18, 20, 21,
381
+ nil, 24, 25, nil, nil, nil, nil, nil, nil, nil,
382
+ nil, nil, nil, nil, nil, nil, 163, 29, 30, 31,
383
+ 32, 34, 35, 38, nil, nil, nil, 41, 42, 43,
384
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
385
+ 54, 55, 56, 57, 58, 59, 64, 65, 66, 67,
386
+ 68, 69, 70, 78, 79, nil, 132, nil, 131 ]
387
+
388
+ racc_reduce_table = [
389
+ 0, 0, :racc_error,
390
+ 1, 54, :_reduce_none,
391
+ 2, 54, :_reduce_2,
392
+ 2, 55, :_reduce_3,
393
+ 1, 55, :_reduce_4,
394
+ 1, 55, :_reduce_5,
395
+ 1, 57, :_reduce_none,
396
+ 1, 57, :_reduce_none,
397
+ 1, 58, :_reduce_none,
398
+ 0, 58, :_reduce_none,
399
+ 1, 56, :_reduce_none,
400
+ 1, 56, :_reduce_none,
401
+ 1, 56, :_reduce_none,
402
+ 1, 56, :_reduce_none,
403
+ 1, 56, :_reduce_none,
404
+ 1, 56, :_reduce_none,
405
+ 1, 56, :_reduce_none,
406
+ 1, 56, :_reduce_none,
407
+ 1, 56, :_reduce_none,
408
+ 1, 56, :_reduce_none,
409
+ 1, 68, :_reduce_none,
410
+ 1, 68, :_reduce_none,
411
+ 2, 69, :_reduce_22,
412
+ 1, 70, :_reduce_23,
413
+ 1, 66, :_reduce_none,
414
+ 1, 66, :_reduce_none,
415
+ 1, 71, :_reduce_26,
416
+ 3, 72, :_reduce_27,
417
+ 1, 73, :_reduce_28,
418
+ 3, 73, :_reduce_29,
419
+ 1, 67, :_reduce_none,
420
+ 1, 67, :_reduce_none,
421
+ 1, 74, :_reduce_32,
422
+ 3, 75, :_reduce_33,
423
+ 1, 76, :_reduce_34,
424
+ 3, 76, :_reduce_35,
425
+ 3, 77, :_reduce_36,
426
+ 1, 64, :_reduce_37,
427
+ 1, 78, :_reduce_none,
428
+ 1, 78, :_reduce_none,
429
+ 1, 78, :_reduce_none,
430
+ 3, 79, :_reduce_41,
431
+ 3, 80, :_reduce_42,
432
+ 2, 81, :_reduce_43,
433
+ 1, 83, :_reduce_44,
434
+ 5, 84, :_reduce_45,
435
+ 1, 85, :_reduce_46,
436
+ 1, 87, :_reduce_47,
437
+ 1, 82, :_reduce_none,
438
+ 1, 82, :_reduce_none,
439
+ 1, 86, :_reduce_none,
440
+ 3, 86, :_reduce_none,
441
+ 1, 88, :_reduce_52,
442
+ 3, 88, :_reduce_53,
443
+ 1, 89, :_reduce_54,
444
+ 1, 63, :_reduce_none,
445
+ 1, 63, :_reduce_none,
446
+ 1, 63, :_reduce_none,
447
+ 3, 90, :_reduce_58,
448
+ 3, 90, :_reduce_59,
449
+ 1, 91, :_reduce_60,
450
+ 2, 92, :_reduce_61,
451
+ 2, 92, :_reduce_62,
452
+ 1, 93, :_reduce_none,
453
+ 1, 93, :_reduce_none,
454
+ 1, 95, :_reduce_65,
455
+ 2, 96, :_reduce_66,
456
+ 1, 97, :_reduce_none,
457
+ 1, 97, :_reduce_none,
458
+ 1, 98, :_reduce_none,
459
+ 2, 98, :_reduce_none,
460
+ 1, 99, :_reduce_none,
461
+ 2, 99, :_reduce_none,
462
+ 1, 94, :_reduce_73,
463
+ 2, 94, :_reduce_74,
464
+ 3, 60, :_reduce_75,
465
+ 1, 65, :_reduce_76,
466
+ 1, 61, :_reduce_none,
467
+ 1, 61, :_reduce_none,
468
+ 1, 61, :_reduce_none,
469
+ 1, 61, :_reduce_none,
470
+ 1, 61, :_reduce_none,
471
+ 1, 61, :_reduce_none,
472
+ 1, 61, :_reduce_none,
473
+ 1, 61, :_reduce_none,
474
+ 1, 61, :_reduce_none,
475
+ 1, 61, :_reduce_none,
476
+ 1, 61, :_reduce_none,
477
+ 1, 61, :_reduce_none,
478
+ 1, 61, :_reduce_none,
479
+ 1, 61, :_reduce_none,
480
+ 1, 61, :_reduce_none,
481
+ 3, 100, :_reduce_92,
482
+ 3, 101, :_reduce_93,
483
+ 3, 102, :_reduce_94,
484
+ 3, 103, :_reduce_95,
485
+ 3, 104, :_reduce_96,
486
+ 3, 105, :_reduce_97,
487
+ 3, 106, :_reduce_98,
488
+ 3, 107, :_reduce_99,
489
+ 3, 108, :_reduce_100,
490
+ 3, 109, :_reduce_101,
491
+ 3, 110, :_reduce_102,
492
+ 3, 111, :_reduce_103,
493
+ 3, 112, :_reduce_104,
494
+ 3, 113, :_reduce_105,
495
+ 3, 114, :_reduce_106,
496
+ 1, 62, :_reduce_none,
497
+ 1, 62, :_reduce_none,
498
+ 1, 62, :_reduce_none,
499
+ 1, 62, :_reduce_none,
500
+ 2, 115, :_reduce_111,
501
+ 2, 116, :_reduce_112,
502
+ 2, 117, :_reduce_113,
503
+ 2, 118, :_reduce_114,
504
+ 1, 59, :_reduce_none,
505
+ 1, 59, :_reduce_none,
506
+ 1, 59, :_reduce_none,
507
+ 1, 59, :_reduce_none,
508
+ 1, 59, :_reduce_none,
509
+ 1, 59, :_reduce_none,
510
+ 1, 59, :_reduce_none,
511
+ 1, 120, :_reduce_122,
512
+ 1, 119, :_reduce_123,
513
+ 1, 122, :_reduce_124,
514
+ 1, 123, :_reduce_125,
515
+ 1, 124, :_reduce_126,
516
+ 1, 125, :_reduce_127,
517
+ 1, 121, :_reduce_128,
518
+ 1, 121, :_reduce_none,
519
+ 1, 121, :_reduce_none,
520
+ 3, 126, :_reduce_131,
521
+ 3, 129, :_reduce_132,
522
+ 1, 128, :_reduce_133,
523
+ 2, 128, :_reduce_134,
524
+ 1, 130, :_reduce_135,
525
+ 1, 130, :_reduce_136,
526
+ 2, 127, :_reduce_137,
527
+ 1, 131, :_reduce_138,
528
+ 2, 131, :_reduce_139 ]
529
+
530
+ racc_reduce_n = 140
531
+
532
+ racc_shift_n = 187
533
+
534
+ racc_token_table = {
535
+ false => 0,
536
+ :error => 1,
537
+ :IDENTIFIER => 2,
538
+ :EQUAL => 3,
539
+ :PLUS => 4,
540
+ :MINUS => 5,
541
+ :ASTERISK => 6,
542
+ :FWD_SLASH => 7,
543
+ :COLON => 8,
544
+ :FLOAT => 9,
545
+ :INTEGER => 10,
546
+ :STRING => 11,
547
+ :EXPO => 12,
548
+ :INDENT => 13,
549
+ :OUTDENT => 14,
550
+ :OPAREN => 15,
551
+ :CPAREN => 16,
552
+ :DOT => 17,
553
+ :SIGNATURE => 18,
554
+ :NL => 19,
555
+ :EOF => 20,
556
+ :PIPE => 21,
557
+ :COMMA => 22,
558
+ :NIL => 23,
559
+ :TRUE => 24,
560
+ :FALSE => 25,
561
+ :EQUALITY => 26,
562
+ :CALL => 27,
563
+ :SELF => 28,
564
+ :CONSTANT => 29,
565
+ :CHAR => 30,
566
+ :DOUBLE_TICK_STRING => 31,
567
+ :DOUBLE_TICK_STRING_END => 32,
568
+ :INTERPOLATE_START => 33,
569
+ :INTERPOLATE_END => 34,
570
+ :BOX => 35,
571
+ :LSQUARE => 36,
572
+ :RSQUARE => 37,
573
+ :FACES => 38,
574
+ :LFACE => 39,
575
+ :RFACE => 40,
576
+ :BANG => 41,
577
+ :TILDE => 42,
578
+ :RETURN => 43,
579
+ :NOT_EQUALITY => 44,
580
+ :OR => 45,
581
+ :AND => 46,
582
+ :GT => 47,
583
+ :LT => 48,
584
+ :GTE => 49,
585
+ :LTE => 50,
586
+ :AT => 51,
587
+ :PERCENT => 52 }
588
+
589
+ racc_nt_base = 53
590
+
591
+ racc_use_result_var = true
592
+
593
+ Racc_arg = [
594
+ racc_action_table,
595
+ racc_action_check,
596
+ racc_action_default,
597
+ racc_action_pointer,
598
+ racc_goto_table,
599
+ racc_goto_check,
600
+ racc_goto_default,
601
+ racc_goto_pointer,
602
+ racc_nt_base,
603
+ racc_reduce_table,
604
+ racc_token_table,
605
+ racc_shift_n,
606
+ racc_reduce_n,
607
+ racc_use_result_var ]
608
+
609
+ Racc_token_to_s_table = [
610
+ "$end",
611
+ "error",
612
+ "IDENTIFIER",
613
+ "EQUAL",
614
+ "PLUS",
615
+ "MINUS",
616
+ "ASTERISK",
617
+ "FWD_SLASH",
618
+ "COLON",
619
+ "FLOAT",
620
+ "INTEGER",
621
+ "STRING",
622
+ "EXPO",
623
+ "INDENT",
624
+ "OUTDENT",
625
+ "OPAREN",
626
+ "CPAREN",
627
+ "DOT",
628
+ "SIGNATURE",
629
+ "NL",
630
+ "EOF",
631
+ "PIPE",
632
+ "COMMA",
633
+ "NIL",
634
+ "TRUE",
635
+ "FALSE",
636
+ "EQUALITY",
637
+ "CALL",
638
+ "SELF",
639
+ "CONSTANT",
640
+ "CHAR",
641
+ "DOUBLE_TICK_STRING",
642
+ "DOUBLE_TICK_STRING_END",
643
+ "INTERPOLATE_START",
644
+ "INTERPOLATE_END",
645
+ "BOX",
646
+ "LSQUARE",
647
+ "RSQUARE",
648
+ "FACES",
649
+ "LFACE",
650
+ "RFACE",
651
+ "BANG",
652
+ "TILDE",
653
+ "RETURN",
654
+ "NOT_EQUALITY",
655
+ "OR",
656
+ "AND",
657
+ "GT",
658
+ "LT",
659
+ "GTE",
660
+ "LTE",
661
+ "AT",
662
+ "PERCENT",
663
+ "$start",
664
+ "statements",
665
+ "statement",
666
+ "expr",
667
+ "eol",
668
+ "nlq",
669
+ "literal",
670
+ "grouped_expr",
671
+ "binary_op",
672
+ "unary_op",
673
+ "method_call",
674
+ "constant",
675
+ "variable",
676
+ "array",
677
+ "hash",
678
+ "return",
679
+ "return_expr",
680
+ "return_nil",
681
+ "empty_array",
682
+ "array_list",
683
+ "array_items",
684
+ "empty_hash",
685
+ "hash_list",
686
+ "hash_items",
687
+ "hash_item",
688
+ "indented",
689
+ "indented_w_stmts",
690
+ "indented_w_expr",
691
+ "indented_wo_stmts",
692
+ "indent",
693
+ "outdent",
694
+ "indent_w_args",
695
+ "indent_pipe",
696
+ "indent_args",
697
+ "indent_wo_args",
698
+ "indent_arg",
699
+ "arg_var",
700
+ "method_call_on_object",
701
+ "method_call_on_self",
702
+ "method_call_on_closure",
703
+ "call_signature",
704
+ "call_arguments",
705
+ "call_simple_name",
706
+ "call_argument",
707
+ "call_passed_arg",
708
+ "call_passed_simple",
709
+ "call_passed_indented",
710
+ "assignment",
711
+ "addition",
712
+ "subtraction",
713
+ "multiplication",
714
+ "division",
715
+ "exponentiation",
716
+ "modulo",
717
+ "equality",
718
+ "not_equality",
719
+ "logical_or",
720
+ "logical_and",
721
+ "greater_than",
722
+ "less_than",
723
+ "greater_or_eq",
724
+ "less_or_eq",
725
+ "unary_not",
726
+ "unary_plus",
727
+ "unary_minus",
728
+ "unary_complement",
729
+ "integer",
730
+ "float",
731
+ "string",
732
+ "nil",
733
+ "true",
734
+ "false",
735
+ "self",
736
+ "interpolated_string",
737
+ "empty_string",
738
+ "interpolated_string_contents",
739
+ "interpolation",
740
+ "interpolated_string_chunk",
741
+ "chars" ]
742
+
743
+ Racc_debug_parser = false
744
+
745
+ ##### State transition tables end #####
746
+
747
+ # reduce 0 omitted
748
+
749
+ # reduce 1 omitted
750
+
751
+ module_eval(<<'.,.,', 'huia.y', 44)
752
+ def _reduce_2(val, _values, result)
753
+ return scope
754
+ result
755
+ end
756
+ .,.,
757
+
758
+ module_eval(<<'.,.,', 'huia.y', 46)
759
+ def _reduce_3(val, _values, result)
760
+ return scope.append val[0]
761
+ result
762
+ end
763
+ .,.,
764
+
765
+ module_eval(<<'.,.,', 'huia.y', 47)
766
+ def _reduce_4(val, _values, result)
767
+ return scope.append val[0]
768
+ result
769
+ end
770
+ .,.,
771
+
772
+ module_eval(<<'.,.,', 'huia.y', 48)
773
+ def _reduce_5(val, _values, result)
774
+ return scope
775
+ result
776
+ end
777
+ .,.,
778
+
779
+ # reduce 6 omitted
780
+
781
+ # reduce 7 omitted
782
+
783
+ # reduce 8 omitted
784
+
785
+ # reduce 9 omitted
786
+
787
+ # reduce 10 omitted
788
+
789
+ # reduce 11 omitted
790
+
791
+ # reduce 12 omitted
792
+
793
+ # reduce 13 omitted
794
+
795
+ # reduce 14 omitted
796
+
797
+ # reduce 15 omitted
798
+
799
+ # reduce 16 omitted
800
+
801
+ # reduce 17 omitted
802
+
803
+ # reduce 18 omitted
804
+
805
+ # reduce 19 omitted
806
+
807
+ # reduce 20 omitted
808
+
809
+ # reduce 21 omitted
810
+
811
+ module_eval(<<'.,.,', 'huia.y', 66)
812
+ def _reduce_22(val, _values, result)
813
+ return n(:Return, val[1])
814
+ result
815
+ end
816
+ .,.,
817
+
818
+ module_eval(<<'.,.,', 'huia.y', 67)
819
+ def _reduce_23(val, _values, result)
820
+ return n(:Return, n(:Nil))
821
+ result
822
+ end
823
+ .,.,
824
+
825
+ # reduce 24 omitted
826
+
827
+ # reduce 25 omitted
828
+
829
+ module_eval(<<'.,.,', 'huia.y', 72)
830
+ def _reduce_26(val, _values, result)
831
+ return n :Array
832
+ result
833
+ end
834
+ .,.,
835
+
836
+ module_eval(<<'.,.,', 'huia.y', 74)
837
+ def _reduce_27(val, _values, result)
838
+ return val[1]
839
+ result
840
+ end
841
+ .,.,
842
+
843
+ module_eval(<<'.,.,', 'huia.y', 75)
844
+ def _reduce_28(val, _values, result)
845
+ return n :Array, [val[0]]
846
+ result
847
+ end
848
+ .,.,
849
+
850
+ module_eval(<<'.,.,', 'huia.y', 76)
851
+ def _reduce_29(val, _values, result)
852
+ val[0].append(val[2]); return val[0]
853
+ result
854
+ end
855
+ .,.,
856
+
857
+ # reduce 30 omitted
858
+
859
+ # reduce 31 omitted
860
+
861
+ module_eval(<<'.,.,', 'huia.y', 80)
862
+ def _reduce_32(val, _values, result)
863
+ return n :Hash
864
+ result
865
+ end
866
+ .,.,
867
+
868
+ module_eval(<<'.,.,', 'huia.y', 81)
869
+ def _reduce_33(val, _values, result)
870
+ return val[1]
871
+ result
872
+ end
873
+ .,.,
874
+
875
+ module_eval(<<'.,.,', 'huia.y', 82)
876
+ def _reduce_34(val, _values, result)
877
+ return n :Hash, val[0]
878
+ result
879
+ end
880
+ .,.,
881
+
882
+ module_eval(<<'.,.,', 'huia.y', 83)
883
+ def _reduce_35(val, _values, result)
884
+ val[0].append(val[2]); return val[0]
885
+ result
886
+ end
887
+ .,.,
888
+
889
+ module_eval(<<'.,.,', 'huia.y', 84)
890
+ def _reduce_36(val, _values, result)
891
+ return n :HashItem, val[0], val[2]
892
+ result
893
+ end
894
+ .,.,
895
+
896
+ module_eval(<<'.,.,', 'huia.y', 86)
897
+ def _reduce_37(val, _values, result)
898
+ return constant val[0]
899
+ result
900
+ end
901
+ .,.,
902
+
903
+ # reduce 38 omitted
904
+
905
+ # reduce 39 omitted
906
+
907
+ # reduce 40 omitted
908
+
909
+ module_eval(<<'.,.,', 'huia.y', 91)
910
+ def _reduce_41(val, _values, result)
911
+ return val[0]
912
+ result
913
+ end
914
+ .,.,
915
+
916
+ module_eval(<<'.,.,', 'huia.y', 92)
917
+ def _reduce_42(val, _values, result)
918
+ return val[0].append(val[1])
919
+ result
920
+ end
921
+ .,.,
922
+
923
+ module_eval(<<'.,.,', 'huia.y', 93)
924
+ def _reduce_43(val, _values, result)
925
+ return val[0]
926
+ result
927
+ end
928
+ .,.,
929
+
930
+ module_eval(<<'.,.,', 'huia.y', 94)
931
+ def _reduce_44(val, _values, result)
932
+ return pop_scope
933
+ result
934
+ end
935
+ .,.,
936
+
937
+ module_eval(<<'.,.,', 'huia.y', 97)
938
+ def _reduce_45(val, _values, result)
939
+ return val[0]
940
+ result
941
+ end
942
+ .,.,
943
+
944
+ module_eval(<<'.,.,', 'huia.y', 98)
945
+ def _reduce_46(val, _values, result)
946
+ return push_scope
947
+ result
948
+ end
949
+ .,.,
950
+
951
+ module_eval(<<'.,.,', 'huia.y', 99)
952
+ def _reduce_47(val, _values, result)
953
+ return push_scope
954
+ result
955
+ end
956
+ .,.,
957
+
958
+ # reduce 48 omitted
959
+
960
+ # reduce 49 omitted
961
+
962
+ # reduce 50 omitted
963
+
964
+ # reduce 51 omitted
965
+
966
+ module_eval(<<'.,.,', 'huia.y', 105)
967
+ def _reduce_52(val, _values, result)
968
+ return scope.add_argument val[0]
969
+ result
970
+ end
971
+ .,.,
972
+
973
+ module_eval(<<'.,.,', 'huia.y', 106)
974
+ def _reduce_53(val, _values, result)
975
+ return n :Assignment, val[0], val[2]
976
+ result
977
+ end
978
+ .,.,
979
+
980
+ module_eval(<<'.,.,', 'huia.y', 107)
981
+ def _reduce_54(val, _values, result)
982
+ return n :Variable, val[0]
983
+ result
984
+ end
985
+ .,.,
986
+
987
+ # reduce 55 omitted
988
+
989
+ # reduce 56 omitted
990
+
991
+ # reduce 57 omitted
992
+
993
+ module_eval(<<'.,.,', 'huia.y', 112)
994
+ def _reduce_58(val, _values, result)
995
+ return n :MethodCall, val[0], val[2]
996
+ result
997
+ end
998
+ .,.,
999
+
1000
+ module_eval(<<'.,.,', 'huia.y', 113)
1001
+ def _reduce_59(val, _values, result)
1002
+ return n :MethodCall, val[0], n(:CallSignature, val[2])
1003
+ result
1004
+ end
1005
+ .,.,
1006
+
1007
+ module_eval(<<'.,.,', 'huia.y', 114)
1008
+ def _reduce_60(val, _values, result)
1009
+ return n :MethodCall, scope_instance, val[0]
1010
+ result
1011
+ end
1012
+ .,.,
1013
+
1014
+ module_eval(<<'.,.,', 'huia.y', 116)
1015
+ def _reduce_61(val, _values, result)
1016
+ return n :MethodCall, this_closure, val[1]
1017
+ result
1018
+ end
1019
+ .,.,
1020
+
1021
+ module_eval(<<'.,.,', 'huia.y', 117)
1022
+ def _reduce_62(val, _values, result)
1023
+ return n :MethodCall, this_closure, n(:CallSignature, val[1])
1024
+ result
1025
+ end
1026
+ .,.,
1027
+
1028
+ # reduce 63 omitted
1029
+
1030
+ # reduce 64 omitted
1031
+
1032
+ module_eval(<<'.,.,', 'huia.y', 121)
1033
+ def _reduce_65(val, _values, result)
1034
+ return n :CallSignature, val[0]
1035
+ result
1036
+ end
1037
+ .,.,
1038
+
1039
+ module_eval(<<'.,.,', 'huia.y', 122)
1040
+ def _reduce_66(val, _values, result)
1041
+ return n :CallSignature, val[0], [val[1]]
1042
+ result
1043
+ end
1044
+ .,.,
1045
+
1046
+ # reduce 67 omitted
1047
+
1048
+ # reduce 68 omitted
1049
+
1050
+ # reduce 69 omitted
1051
+
1052
+ # reduce 70 omitted
1053
+
1054
+ # reduce 71 omitted
1055
+
1056
+ # reduce 72 omitted
1057
+
1058
+ module_eval(<<'.,.,', 'huia.y', 129)
1059
+ def _reduce_73(val, _values, result)
1060
+ return val[0]
1061
+ result
1062
+ end
1063
+ .,.,
1064
+
1065
+ module_eval(<<'.,.,', 'huia.y', 130)
1066
+ def _reduce_74(val, _values, result)
1067
+ return val[0].concat_signature val[1]
1068
+ result
1069
+ end
1070
+ .,.,
1071
+
1072
+ module_eval(<<'.,.,', 'huia.y', 132)
1073
+ def _reduce_75(val, _values, result)
1074
+ return n :Expression, val[1]
1075
+ result
1076
+ end
1077
+ .,.,
1078
+
1079
+ module_eval(<<'.,.,', 'huia.y', 134)
1080
+ def _reduce_76(val, _values, result)
1081
+ return allocate_local val[0]
1082
+ result
1083
+ end
1084
+ .,.,
1085
+
1086
+ # reduce 77 omitted
1087
+
1088
+ # reduce 78 omitted
1089
+
1090
+ # reduce 79 omitted
1091
+
1092
+ # reduce 80 omitted
1093
+
1094
+ # reduce 81 omitted
1095
+
1096
+ # reduce 82 omitted
1097
+
1098
+ # reduce 83 omitted
1099
+
1100
+ # reduce 84 omitted
1101
+
1102
+ # reduce 85 omitted
1103
+
1104
+ # reduce 86 omitted
1105
+
1106
+ # reduce 87 omitted
1107
+
1108
+ # reduce 88 omitted
1109
+
1110
+ # reduce 89 omitted
1111
+
1112
+ # reduce 90 omitted
1113
+
1114
+ # reduce 91 omitted
1115
+
1116
+ module_eval(<<'.,.,', 'huia.y', 152)
1117
+ def _reduce_92(val, _values, result)
1118
+ return allocate_local_assignment val[0], val[2]
1119
+ result
1120
+ end
1121
+ .,.,
1122
+
1123
+ module_eval(<<'.,.,', 'huia.y', 153)
1124
+ def _reduce_93(val, _values, result)
1125
+ return binary val[0], val[2], 'plus:'
1126
+ result
1127
+ end
1128
+ .,.,
1129
+
1130
+ module_eval(<<'.,.,', 'huia.y', 154)
1131
+ def _reduce_94(val, _values, result)
1132
+ return binary val[0], val[2], 'minus:'
1133
+ result
1134
+ end
1135
+ .,.,
1136
+
1137
+ module_eval(<<'.,.,', 'huia.y', 155)
1138
+ def _reduce_95(val, _values, result)
1139
+ return binary val[0], val[2], 'multiplyBy:'
1140
+ result
1141
+ end
1142
+ .,.,
1143
+
1144
+ module_eval(<<'.,.,', 'huia.y', 156)
1145
+ def _reduce_96(val, _values, result)
1146
+ return binary val[0], val[2], 'divideBy:'
1147
+ result
1148
+ end
1149
+ .,.,
1150
+
1151
+ module_eval(<<'.,.,', 'huia.y', 157)
1152
+ def _reduce_97(val, _values, result)
1153
+ return binary val[0], val[2], 'toThePowerOf:'
1154
+ result
1155
+ end
1156
+ .,.,
1157
+
1158
+ module_eval(<<'.,.,', 'huia.y', 158)
1159
+ def _reduce_98(val, _values, result)
1160
+ return binary val[0], val[2], 'moduloOf:'
1161
+ result
1162
+ end
1163
+ .,.,
1164
+
1165
+ module_eval(<<'.,.,', 'huia.y', 159)
1166
+ def _reduce_99(val, _values, result)
1167
+ return binary val[0], val[2], 'isEqualTo:'
1168
+ result
1169
+ end
1170
+ .,.,
1171
+
1172
+ module_eval(<<'.,.,', 'huia.y', 160)
1173
+ def _reduce_100(val, _values, result)
1174
+ return binary val[0], val[2], 'isNotEqualTo:'
1175
+ result
1176
+ end
1177
+ .,.,
1178
+
1179
+ module_eval(<<'.,.,', 'huia.y', 161)
1180
+ def _reduce_101(val, _values, result)
1181
+ return binary val[0], val[2], 'logicalOr:'
1182
+ result
1183
+ end
1184
+ .,.,
1185
+
1186
+ module_eval(<<'.,.,', 'huia.y', 162)
1187
+ def _reduce_102(val, _values, result)
1188
+ return binary val[0], val[2], 'logicalAnd:'
1189
+ result
1190
+ end
1191
+ .,.,
1192
+
1193
+ module_eval(<<'.,.,', 'huia.y', 163)
1194
+ def _reduce_103(val, _values, result)
1195
+ return binary val[0], val[2], 'isGreaterThan:'
1196
+ result
1197
+ end
1198
+ .,.,
1199
+
1200
+ module_eval(<<'.,.,', 'huia.y', 164)
1201
+ def _reduce_104(val, _values, result)
1202
+ return binary val[0], val[2], 'isLessThan:'
1203
+ result
1204
+ end
1205
+ .,.,
1206
+
1207
+ module_eval(<<'.,.,', 'huia.y', 165)
1208
+ def _reduce_105(val, _values, result)
1209
+ return binary val[0], val[2], 'isGreaterOrEqualTo:'
1210
+ result
1211
+ end
1212
+ .,.,
1213
+
1214
+ module_eval(<<'.,.,', 'huia.y', 166)
1215
+ def _reduce_106(val, _values, result)
1216
+ return binary val[0], val[2], 'isLessOrEqualTo:'
1217
+ result
1218
+ end
1219
+ .,.,
1220
+
1221
+ # reduce 107 omitted
1222
+
1223
+ # reduce 108 omitted
1224
+
1225
+ # reduce 109 omitted
1226
+
1227
+ # reduce 110 omitted
1228
+
1229
+ module_eval(<<'.,.,', 'huia.y', 173)
1230
+ def _reduce_111(val, _values, result)
1231
+ return unary val[1], 'unaryNot'
1232
+ result
1233
+ end
1234
+ .,.,
1235
+
1236
+ module_eval(<<'.,.,', 'huia.y', 174)
1237
+ def _reduce_112(val, _values, result)
1238
+ return unary val[1], 'unaryPlus'
1239
+ result
1240
+ end
1241
+ .,.,
1242
+
1243
+ module_eval(<<'.,.,', 'huia.y', 175)
1244
+ def _reduce_113(val, _values, result)
1245
+ return unary val[1], 'unaryMinus'
1246
+ result
1247
+ end
1248
+ .,.,
1249
+
1250
+ module_eval(<<'.,.,', 'huia.y', 176)
1251
+ def _reduce_114(val, _values, result)
1252
+ return unary val[1], 'unaryComplement'
1253
+ result
1254
+ end
1255
+ .,.,
1256
+
1257
+ # reduce 115 omitted
1258
+
1259
+ # reduce 116 omitted
1260
+
1261
+ # reduce 117 omitted
1262
+
1263
+ # reduce 118 omitted
1264
+
1265
+ # reduce 119 omitted
1266
+
1267
+ # reduce 120 omitted
1268
+
1269
+ # reduce 121 omitted
1270
+
1271
+ module_eval(<<'.,.,', 'huia.y', 186)
1272
+ def _reduce_122(val, _values, result)
1273
+ return n :Float, val[0]
1274
+ result
1275
+ end
1276
+ .,.,
1277
+
1278
+ module_eval(<<'.,.,', 'huia.y', 187)
1279
+ def _reduce_123(val, _values, result)
1280
+ return n :Integer, val[0]
1281
+ result
1282
+ end
1283
+ .,.,
1284
+
1285
+ module_eval(<<'.,.,', 'huia.y', 188)
1286
+ def _reduce_124(val, _values, result)
1287
+ return n :Nil
1288
+ result
1289
+ end
1290
+ .,.,
1291
+
1292
+ module_eval(<<'.,.,', 'huia.y', 189)
1293
+ def _reduce_125(val, _values, result)
1294
+ return n :True
1295
+ result
1296
+ end
1297
+ .,.,
1298
+
1299
+ module_eval(<<'.,.,', 'huia.y', 190)
1300
+ def _reduce_126(val, _values, result)
1301
+ return n :False
1302
+ result
1303
+ end
1304
+ .,.,
1305
+
1306
+ module_eval(<<'.,.,', 'huia.y', 191)
1307
+ def _reduce_127(val, _values, result)
1308
+ return n :Self
1309
+ result
1310
+ end
1311
+ .,.,
1312
+
1313
+ module_eval(<<'.,.,', 'huia.y', 193)
1314
+ def _reduce_128(val, _values, result)
1315
+ return n :String, val[0]
1316
+ result
1317
+ end
1318
+ .,.,
1319
+
1320
+ # reduce 129 omitted
1321
+
1322
+ # reduce 130 omitted
1323
+
1324
+ module_eval(<<'.,.,', 'huia.y', 197)
1325
+ def _reduce_131(val, _values, result)
1326
+ return val[1]
1327
+ result
1328
+ end
1329
+ .,.,
1330
+
1331
+ module_eval(<<'.,.,', 'huia.y', 198)
1332
+ def _reduce_132(val, _values, result)
1333
+ return val[1]
1334
+ result
1335
+ end
1336
+ .,.,
1337
+
1338
+ module_eval(<<'.,.,', 'huia.y', 199)
1339
+ def _reduce_133(val, _values, result)
1340
+ return n :InterpolatedString, val[0]
1341
+ result
1342
+ end
1343
+ .,.,
1344
+
1345
+ module_eval(<<'.,.,', 'huia.y', 200)
1346
+ def _reduce_134(val, _values, result)
1347
+ val[0].append(val[1]); return val[0]
1348
+ result
1349
+ end
1350
+ .,.,
1351
+
1352
+ module_eval(<<'.,.,', 'huia.y', 201)
1353
+ def _reduce_135(val, _values, result)
1354
+ return val[0]
1355
+ result
1356
+ end
1357
+ .,.,
1358
+
1359
+ module_eval(<<'.,.,', 'huia.y', 202)
1360
+ def _reduce_136(val, _values, result)
1361
+ return to_string(val[0])
1362
+ result
1363
+ end
1364
+ .,.,
1365
+
1366
+ module_eval(<<'.,.,', 'huia.y', 203)
1367
+ def _reduce_137(val, _values, result)
1368
+ return n :String, ''
1369
+ result
1370
+ end
1371
+ .,.,
1372
+
1373
+ module_eval(<<'.,.,', 'huia.y', 205)
1374
+ def _reduce_138(val, _values, result)
1375
+ return n :String, val[0]
1376
+ result
1377
+ end
1378
+ .,.,
1379
+
1380
+ module_eval(<<'.,.,', 'huia.y', 206)
1381
+ def _reduce_139(val, _values, result)
1382
+ val[0].append(val[1]); return val[0]
1383
+ result
1384
+ end
1385
+ .,.,
1386
+
1387
+ def _reduce_none(val, _values, result)
1388
+ val[0]
1389
+ end
1390
+
1391
+ end # class Parser
1392
+ end # module Huia