rgo-lang 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,11 @@
1
+ module Rgo
2
+ class Node
3
+ attr_accessor :type, :name, :children
4
+
5
+ def initialize(type, name, children = [])
6
+ @type = type
7
+ @name = name
8
+ @children = children
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,847 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by Racc 1.4.16
4
+ # from Racc grammar file "".
5
+ #
6
+
7
+ require 'racc/parser.rb'
8
+
9
+
10
+ require 'strscan'
11
+ require_relative './tokenizer.rb'
12
+ require_relative './node.rb'
13
+
14
+ module Rgo
15
+ class Parser < Racc::Parser
16
+
17
+ module_eval(<<'...end parse.y/module_eval...', 'parse.y', 205)
18
+
19
+ def parse(str)
20
+ @q = Tokenizer.new(str).tokens
21
+
22
+ do_parse
23
+ end
24
+
25
+ def next_token
26
+ @q.shift
27
+ end
28
+
29
+ def on_error(error_token_id, error_value, value_stack)
30
+ token_name = token_to_str(error_token_id)
31
+ token = error_value.to_s.inspect
32
+
33
+ str = 'parse error on '
34
+ str << token_name << ' ' unless token_name == token
35
+ str << token
36
+ raise str
37
+ end
38
+ ...end parse.y/module_eval...
39
+ ##### State transition tables begin ###
40
+
41
+ racc_action_table = [
42
+ 18, 39, 22, 41, 24, 19, 28, 20, 25, 21,
43
+ 87, 22, 23, 24, 50, 27, 117, 42, 29, 31,
44
+ 34, 35, 51, 43, 22, 38, 24, 48, 49, 61,
45
+ 18, 44, 36, 37, 38, 19, 28, 20, 25, 21,
46
+ 44, 22, 23, 24, 45, 27, 46, 38, 29, 31,
47
+ 34, 35, 47, 24, 66, 46, 67, 77, 78, 87,
48
+ 18, 47, 36, 37, 38, 19, 28, 20, 25, 21,
49
+ 82, 22, 23, 24, 38, 27, 92, -28, 29, 31,
50
+ 34, 35, 97, 84, 93, -28, 51, 94, 100, 99,
51
+ 18, 80, 36, 37, 38, 19, 28, 20, 25, 21,
52
+ 116, 22, 23, 24, 110, 27, 44, -29, 29, 31,
53
+ 34, 35, 111, -65, -63, -29, 99, 129, 116, nil,
54
+ nil, 46, 36, 37, 38, 18, 90, 47, 91, nil,
55
+ 19, 28, 20, 25, 21, nil, 22, 23, 24, 123,
56
+ 27, nil, nil, 29, 31, 34, 35, 93, 53, 54,
57
+ 55, 56, 57, 58, 59, 60, 127, 36, 37, 38,
58
+ 18, nil, nil, 95, 128, 19, 28, 20, 25, 21,
59
+ nil, 22, 23, 24, nil, 27, nil, nil, 29, 31,
60
+ 34, 35, -50, -50, -50, -50, -50, -50, -50, -50,
61
+ 18, nil, 36, 37, 38, 19, 28, 20, 25, 21,
62
+ nil, 22, 23, 24, nil, 27, nil, nil, 29, 31,
63
+ 34, 35, 53, 54, 55, 56, 57, 58, 59, 60,
64
+ 18, nil, 36, 37, 38, 19, 28, 20, 25, 21,
65
+ nil, 22, 23, 24, nil, 27, nil, nil, 29, 31,
66
+ 34, 35, 53, 54, 55, 56, 57, 58, 59, 60,
67
+ nil, nil, 36, 37, 38, 18, nil, nil, 121, 122,
68
+ 19, 28, 20, 25, 21, nil, 22, 23, 24, nil,
69
+ 27, nil, nil, 29, 31, 34, 35, 53, 54, 55,
70
+ 56, 57, 58, 59, 60, 18, nil, 36, 37, 38,
71
+ 19, 28, 20, 25, 21, nil, 22, 23, 24, nil,
72
+ 27, nil, nil, 29, 31, 34, 35, 53, 54, 55,
73
+ 56, 57, 58, 59, 60, nil, nil, 36, 37, 38,
74
+ 18, nil, nil, 126, nil, 19, 28, 20, 25, 21,
75
+ nil, 22, 23, 24, nil, 27, nil, nil, 29, 31,
76
+ 34, 35, 53, 54, 55, 56, 57, 58, 59, 60,
77
+ 18, nil, 36, 37, 38, 19, 28, 20, 25, 21,
78
+ nil, 22, 23, 24, nil, 27, nil, nil, 29, 31,
79
+ 34, 35, 53, 54, 55, 56, 57, 58, 59, 60,
80
+ nil, nil, 36, 37, 38, 18, nil, nil, 131, nil,
81
+ 19, 28, 20, 25, 21, nil, 22, 23, 24, nil,
82
+ 27, nil, nil, 29, 31, 34, 35, 53, 54, 55,
83
+ 56, 57, 58, 59, 60, nil, nil, 36, 37, 38,
84
+ 18, nil, nil, 134, nil, 19, 28, 20, 25, 21,
85
+ nil, 22, 23, 24, 28, 27, 64, 62, 29, 31,
86
+ 34, 35, nil, nil, nil, nil, 29, 31, nil, nil,
87
+ nil, nil, 36, 37, 38, 28, nil, 64, 62, nil,
88
+ 36, 37, 74, nil, 64, 70, nil, 29, 31, nil,
89
+ nil, nil, nil, nil, 29, 31, nil, nil, nil, nil,
90
+ nil, 36, 37, 28, nil, 64, 62, nil, 36, 37,
91
+ 28, nil, 64, 62, nil, 29, 31, nil, nil, nil,
92
+ nil, nil, 29, 31, nil, nil, nil, nil, nil, 36,
93
+ 37, 28, nil, 64, 62, nil, 36, 37, 74, nil,
94
+ 64, 70, nil, 29, 31, nil, nil, nil, nil, nil,
95
+ 29, 31, nil, nil, nil, nil, nil, 36, 37, 74,
96
+ nil, 64, 70, nil, 36, 37, 28, nil, 64, 62,
97
+ nil, 29, 31, nil, nil, nil, nil, nil, 29, 31,
98
+ nil, nil, nil, nil, nil, 36, 37, nil, nil, nil,
99
+ nil, nil, 36, 37 ]
100
+
101
+ racc_action_check = [
102
+ 0, 1, 85, 18, 85, 0, 0, 0, 0, 0,
103
+ 85, 0, 0, 0, 25, 0, 101, 19, 0, 0,
104
+ 0, 0, 25, 20, 101, 85, 101, 22, 23, 27,
105
+ 2, 21, 0, 0, 0, 2, 2, 2, 2, 2,
106
+ 62, 2, 2, 2, 21, 2, 21, 101, 2, 2,
107
+ 2, 2, 21, 66, 35, 62, 39, 46, 47, 66,
108
+ 43, 62, 2, 2, 2, 43, 43, 43, 43, 43,
109
+ 51, 43, 43, 43, 66, 43, 71, 74, 43, 43,
110
+ 43, 43, 80, 61, 71, 74, 64, 78, 82, 80,
111
+ 48, 48, 43, 43, 43, 48, 48, 48, 48, 48,
112
+ 100, 48, 48, 48, 96, 48, 70, 70, 48, 48,
113
+ 48, 48, 96, 103, 104, 70, 111, 116, 128, nil,
114
+ nil, 70, 48, 48, 48, 69, 68, 70, 69, nil,
115
+ 69, 69, 69, 69, 69, nil, 69, 69, 69, 109,
116
+ 69, nil, nil, 69, 69, 69, 69, 109, 68, 68,
117
+ 68, 68, 68, 68, 68, 68, 113, 69, 69, 69,
118
+ 79, nil, nil, 79, 113, 79, 79, 79, 79, 79,
119
+ nil, 79, 79, 79, nil, 79, nil, nil, 79, 79,
120
+ 79, 79, 7, 7, 7, 7, 7, 7, 7, 7,
121
+ 90, nil, 79, 79, 79, 90, 90, 90, 90, 90,
122
+ nil, 90, 90, 90, nil, 90, nil, nil, 90, 90,
123
+ 90, 90, 26, 26, 26, 26, 26, 26, 26, 26,
124
+ 97, nil, 90, 90, 90, 97, 97, 97, 97, 97,
125
+ nil, 97, 97, 97, nil, 97, nil, nil, 97, 97,
126
+ 97, 97, 63, 63, 63, 63, 63, 63, 63, 63,
127
+ nil, nil, 97, 97, 97, 107, nil, nil, 107, 107,
128
+ 107, 107, 107, 107, 107, nil, 107, 107, 107, nil,
129
+ 107, nil, nil, 107, 107, 107, 107, 75, 75, 75,
130
+ 75, 75, 75, 75, 75, 110, nil, 107, 107, 107,
131
+ 110, 110, 110, 110, 110, nil, 110, 110, 110, nil,
132
+ 110, nil, nil, 110, 110, 110, 110, 76, 76, 76,
133
+ 76, 76, 76, 76, 76, nil, nil, 110, 110, 110,
134
+ 112, nil, nil, 112, nil, 112, 112, 112, 112, 112,
135
+ nil, 112, 112, 112, nil, 112, nil, nil, 112, 112,
136
+ 112, 112, 81, 81, 81, 81, 81, 81, 81, 81,
137
+ 122, nil, 112, 112, 112, 122, 122, 122, 122, 122,
138
+ nil, 122, 122, 122, nil, 122, nil, nil, 122, 122,
139
+ 122, 122, 83, 83, 83, 83, 83, 83, 83, 83,
140
+ nil, nil, 122, 122, 122, 124, nil, nil, 124, nil,
141
+ 124, 124, 124, 124, 124, nil, 124, 124, 124, nil,
142
+ 124, nil, nil, 124, 124, 124, 124, 133, 133, 133,
143
+ 133, 133, 133, 133, 133, nil, nil, 124, 124, 124,
144
+ 130, nil, nil, 130, nil, 130, 130, 130, 130, 130,
145
+ nil, 130, 130, 130, 34, 130, 34, 34, 130, 130,
146
+ 130, 130, nil, nil, nil, nil, 34, 34, nil, nil,
147
+ nil, nil, 130, 130, 130, 41, nil, 41, 41, nil,
148
+ 34, 34, 44, nil, 44, 44, nil, 41, 41, nil,
149
+ nil, nil, nil, nil, 44, 44, nil, nil, nil, nil,
150
+ nil, 41, 41, 45, nil, 45, 45, nil, 44, 44,
151
+ 50, nil, 50, 50, nil, 45, 45, nil, nil, nil,
152
+ nil, nil, 50, 50, nil, nil, nil, nil, nil, 45,
153
+ 45, 52, nil, 52, 52, nil, 50, 50, 93, nil,
154
+ 93, 93, nil, 52, 52, nil, nil, nil, nil, nil,
155
+ 93, 93, nil, nil, nil, nil, nil, 52, 52, 94,
156
+ nil, 94, 94, nil, 93, 93, 129, nil, 129, 129,
157
+ nil, 94, 94, nil, nil, nil, nil, nil, 129, 129,
158
+ nil, nil, nil, nil, nil, 94, 94, nil, nil, nil,
159
+ nil, nil, 129, 129 ]
160
+
161
+ racc_action_pointer = [
162
+ -8, 1, 22, nil, nil, nil, nil, 150, nil, nil,
163
+ nil, nil, nil, nil, nil, nil, nil, nil, -6, 3,
164
+ 7, 22, 10, 12, nil, -8, 180, 12, nil, nil,
165
+ nil, nil, nil, nil, 420, 38, nil, nil, nil, 56,
166
+ nil, 441, nil, 52, 448, 469, 32, 41, 82, nil,
167
+ 476, 53, 497, nil, nil, nil, nil, nil, nil, nil,
168
+ nil, 66, 31, 210, 56, nil, 32, nil, 116, 117,
169
+ 97, 66, nil, nil, 67, 245, 275, nil, 78, 152,
170
+ 72, 310, 79, 340, nil, -17, nil, nil, nil, nil,
171
+ 182, nil, nil, 504, 525, nil, 94, 212, nil, nil,
172
+ 83, 5, nil, 102, 103, nil, nil, 247, nil, 129,
173
+ 277, 99, 312, 146, nil, nil, 86, nil, nil, nil,
174
+ nil, nil, 342, nil, 377, nil, nil, nil, 101, 532,
175
+ 412, nil, nil, 375, nil ]
176
+
177
+ racc_action_default = [
178
+ -4, -84, -1, -2, -5, -6, -7, -8, -9, -10,
179
+ -11, -12, -13, -14, -15, -16, -17, -18, -84, -84,
180
+ -84, -44, -84, -84, -38, -49, -41, -84, -45, -46,
181
+ -47, -51, -52, -53, -84, -84, -80, -81, -82, -84,
182
+ -3, -84, -22, -4, -83, -84, -84, -84, -4, -37,
183
+ -84, -84, -84, -72, -73, -74, -75, -76, -77, -78,
184
+ -79, -84, -44, -54, -49, -50, -84, 135, -84, -84,
185
+ -44, -84, -25, -27, -45, -30, -39, -43, -84, -84,
186
+ -84, -40, -84, -48, -42, -84, -56, -58, -59, -60,
187
+ -4, -23, -24, -83, -83, -33, -84, -4, -34, -36,
188
+ -83, -84, -57, -59, -60, -61, -64, -84, -26, -84,
189
+ -4, -84, -84, -84, -67, -69, -84, -55, -62, -63,
190
+ -65, -19, -4, -71, -84, -35, -32, -66, -83, -84,
191
+ -84, -31, -68, -70, -20 ]
192
+
193
+ racc_goto_table = [
194
+ 40, 2, 65, 71, 89, 98, 115, 88, 86, 65,
195
+ 114, 1, 65, 65, 63, 106, 108, 105, 65, 96,
196
+ 65, 68, 85, 104, 75, 76, 103, 102, 101, 113,
197
+ 81, 106, 83, 118, 115, nil, 125, nil, 132, 119,
198
+ nil, nil, 120, nil, 69, nil, nil, nil, nil, 79,
199
+ nil, nil, nil, 109, nil, nil, nil, nil, nil, nil,
200
+ nil, 65, 65, nil, nil, nil, nil, 40, nil, nil,
201
+ nil, nil, nil, 75, 75, nil, nil, 40, nil, nil,
202
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
203
+ nil, 107, nil, nil, nil, nil, nil, 65, 112, nil,
204
+ nil, nil, nil, nil, nil, 40, nil, nil, nil, 133,
205
+ 40, 124, nil, nil, nil, nil, nil, nil, nil, nil,
206
+ nil, nil, 40, 130, nil, nil, nil, nil, 40 ]
207
+
208
+ racc_goto_check = [
209
+ 3, 2, 7, 20, 4, 24, 22, 12, 31, 7,
210
+ 34, 1, 7, 7, 18, 8, 21, 32, 7, 23,
211
+ 7, 18, 29, 4, 18, 18, 12, 31, 30, 33,
212
+ 18, 8, 18, 32, 22, nil, 24, nil, 34, 4,
213
+ nil, nil, 12, nil, 2, nil, nil, nil, nil, 2,
214
+ nil, nil, nil, 20, nil, nil, nil, nil, nil, nil,
215
+ nil, 7, 7, nil, nil, nil, nil, 3, nil, nil,
216
+ nil, nil, nil, 18, 18, nil, nil, 3, nil, nil,
217
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
218
+ nil, 2, nil, nil, nil, nil, nil, 7, 2, nil,
219
+ nil, nil, nil, nil, nil, 3, nil, nil, nil, 18,
220
+ 3, 2, nil, nil, nil, nil, nil, nil, nil, nil,
221
+ nil, nil, 3, 2, nil, nil, nil, nil, 3 ]
222
+
223
+ racc_goto_pointer = [
224
+ nil, 11, 1, -2, -62, nil, nil, -32, -70, nil,
225
+ nil, nil, -59, nil, nil, nil, nil, nil, -20, nil,
226
+ -41, -77, -94, -61, -75, nil, nil, nil, nil, -44,
227
+ -57, -58, -68, -71, -90 ]
228
+
229
+ racc_goto_default = [
230
+ nil, nil, nil, 3, 4, 5, 6, 7, 8, 9,
231
+ 10, 11, 12, 13, 14, 15, 16, 17, 26, nil,
232
+ nil, 72, 73, nil, nil, 30, 52, 32, 33, nil,
233
+ nil, nil, nil, nil, nil ]
234
+
235
+ racc_reduce_table = [
236
+ 0, 0, :racc_error,
237
+ 1, 44, :_reduce_none,
238
+ 1, 45, :_reduce_none,
239
+ 2, 45, :_reduce_3,
240
+ 0, 46, :_reduce_none,
241
+ 1, 46, :_reduce_none,
242
+ 1, 46, :_reduce_none,
243
+ 1, 46, :_reduce_none,
244
+ 1, 46, :_reduce_none,
245
+ 1, 46, :_reduce_none,
246
+ 1, 46, :_reduce_none,
247
+ 1, 46, :_reduce_none,
248
+ 1, 46, :_reduce_none,
249
+ 1, 46, :_reduce_none,
250
+ 1, 46, :_reduce_none,
251
+ 1, 46, :_reduce_none,
252
+ 1, 46, :_reduce_none,
253
+ 1, 46, :_reduce_none,
254
+ 1, 46, :_reduce_none,
255
+ 6, 56, :_reduce_19,
256
+ 8, 56, :_reduce_20,
257
+ 2, 62, :_reduce_none,
258
+ 2, 49, :_reduce_22,
259
+ 4, 48, :_reduce_23,
260
+ 4, 50, :_reduce_24,
261
+ 1, 63, :_reduce_25,
262
+ 3, 63, :_reduce_26,
263
+ 1, 64, :_reduce_none,
264
+ 1, 64, :_reduce_28,
265
+ 1, 64, :_reduce_29,
266
+ 1, 64, :_reduce_30,
267
+ 7, 51, :_reduce_31,
268
+ 6, 51, :_reduce_32,
269
+ 4, 51, :_reduce_33,
270
+ 1, 66, :_reduce_34,
271
+ 3, 66, :_reduce_35,
272
+ 1, 67, :_reduce_36,
273
+ 2, 52, :_reduce_37,
274
+ 1, 47, :_reduce_38,
275
+ 3, 53, :_reduce_39,
276
+ 3, 54, :_reduce_40,
277
+ 1, 57, :_reduce_41,
278
+ 3, 58, :_reduce_42,
279
+ 3, 61, :_reduce_43,
280
+ 1, 61, :_reduce_44,
281
+ 1, 61, :_reduce_45,
282
+ 1, 61, :_reduce_46,
283
+ 1, 61, :_reduce_none,
284
+ 3, 61, :_reduce_48,
285
+ 1, 61, :_reduce_49,
286
+ 1, 61, :_reduce_none,
287
+ 1, 61, :_reduce_51,
288
+ 1, 61, :_reduce_none,
289
+ 1, 61, :_reduce_none,
290
+ 2, 59, :_reduce_54,
291
+ 5, 60, :_reduce_55,
292
+ 1, 72, :_reduce_none,
293
+ 2, 72, :_reduce_57,
294
+ 1, 74, :_reduce_58,
295
+ 1, 74, :_reduce_none,
296
+ 1, 74, :_reduce_none,
297
+ 1, 73, :_reduce_none,
298
+ 2, 73, :_reduce_62,
299
+ 1, 75, :_reduce_none,
300
+ 1, 75, :_reduce_none,
301
+ 1, 75, :_reduce_none,
302
+ 6, 70, :_reduce_66,
303
+ 1, 76, :_reduce_none,
304
+ 3, 76, :_reduce_68,
305
+ 1, 77, :_reduce_none,
306
+ 3, 77, :_reduce_70,
307
+ 6, 71, :_reduce_71,
308
+ 1, 69, :_reduce_72,
309
+ 1, 69, :_reduce_73,
310
+ 1, 69, :_reduce_74,
311
+ 1, 69, :_reduce_75,
312
+ 1, 69, :_reduce_76,
313
+ 1, 69, :_reduce_77,
314
+ 1, 69, :_reduce_78,
315
+ 1, 69, :_reduce_79,
316
+ 1, 68, :_reduce_80,
317
+ 1, 68, :_reduce_81,
318
+ 1, 55, :_reduce_82,
319
+ 0, 65, :_reduce_none ]
320
+
321
+ racc_reduce_n = 84
322
+
323
+ racc_shift_n = 135
324
+
325
+ racc_token_table = {
326
+ false => 0,
327
+ :error => 1,
328
+ :UMINUS => 2,
329
+ "^" => 3,
330
+ "*" => 4,
331
+ "/" => 5,
332
+ "+" => 6,
333
+ "-" => 7,
334
+ :KEYWORD_IF => 8,
335
+ :LPAREN => 9,
336
+ :RPAREN => 10,
337
+ :KEYWORD_END => 11,
338
+ :KEYWORD_ELSE => 12,
339
+ :KEYWORD_REQUIRE => 13,
340
+ :STRING => 14,
341
+ :KEYWORD_MODULE => 15,
342
+ :CONSTANT => 16,
343
+ :IDENTIFIER => 17,
344
+ :COMMA => 18,
345
+ :KEYWORD_DEF => 19,
346
+ :KEYWORD_INCLUDE => 20,
347
+ :COMMENT => 21,
348
+ :KEYWORD_ASSIGN => 22,
349
+ :KEYWORD_ALIAS => 23,
350
+ "(" => 24,
351
+ ")" => 25,
352
+ :INTEGER => 26,
353
+ :INSTANCE_VARIABLE => 27,
354
+ :KEYWORD_RETURN => 28,
355
+ :KEYWORD_CLASS => 29,
356
+ :DOT => 30,
357
+ :COLON => 31,
358
+ :PLUS => 32,
359
+ :MINUS => 33,
360
+ :MULTIPLY => 34,
361
+ :DIVIDE => 35,
362
+ :GREATER => 36,
363
+ :LESS => 37,
364
+ :EQUAL => 38,
365
+ :MOD => 39,
366
+ :KEYWORD_TRUE => 40,
367
+ :KEYWORD_FALSE => 41,
368
+ :BLANK_LINE => 42 }
369
+
370
+ racc_nt_base = 43
371
+
372
+ racc_use_result_var = false
373
+
374
+ Racc_arg = [
375
+ racc_action_table,
376
+ racc_action_check,
377
+ racc_action_default,
378
+ racc_action_pointer,
379
+ racc_goto_table,
380
+ racc_goto_check,
381
+ racc_goto_default,
382
+ racc_goto_pointer,
383
+ racc_nt_base,
384
+ racc_reduce_table,
385
+ racc_token_table,
386
+ racc_shift_n,
387
+ racc_reduce_n,
388
+ racc_use_result_var ]
389
+
390
+ Racc_token_to_s_table = [
391
+ "$end",
392
+ "error",
393
+ "UMINUS",
394
+ "\"^\"",
395
+ "\"*\"",
396
+ "\"/\"",
397
+ "\"+\"",
398
+ "\"-\"",
399
+ "KEYWORD_IF",
400
+ "LPAREN",
401
+ "RPAREN",
402
+ "KEYWORD_END",
403
+ "KEYWORD_ELSE",
404
+ "KEYWORD_REQUIRE",
405
+ "STRING",
406
+ "KEYWORD_MODULE",
407
+ "CONSTANT",
408
+ "IDENTIFIER",
409
+ "COMMA",
410
+ "KEYWORD_DEF",
411
+ "KEYWORD_INCLUDE",
412
+ "COMMENT",
413
+ "KEYWORD_ASSIGN",
414
+ "KEYWORD_ALIAS",
415
+ "\"(\"",
416
+ "\")\"",
417
+ "INTEGER",
418
+ "INSTANCE_VARIABLE",
419
+ "KEYWORD_RETURN",
420
+ "KEYWORD_CLASS",
421
+ "DOT",
422
+ "COLON",
423
+ "PLUS",
424
+ "MINUS",
425
+ "MULTIPLY",
426
+ "DIVIDE",
427
+ "GREATER",
428
+ "LESS",
429
+ "EQUAL",
430
+ "MOD",
431
+ "KEYWORD_TRUE",
432
+ "KEYWORD_FALSE",
433
+ "BLANK_LINE",
434
+ "$start",
435
+ "target",
436
+ "statement_list",
437
+ "statement",
438
+ "comment_statement",
439
+ "module_statement",
440
+ "require_statement",
441
+ "func_call",
442
+ "func_def",
443
+ "include_statement",
444
+ "assignment_statement",
445
+ "constant_assignment_statement",
446
+ "blank_line",
447
+ "if_statement",
448
+ "expression_statement",
449
+ "alias_statement",
450
+ "return_statement",
451
+ "class_statement",
452
+ "expression",
453
+ "else_statement",
454
+ "args",
455
+ "arg",
456
+ "none",
457
+ "func_def_args",
458
+ "func_def_arg",
459
+ "boolean",
460
+ "number_operator",
461
+ "class_new",
462
+ "class_instance_method_call",
463
+ "instance_variables_def",
464
+ "methods_def",
465
+ "instance_variable_def",
466
+ "method_def",
467
+ "arg_options",
468
+ "arg_option" ]
469
+
470
+ Racc_debug_parser = false
471
+
472
+ ##### State transition tables end #####
473
+
474
+ # reduce 0 omitted
475
+
476
+ # reduce 1 omitted
477
+
478
+ # reduce 2 omitted
479
+
480
+ module_eval(<<'.,.,', 'parse.y', 17)
481
+ def _reduce_3(val, _values)
482
+ val
483
+ end
484
+ .,.,
485
+
486
+ # reduce 4 omitted
487
+
488
+ # reduce 5 omitted
489
+
490
+ # reduce 6 omitted
491
+
492
+ # reduce 7 omitted
493
+
494
+ # reduce 8 omitted
495
+
496
+ # reduce 9 omitted
497
+
498
+ # reduce 10 omitted
499
+
500
+ # reduce 11 omitted
501
+
502
+ # reduce 12 omitted
503
+
504
+ # reduce 13 omitted
505
+
506
+ # reduce 14 omitted
507
+
508
+ # reduce 15 omitted
509
+
510
+ # reduce 16 omitted
511
+
512
+ # reduce 17 omitted
513
+
514
+ # reduce 18 omitted
515
+
516
+ module_eval(<<'.,.,', 'parse.y', 40)
517
+ def _reduce_19(val, _values)
518
+ Node.new(:if, val[2], val[4])
519
+ end
520
+ .,.,
521
+
522
+ module_eval(<<'.,.,', 'parse.y', 43)
523
+ def _reduce_20(val, _values)
524
+ Node.new(:if_else, val[2], [val[4], val[6]])
525
+ end
526
+ .,.,
527
+
528
+ # reduce 21 omitted
529
+
530
+ module_eval(<<'.,.,', 'parse.y', 49)
531
+ def _reduce_22(val, _values)
532
+ Node.new(:require, val[1])
533
+ end
534
+ .,.,
535
+
536
+ module_eval(<<'.,.,', 'parse.y', 53)
537
+ def _reduce_23(val, _values)
538
+ Node.new(:module, val[1], val[2])
539
+ end
540
+ .,.,
541
+
542
+ module_eval(<<'.,.,', 'parse.y', 56)
543
+ def _reduce_24(val, _values)
544
+ Node.new(:func_call, val[0], val[2])
545
+ end
546
+ .,.,
547
+
548
+ module_eval(<<'.,.,', 'parse.y', 59)
549
+ def _reduce_25(val, _values)
550
+ Array(val[0]).flatten
551
+ end
552
+ .,.,
553
+
554
+ module_eval(<<'.,.,', 'parse.y', 60)
555
+ def _reduce_26(val, _values)
556
+ [val[0], val[2]].flatten
557
+ end
558
+ .,.,
559
+
560
+ # reduce 27 omitted
561
+
562
+ module_eval(<<'.,.,', 'parse.y', 65)
563
+ def _reduce_28(val, _values)
564
+ Node.new(:string, val[0])
565
+ end
566
+ .,.,
567
+
568
+ module_eval(<<'.,.,', 'parse.y', 66)
569
+ def _reduce_29(val, _values)
570
+ Node.new(:variable, val[0])
571
+ end
572
+ .,.,
573
+
574
+ module_eval(<<'.,.,', 'parse.y', 67)
575
+ def _reduce_30(val, _values)
576
+ val[0]
577
+ end
578
+ .,.,
579
+
580
+ module_eval(<<'.,.,', 'parse.y', 73)
581
+ def _reduce_31(val, _values)
582
+ Node.new(:func_def, val[1], [val[3], val[5]])
583
+ end
584
+ .,.,
585
+
586
+ module_eval(<<'.,.,', 'parse.y', 76)
587
+ def _reduce_32(val, _values)
588
+ Node.new(:func_def, val[1], [nil, val[4]])
589
+ end
590
+ .,.,
591
+
592
+ module_eval(<<'.,.,', 'parse.y', 79)
593
+ def _reduce_33(val, _values)
594
+ Node.new(:func_def, val[1], [nil, val[2]])
595
+ end
596
+ .,.,
597
+
598
+ module_eval(<<'.,.,', 'parse.y', 84)
599
+ def _reduce_34(val, _values)
600
+ val[0]
601
+ end
602
+ .,.,
603
+
604
+ module_eval(<<'.,.,', 'parse.y', 85)
605
+ def _reduce_35(val, _values)
606
+ [val[0], val[2]].flatten
607
+ end
608
+ .,.,
609
+
610
+ module_eval(<<'.,.,', 'parse.y', 89)
611
+ def _reduce_36(val, _values)
612
+ Node.new(:variable, val[0])
613
+ end
614
+ .,.,
615
+
616
+ module_eval(<<'.,.,', 'parse.y', 92)
617
+ def _reduce_37(val, _values)
618
+ Node.new(:include, val[1])
619
+ end
620
+ .,.,
621
+
622
+ module_eval(<<'.,.,', 'parse.y', 94)
623
+ def _reduce_38(val, _values)
624
+ Node.new(:comment, val[0])
625
+ end
626
+ .,.,
627
+
628
+ module_eval(<<'.,.,', 'parse.y', 96)
629
+ def _reduce_39(val, _values)
630
+ Node.new(:assignment, val[0], [val[2]])
631
+ end
632
+ .,.,
633
+
634
+ module_eval(<<'.,.,', 'parse.y', 98)
635
+ def _reduce_40(val, _values)
636
+ Node.new(:constant_assignment, val[0], [val[2]])
637
+ end
638
+ .,.,
639
+
640
+ module_eval(<<'.,.,', 'parse.y', 101)
641
+ def _reduce_41(val, _values)
642
+ Node.new(:return, nil, val[0])
643
+ end
644
+ .,.,
645
+
646
+ module_eval(<<'.,.,', 'parse.y', 105)
647
+ def _reduce_42(val, _values)
648
+ Node.new(:alias, val[1], val[2])
649
+ end
650
+ .,.,
651
+
652
+ module_eval(<<'.,.,', 'parse.y', 109)
653
+ def _reduce_43(val, _values)
654
+ val[0,3].join
655
+ end
656
+ .,.,
657
+
658
+ module_eval(<<'.,.,', 'parse.y', 110)
659
+ def _reduce_44(val, _values)
660
+ Node.new(:variable, val[0])
661
+ end
662
+ .,.,
663
+
664
+ module_eval(<<'.,.,', 'parse.y', 111)
665
+ def _reduce_45(val, _values)
666
+ Node.new(:string, val[0])
667
+ end
668
+ .,.,
669
+
670
+ module_eval(<<'.,.,', 'parse.y', 112)
671
+ def _reduce_46(val, _values)
672
+ Node.new(:integer, val[0].to_i)
673
+ end
674
+ .,.,
675
+
676
+ # reduce 47 omitted
677
+
678
+ module_eval(<<'.,.,', 'parse.y', 114)
679
+ def _reduce_48(val, _values)
680
+ Node.new(val[1], nil, [val[0], val[2]])
681
+ end
682
+ .,.,
683
+
684
+ module_eval(<<'.,.,', 'parse.y', 115)
685
+ def _reduce_49(val, _values)
686
+ Node.new(:constant, val[0])
687
+ end
688
+ .,.,
689
+
690
+ # reduce 50 omitted
691
+
692
+ module_eval(<<'.,.,', 'parse.y', 117)
693
+ def _reduce_51(val, _values)
694
+ Node.new(:instance_variable_get, val[0])
695
+ end
696
+ .,.,
697
+
698
+ # reduce 52 omitted
699
+
700
+ # reduce 53 omitted
701
+
702
+ module_eval(<<'.,.,', 'parse.y', 124)
703
+ def _reduce_54(val, _values)
704
+ Node.new(:return, nil, val[1])
705
+ end
706
+ .,.,
707
+
708
+ module_eval(<<'.,.,', 'parse.y', 129)
709
+ def _reduce_55(val, _values)
710
+ Node.new(:class, val[1], [val[2], val[3]])
711
+ end
712
+ .,.,
713
+
714
+ # reduce 56 omitted
715
+
716
+ module_eval(<<'.,.,', 'parse.y', 135)
717
+ def _reduce_57(val, _values)
718
+ val.flatten
719
+ end
720
+ .,.,
721
+
722
+ module_eval(<<'.,.,', 'parse.y', 139)
723
+ def _reduce_58(val, _values)
724
+ Node.new(:instance_variable_def, val[0])
725
+ end
726
+ .,.,
727
+
728
+ # reduce 59 omitted
729
+
730
+ # reduce 60 omitted
731
+
732
+ # reduce 61 omitted
733
+
734
+ module_eval(<<'.,.,', 'parse.y', 147)
735
+ def _reduce_62(val, _values)
736
+ val.flatten
737
+ end
738
+ .,.,
739
+
740
+ # reduce 63 omitted
741
+
742
+ # reduce 64 omitted
743
+
744
+ # reduce 65 omitted
745
+
746
+ module_eval(<<'.,.,', 'parse.y', 158)
747
+ def _reduce_66(val, _values)
748
+ Node.new(:class_method_call, val[0], [val[2], val[4]])
749
+ end
750
+ .,.,
751
+
752
+ # reduce 67 omitted
753
+
754
+ module_eval(<<'.,.,', 'parse.y', 163)
755
+ def _reduce_68(val, _values)
756
+ [val[0], val[2]]
757
+ end
758
+ .,.,
759
+
760
+ # reduce 69 omitted
761
+
762
+ module_eval(<<'.,.,', 'parse.y', 168)
763
+ def _reduce_70(val, _values)
764
+ [val[0], val[2]]
765
+ end
766
+ .,.,
767
+
768
+ module_eval(<<'.,.,', 'parse.y', 172)
769
+ def _reduce_71(val, _values)
770
+ Node.new(:class_instance_method_call, val[0], [val[2], val[4]])
771
+ end
772
+ .,.,
773
+
774
+ module_eval(<<'.,.,', 'parse.y', 175)
775
+ def _reduce_72(val, _values)
776
+ :plus
777
+ end
778
+ .,.,
779
+
780
+ module_eval(<<'.,.,', 'parse.y', 176)
781
+ def _reduce_73(val, _values)
782
+ :minus
783
+ end
784
+ .,.,
785
+
786
+ module_eval(<<'.,.,', 'parse.y', 177)
787
+ def _reduce_74(val, _values)
788
+ :multiply
789
+ end
790
+ .,.,
791
+
792
+ module_eval(<<'.,.,', 'parse.y', 178)
793
+ def _reduce_75(val, _values)
794
+ :divide
795
+ end
796
+ .,.,
797
+
798
+ module_eval(<<'.,.,', 'parse.y', 179)
799
+ def _reduce_76(val, _values)
800
+ :greater
801
+ end
802
+ .,.,
803
+
804
+ module_eval(<<'.,.,', 'parse.y', 180)
805
+ def _reduce_77(val, _values)
806
+ :less
807
+ end
808
+ .,.,
809
+
810
+ module_eval(<<'.,.,', 'parse.y', 181)
811
+ def _reduce_78(val, _values)
812
+ :equal
813
+ end
814
+ .,.,
815
+
816
+ module_eval(<<'.,.,', 'parse.y', 182)
817
+ def _reduce_79(val, _values)
818
+ :mod
819
+ end
820
+ .,.,
821
+
822
+ module_eval(<<'.,.,', 'parse.y', 186)
823
+ def _reduce_80(val, _values)
824
+ Node.new(:boolean, true)
825
+ end
826
+ .,.,
827
+
828
+ module_eval(<<'.,.,', 'parse.y', 187)
829
+ def _reduce_81(val, _values)
830
+ Node.new(:boolean, false)
831
+ end
832
+ .,.,
833
+
834
+ module_eval(<<'.,.,', 'parse.y', 190)
835
+ def _reduce_82(val, _values)
836
+ Node.new(:blank_line, "")
837
+ end
838
+ .,.,
839
+
840
+ # reduce 83 omitted
841
+
842
+ def _reduce_none(val, _values)
843
+ val[0]
844
+ end
845
+
846
+ end # class Parser
847
+ end # module Rgo