tp_plus 0.0.87 → 0.0.88

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +87 -87
  3. data/Rakefile +35 -35
  4. data/bin/tpp +92 -92
  5. data/lib/tp_plus/interpreter.rb +153 -152
  6. data/lib/tp_plus/namespace.rb +66 -66
  7. data/lib/tp_plus/nodes/abort_node.rb +9 -9
  8. data/lib/tp_plus/nodes/acc_node.rb +24 -19
  9. data/lib/tp_plus/nodes/address_node.rb +22 -22
  10. data/lib/tp_plus/nodes/argument_node.rb +20 -20
  11. data/lib/tp_plus/nodes/assignment_node.rb +52 -52
  12. data/lib/tp_plus/nodes/base_node.rb +9 -9
  13. data/lib/tp_plus/nodes/call_node.rb +34 -34
  14. data/lib/tp_plus/nodes/case_condition_node.rb +26 -26
  15. data/lib/tp_plus/nodes/case_node.rb +33 -33
  16. data/lib/tp_plus/nodes/comment_node.rb +18 -18
  17. data/lib/tp_plus/nodes/conditional_node.rb +60 -60
  18. data/lib/tp_plus/nodes/definition_node.rb +22 -22
  19. data/lib/tp_plus/nodes/digit_node.rb +22 -22
  20. data/lib/tp_plus/nodes/empty_stmt_node.rb +9 -9
  21. data/lib/tp_plus/nodes/eval_node.rb +13 -13
  22. data/lib/tp_plus/nodes/expression_node.rb +71 -68
  23. data/lib/tp_plus/nodes/for_node.rb +20 -20
  24. data/lib/tp_plus/nodes/header_node.rb +27 -27
  25. data/lib/tp_plus/nodes/indirect_node.rb +27 -27
  26. data/lib/tp_plus/nodes/inline_conditional_node.rb +36 -36
  27. data/lib/tp_plus/nodes/io_method_node.rb +55 -55
  28. data/lib/tp_plus/nodes/io_node.rb +31 -31
  29. data/lib/tp_plus/nodes/jpos_node.rb +13 -13
  30. data/lib/tp_plus/nodes/jump_node.rb +23 -23
  31. data/lib/tp_plus/nodes/label_definition_node.rb +21 -21
  32. data/lib/tp_plus/nodes/lpos_node.rb +13 -13
  33. data/lib/tp_plus/nodes/motion_node.rb +62 -62
  34. data/lib/tp_plus/nodes/namespace_node.rb +16 -16
  35. data/lib/tp_plus/nodes/namespaced_var_node.rb +38 -38
  36. data/lib/tp_plus/nodes/numreg_node.rb +26 -26
  37. data/lib/tp_plus/nodes/offset_node.rb +27 -27
  38. data/lib/tp_plus/nodes/operator_node.rb +78 -80
  39. data/lib/tp_plus/nodes/paren_expression_node.rb +17 -17
  40. data/lib/tp_plus/nodes/pause_node.rb +9 -9
  41. data/lib/tp_plus/nodes/position_data_node.rb +66 -66
  42. data/lib/tp_plus/nodes/position_node.rb +26 -26
  43. data/lib/tp_plus/nodes/posreg_node.rb +64 -64
  44. data/lib/tp_plus/nodes/raise_node.rb +13 -13
  45. data/lib/tp_plus/nodes/real_node.rb +27 -27
  46. data/lib/tp_plus/nodes/return_node.rb +9 -9
  47. data/lib/tp_plus/nodes/set_skip_node.rb +14 -14
  48. data/lib/tp_plus/nodes/skip_node.rb +22 -22
  49. data/lib/tp_plus/nodes/speed_node.rb +29 -29
  50. data/lib/tp_plus/nodes/string_node.rb +13 -13
  51. data/lib/tp_plus/nodes/string_register_node.rb +26 -26
  52. data/lib/tp_plus/nodes/termination_node.rb +29 -23
  53. data/lib/tp_plus/nodes/terminator_node.rb +16 -16
  54. data/lib/tp_plus/nodes/time_node.rb +24 -24
  55. data/lib/tp_plus/nodes/timer_method_node.rb +33 -33
  56. data/lib/tp_plus/nodes/timer_node.rb +16 -16
  57. data/lib/tp_plus/nodes/unary_expression_node.rb +40 -39
  58. data/lib/tp_plus/nodes/units_node.rb +20 -20
  59. data/lib/tp_plus/nodes/use_node.rb +21 -21
  60. data/lib/tp_plus/nodes/user_alarm_node.rb +16 -16
  61. data/lib/tp_plus/nodes/var_method_node.rb +23 -23
  62. data/lib/tp_plus/nodes/var_node.rb +39 -39
  63. data/lib/tp_plus/nodes/vision_register_node.rb +22 -22
  64. data/lib/tp_plus/nodes/wait_for_node.rb +57 -50
  65. data/lib/tp_plus/nodes/wait_until_node.rb +61 -61
  66. data/lib/tp_plus/nodes/while_node.rb +40 -40
  67. data/lib/tp_plus/parser.rb +1749 -1749
  68. data/lib/tp_plus/scanner.rb +295 -295
  69. data/lib/tp_plus/token.rb +101 -101
  70. data/lib/tp_plus/version.rb +3 -3
  71. data/lib/tp_plus.rb +72 -72
  72. data/test/test_helper.rb +5 -5
  73. data/test/tp_plus/test_interpreter.rb +1378 -1372
  74. data/test/tp_plus/test_parser.rb +502 -502
  75. data/test/tp_plus/test_scanner.rb +591 -591
  76. data/tp_plus.gemspec +31 -31
  77. metadata +4 -3
@@ -1,1749 +1,1749 @@
1
- #
2
- # DO NOT MODIFY!!!!
3
- # This file is automatically generated by Racc 1.4.14
4
- # from Racc grammer file "".
5
- #
6
-
7
- require 'racc/parser.rb'
8
- module TPPlus
9
- class Parser < Racc::Parser
10
-
11
-
12
- include TPPlus::Nodes
13
-
14
- attr_reader :interpreter
15
- def initialize(scanner, interpreter = TPPlus::Interpreter.new)
16
- @scanner = scanner
17
- @interpreter = interpreter
18
- super()
19
- end
20
-
21
- def next_token
22
- t = @scanner.next_token
23
- @interpreter.line_count += 1 if t && t[0] == :NEWLINE
24
-
25
- #puts t.inspect
26
- t
27
- end
28
-
29
- def parse
30
- #@yydebug =true
31
-
32
- do_parse
33
- @interpreter
34
- end
35
-
36
- def on_error(t, val, vstack)
37
- raise ParseError, sprintf("Parse error on line #{@scanner.tok_line} column #{@scanner.tok_col}: %s (%s)",
38
- val.inspect, token_to_str(t) || '?')
39
- end
40
-
41
- class ParseError < StandardError ; end
42
- ##### State transition tables begin ###
43
-
44
- racc_action_table = [
45
- 66, 66, 66, 66, 288, 108, 78, 372, 66, 45,
46
- 42, 139, 268, 278, 222, 45, 78, 129, 88, 78,
47
- 57, 105, 71, 71, 71, 71, 42, 247, 45, 387,
48
- 30, 234, 120, 229, 40, 121, 108, 233, 230, 64,
49
- 321, 169, 87, 88, 78, 169, 87, 88, 78, 64,
50
- 321, 46, 129, 321, 47, 48, 140, 49, 35, 36,
51
- 286, 78, 38, 39, 50, 51, 109, 64, 78, 34,
52
- 313, 33, 32, 26, 27, 67, 231, 41, 31, 25,
53
- 66, 45, 42, 41, 73, 73, 73, 73, 37, 65,
54
- 28, 29, 57, 41, 64, 104, 41, 109, 236, 65,
55
- 237, 64, 30, 65, 123, 369, 40, 169, 87, 88,
56
- 78, 232, 124, 125, 112, 382, 87, 88, 78, 227,
57
- 87, 88, 78, 46, 316, 317, 47, 48, 226, 49,
58
- 35, 36, 103, 225, 38, 39, 50, 51, 221, 64,
59
- 222, 34, 224, 33, 32, 26, 27, 67, 240, 41,
60
- 31, 25, 66, 45, 42, 64, 240, 87, 88, 78,
61
- 37, 65, 28, 29, 57, 65, 242, 94, 101, 103,
62
- 87, 88, 78, 366, 30, 87, 88, 78, 40, 362,
63
- 363, 364, 365, 367, 87, 88, 78, 87, 88, 78,
64
- 161, 160, 64, 88, 78, 46, 349, 348, 47, 48,
65
- 243, 49, 35, 36, 244, 101, 38, 39, 50, 51,
66
- 247, 64, 223, 34, 65, 33, 32, 26, 27, 67,
67
- 217, 41, 31, 25, 66, 45, 42, 87, 88, 87,
68
- 88, 78, 37, 65, 28, 29, 57, 88, 78, 94,
69
- 248, 103, 87, 88, 78, 216, 30, 330, 88, 78,
70
- 40, 161, 160, 78, 87, 88, 78, 215, 214, 251,
71
- 103, 129, 129, 254, 64, 255, 212, 46, 211, 257,
72
- 47, 48, 258, 49, 35, 36, 259, 101, 38, 39,
73
- 50, 51, 260, 64, 261, 34, 65, 33, 32, 26,
74
- 27, 67, 334, 41, 31, 25, 262, 263, 264, 265,
75
- 336, 266, 214, 267, 37, 65, 28, 29, 193, 192,
76
- 190, 191, 188, 184, 210, 187, 185, 129, 129, 270,
77
- 199, 87, 88, 78, 87, 88, 78, 272, 199, 87,
78
- 88, 94, 202, 103, 94, 197, 103, 282, 87, 88,
79
- 78, 103, 87, 88, 78, 87, 88, 78, 94, 196,
80
- 103, 129, 94, 108, 103, 94, 64, 103, 284, 64,
81
- 78, 289, 129, 294, 295, 189, 296, 186, 297, 101,
82
- 298, 299, 101, 64, 330, 300, 301, 64, 65, 302,
83
- 64, 65, 87, 88, 78, 303, 101, 103, 330, 88,
84
- 101, 305, 94, 101, 103, 65, 87, 88, 78, 65,
85
- 306, 103, 65, 87, 88, 78, 94, 307, 103, 129,
86
- 87, 88, 78, 94, 129, 103, 78, 64, 311, 334,
87
- 94, 78, 103, 314, 87, 88, 78, 336, 315, 214,
88
- 101, 64, 134, 334, 94, 318, 103, 319, 64, 65,
89
- 132, 336, 129, 214, 101, 64, 128, 326, 327, 129,
90
- 78, 101, 129, 65, 338, 339, 340, 341, 101, 64,
91
- 65, 104, 122, 78, 346, 288, 118, 65, 129, 37,
92
- 78, 199, 101, 346, 129, 144, 145, 148, 149, 146,
93
- 147, 65, 150, 151, 153, 154, 155, 157, 152, 156,
94
- 144, 145, 148, 149, 146, 147, 37, 150, 151, 153,
95
- 154, 155, 157, 152, 156, 359, 360, 361, 199, 110,
96
- 82, 370, 371, 228, 144, 145, 148, 149, 146, 147,
97
- 220, 150, 151, 153, 154, 155, 157, 152, 156, 373,
98
- 199, 374, 375, 376, 377, 218, 144, 145, 148, 149,
99
- 146, 147, 129, 150, 151, 153, 154, 155, 157, 152,
100
- 156, 199, 379, 81, 80, 76, 78, 144, 145, 148,
101
- 149, 146, 147, 75, 150, 151, 153, 154, 155, 157,
102
- 152, 156, 144, 145, 148, 149, 146, 147, 37, 150,
103
- 151, 153, 154, 155, 157, 152, 156, 144, 145, 148,
104
- 149, 146, 147, 74, 150, 151, 153, 154, 155, 157,
105
- 152, 156, 144, 145, 148, 149, 146, 147, 394, 150,
106
- 151, 153, 154, 155, 157, 152, 156, 144, 145, 148,
107
- 149, 146, 147, 395, 150, 151, 153, 154, 155, 157,
108
- 152, 156, 144, 145, 148, 149, 146, 147, 396, 150,
109
- 151, 153, 154, 155, 157, 152, 156, 144, 145, 148,
110
- 149, 146, 147, 397, 150, 151, 153, 154, 155, 157,
111
- 152, 156, 144, 145, 148, 149, 146, 147, 398, 150,
112
- 151, 153, 154, 155, 157, 152, 156, 399, 400, 402,
113
- 403, 68, 407, 78, 409 ]
114
-
115
- racc_action_check = [
116
- 322, 69, 325, 3, 253, 78, 112, 363, 0, 0,
117
- 0, 76, 235, 245, 235, 308, 32, 285, 373, 373,
118
- 0, 40, 322, 69, 325, 3, 400, 245, 309, 373,
119
- 0, 195, 52, 190, 0, 52, 40, 195, 191, 112,
120
- 308, 197, 197, 197, 197, 104, 104, 104, 104, 32,
121
- 400, 0, 356, 309, 0, 0, 76, 0, 0, 0,
122
- 253, 33, 0, 0, 0, 0, 78, 0, 42, 0,
123
- 285, 0, 0, 0, 0, 0, 192, 0, 0, 0,
124
- 199, 199, 199, 308, 322, 69, 325, 3, 0, 0,
125
- 0, 0, 199, 400, 33, 40, 309, 40, 198, 197,
126
- 198, 42, 199, 104, 59, 356, 199, 222, 222, 222,
127
- 222, 193, 59, 59, 42, 371, 371, 371, 371, 188,
128
- 94, 94, 94, 199, 293, 293, 199, 199, 187, 199,
129
- 199, 199, 94, 186, 199, 199, 199, 199, 163, 199,
130
- 163, 199, 185, 199, 199, 199, 199, 199, 200, 199,
131
- 199, 199, 2, 2, 2, 94, 201, 210, 210, 210,
132
- 199, 199, 199, 199, 2, 222, 202, 210, 94, 210,
133
- 375, 375, 375, 355, 2, 38, 38, 38, 2, 355,
134
- 355, 355, 355, 355, 81, 81, 81, 247, 247, 247,
135
- 171, 171, 210, 242, 242, 2, 333, 333, 2, 2,
136
- 203, 2, 2, 2, 204, 210, 2, 2, 2, 2,
137
- 205, 2, 184, 2, 210, 2, 2, 2, 2, 2,
138
- 141, 2, 2, 2, 238, 238, 238, 237, 237, 211,
139
- 211, 211, 2, 2, 2, 2, 238, 306, 306, 211,
140
- 208, 211, 339, 339, 339, 137, 238, 378, 372, 372,
141
- 238, 102, 102, 102, 251, 251, 251, 136, 130, 212,
142
- 378, 213, 214, 217, 211, 218, 128, 238, 125, 223,
143
- 238, 238, 224, 238, 238, 238, 225, 211, 238, 238,
144
- 238, 238, 226, 238, 227, 238, 211, 238, 238, 238,
145
- 238, 238, 378, 238, 238, 238, 228, 229, 230, 231,
146
- 378, 232, 378, 234, 238, 238, 238, 238, 105, 105,
147
- 105, 105, 105, 105, 124, 105, 105, 122, 119, 239,
148
- 240, 47, 47, 47, 101, 101, 101, 241, 118, 105,
149
- 105, 47, 116, 47, 101, 110, 101, 248, 49, 49,
150
- 49, 105, 82, 82, 82, 143, 143, 143, 49, 109,
151
- 49, 108, 82, 106, 82, 143, 47, 143, 252, 101,
152
- 75, 254, 255, 257, 258, 105, 259, 105, 260, 47,
153
- 261, 262, 101, 49, 314, 263, 264, 82, 47, 265,
154
- 143, 101, 39, 39, 39, 266, 49, 314, 350, 267,
155
- 82, 269, 39, 143, 39, 49, 120, 120, 120, 82,
156
- 273, 350, 143, 123, 123, 123, 120, 276, 120, 278,
157
- 46, 46, 46, 123, 279, 123, 282, 39, 283, 314,
158
- 46, 74, 46, 288, 121, 121, 121, 314, 290, 314,
159
- 39, 120, 72, 350, 121, 304, 121, 305, 123, 39,
160
- 68, 350, 67, 350, 120, 46, 64, 310, 312, 313,
161
- 62, 123, 315, 120, 316, 317, 319, 320, 46, 121,
162
- 123, 321, 57, 51, 326, 328, 50, 46, 336, 338,
163
- 48, 341, 121, 344, 346, 159, 159, 159, 159, 159,
164
- 159, 121, 159, 159, 159, 159, 159, 159, 159, 159,
165
- 142, 142, 142, 142, 142, 142, 45, 142, 142, 142,
166
- 142, 142, 142, 142, 142, 351, 352, 353, 114, 41,
167
- 36, 360, 362, 189, 114, 114, 114, 114, 114, 114,
168
- 159, 114, 114, 114, 114, 114, 114, 114, 114, 364,
169
- 115, 365, 366, 367, 368, 142, 115, 115, 115, 115,
170
- 115, 115, 369, 115, 115, 115, 115, 115, 115, 115,
171
- 115, 117, 370, 35, 34, 31, 374, 117, 117, 117,
172
- 117, 117, 117, 29, 117, 117, 117, 117, 117, 117,
173
- 117, 117, 250, 250, 250, 250, 250, 250, 376, 250,
174
- 250, 250, 250, 250, 250, 250, 250, 249, 249, 249,
175
- 249, 249, 249, 28, 249, 249, 249, 249, 249, 249,
176
- 249, 249, 206, 206, 206, 206, 206, 206, 380, 206,
177
- 206, 206, 206, 206, 206, 206, 206, 219, 219, 219,
178
- 219, 219, 219, 381, 219, 219, 219, 219, 219, 219,
179
- 219, 219, 209, 209, 209, 209, 209, 209, 383, 209,
180
- 209, 209, 209, 209, 209, 209, 209, 89, 89, 89,
181
- 89, 89, 89, 384, 89, 89, 89, 89, 89, 89,
182
- 89, 89, 207, 207, 207, 207, 207, 207, 387, 207,
183
- 207, 207, 207, 207, 207, 207, 207, 388, 389, 392,
184
- 395, 1, 401, 402, 404 ]
185
-
186
- racc_action_pointer = [
187
- 4, 681, 148, -1, nil, nil, nil, nil, nil, nil,
188
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
189
- nil, nil, nil, nil, nil, nil, nil, nil, 517, 487,
190
- nil, 524, -14, 31, 527, 477, 434, nil, 147, 354,
191
- 19, 479, 38, nil, nil, 412, 382, 293, 440, 310,
192
- 436, 433, -15, nil, nil, nil, nil, 445, nil, 73,
193
- nil, nil, 420, nil, 370, nil, nil, 416, 440, -3,
194
- nil, nil, 406, nil, 391, 330, -16, nil, -12, nil,
195
- nil, 156, 314, nil, nil, nil, nil, nil, nil, 615,
196
- nil, nil, nil, nil, 92, nil, nil, nil, nil, nil,
197
- nil, 296, 223, nil, 18, 301, 336, nil, 325, 271,
198
- 259, nil, -24, nil, 482, 504, 280, 525, 302, 292,
199
- 368, 396, 291, 375, 283, 237, nil, nil, 239, nil,
200
- 176, nil, nil, nil, nil, nil, 180, 168, nil, nil,
201
- nil, 141, 458, 317, nil, nil, nil, nil, nil, nil,
202
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 443,
203
- nil, nil, nil, 61, nil, nil, nil, nil, nil, nil,
204
- nil, 162, nil, nil, nil, nil, nil, nil, nil, nil,
205
- nil, nil, nil, nil, 132, 62, 53, 48, 39, 433,
206
- -47, -42, -4, 31, nil, 7, nil, 14, 21, 76,
207
- 100, 108, 90, 151, 155, 148, 570, 630, 222, 600,
208
- 129, 201, 180, 235, 236, nil, nil, 236, 248, 585,
209
- nil, nil, 80, 240, 243, 247, 253, 255, 267, 268,
210
- 269, 270, 272, nil, 227, -65, nil, 199, 220, 270,
211
- 294, 278, 164, nil, nil, -35, nil, 159, 261, 555,
212
- 540, 226, 309, -23, 284, 336, nil, 282, 283, 285,
213
- 287, 289, 290, 294, 295, 298, 304, 360, nil, 312,
214
- nil, nil, nil, 382, nil, nil, 358, nil, 383, 388,
215
- nil, nil, 386, 341, nil, -9, nil, nil, 345, nil,
216
- 411, nil, nil, 68, nil, nil, nil, nil, nil, nil,
217
- nil, nil, nil, nil, 358, 410, 208, nil, 10, 23,
218
- 370, nil, 365, 423, 347, 426, 378, 379, nil, 379,
219
- 380, 385, -4, nil, nil, -2, 447, nil, 438, nil,
220
- nil, nil, nil, 168, nil, nil, 442, nil, 385, 214,
221
- nil, 445, nil, nil, 456, nil, 448, nil, nil, nil,
222
- 361, 428, 427, 458, nil, 160, 26, nil, nil, nil,
223
- 484, nil, 436, -69, 453, 455, 456, 457, 453, 516,
224
- 475, 88, 219, -11, 526, 142, 494, nil, 220, nil,
225
- 531, 544, nil, 561, 576, nil, nil, 639, 600, 599,
226
- nil, nil, 600, nil, nil, 653, nil, nil, nil, nil,
227
- 20, 605, 653, nil, 607, nil, nil, nil, nil, nil ]
228
-
229
- racc_action_default = [
230
- -2, -217, -1, -195, -8, -9, -10, -11, -12, -13,
231
- -14, -15, -16, -17, -18, -19, -20, -21, -22, -23,
232
- -24, -25, -26, -27, -28, -29, -30, -31, -217, -217,
233
- -34, -217, -217, -217, -217, -217, -217, -49, -217, -217,
234
- -123, -217, -217, -65, -66, -217, -217, -217, -217, -217,
235
- -217, -217, -85, -88, -89, -90, -91, -217, -116, -217,
236
- -121, -122, -217, -130, -217, -190, -191, -197, -217, -195,
237
- -3, -192, -7, -194, -217, -217, -217, -38, -123, -39,
238
- -40, -217, -217, -50, -108, -109, -165, -166, -167, -51,
239
- -133, -134, -135, -136, -217, -153, -154, -155, -156, -157,
240
- -158, -217, -217, -164, -56, -217, -124, -126, -197, -217,
241
- -217, -62, -217, -67, -217, -217, -217, -217, -217, -197,
242
- -217, -217, -197, -217, -217, -217, -125, -131, -217, -196,
243
- -217, -199, 410, -4, -6, -193, -217, -217, -35, -36,
244
- -37, -217, -217, -217, -139, -140, -141, -142, -143, -144,
245
- -145, -146, -147, -148, -149, -150, -151, -152, -137, -217,
246
- -161, -162, -163, -217, -54, -57, -58, -59, -60, -61,
247
- -117, -217, -168, -169, -170, -171, -172, -173, -174, -175,
248
- -176, -177, -178, -179, -217, -217, -217, -217, -217, -217,
249
- -217, -217, -217, -217, -127, -217, -132, -56, -217, -217,
250
- -93, -93, -217, -217, -217, -217, -86, -87, -217, -118,
251
- -217, -217, -217, -197, -197, -32, -33, -217, -42, -138,
252
- -159, -52, -217, -217, -217, -217, -217, -217, -217, -217,
253
- -217, -217, -217, -128, -217, -217, -63, -217, -5, -217,
254
- -217, -217, -217, -71, -74, -82, -76, -217, -217, -119,
255
- -120, -217, -217, -217, -217, -197, -55, -217, -217, -217,
256
- -217, -217, -217, -217, -217, -217, -217, -217, -53, -217,
257
- -68, -92, -69, -217, -72, -73, -217, -77, -197, -197,
258
- -79, -80, -217, -217, -198, -197, -201, -202, -217, -41,
259
- -43, -45, -46, -217, -180, -181, -182, -183, -184, -185,
260
- -186, -187, -188, -189, -217, -217, -217, -75, -217, -217,
261
- -217, -160, -217, -197, -212, -197, -217, -217, -129, -217,
262
- -217, -217, -195, -83, -84, -195, -217, -200, -217, -204,
263
- -205, -206, -207, -217, -210, -211, -197, -44, -217, -217,
264
- -64, -217, -81, -78, -94, -95, -197, -203, -208, -209,
265
- -212, -217, -217, -217, -96, -217, -197, -214, -216, -47,
266
- -217, -70, -217, -217, -217, -217, -217, -217, -217, -197,
267
- -217, -217, -217, -217, -217, -217, -217, -213, -212, -48,
268
- -217, -217, -115, -217, -217, -103, -104, -217, -217, -217,
269
- -112, -113, -107, -215, -97, -217, -98, -99, -105, -100,
270
- -217, -217, -217, -114, -217, -110, -111, -102, -106, -101 ]
271
-
272
- racc_goto_table = [
273
- 43, 84, 43, 83, 113, 72, 70, 130, 195, 69,
274
- 171, 287, 9, 2, 9, 274, 163, 246, 273, 205,
275
- 290, 44, 208, 44, 357, 200, 201, 173, 203, 204,
276
- 323, 323, 43, 43, 279, 77, 79, 345, 85, 245,
277
- 304, 344, 43, 406, 84, 111, 141, 380, 116, 324,
278
- 324, 119, 393, 44, 44, 354, 384, 277, 322, 325,
279
- 239, 241, 389, 44, 404, 401, 170, 165, 178, 126,
280
- 194, 72, 133, 127, 136, 137, 158, 89, 179, 274,
281
- 337, 85, 320, 256, 114, 115, 347, 117, 172, 276,
282
- 174, 175, 176, 177, 180, 181, 182, 183, 138, 213,
283
- 285, 135, 162, 329, 166, 356, 1, nil, nil, 235,
284
- nil, nil, 43, nil, nil, 198, 168, nil, nil, nil,
285
- 142, nil, 405, nil, nil, nil, nil, nil, nil, nil,
286
- nil, nil, nil, 44, nil, nil, nil, nil, nil, 159,
287
- nil, nil, nil, nil, nil, 274, 385, nil, 383, nil,
288
- nil, 271, nil, 252, 253, 293, nil, nil, 206, 207,
289
- 165, 209, nil, nil, nil, nil, nil, nil, nil, nil,
290
- nil, nil, nil, nil, nil, nil, nil, nil, 308, 309,
291
- nil, 219, nil, nil, nil, 165, nil, nil, nil, nil,
292
- nil, nil, nil, nil, nil, nil, nil, 166, nil, 43,
293
- 269, nil, nil, nil, nil, nil, nil, nil, nil, 168,
294
- 280, 9, 238, nil, 84, 293, 283, nil, nil, 335,
295
- 44, nil, 166, nil, nil, 312, nil, nil, nil, nil,
296
- nil, nil, nil, nil, 168, nil, nil, nil, 43, nil,
297
- nil, nil, 275, nil, nil, 69, 355, 281, 249, 250,
298
- 9, 85, 353, 328, nil, 335, nil, nil, nil, 44,
299
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
300
- nil, nil, nil, nil, nil, nil, 350, nil, nil, nil,
301
- nil, nil, 310, 335, nil, nil, nil, nil, nil, nil,
302
- nil, nil, nil, nil, nil, nil, 368, 351, nil, nil,
303
- nil, nil, 84, nil, 352, nil, 275, nil, nil, 378,
304
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
305
- nil, nil, nil, nil, 72, 342, nil, 72, 343, nil,
306
- nil, nil, nil, nil, 84, 392, 381, nil, 391, 85,
307
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
308
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
309
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
310
- nil, 85, 275, 386, 388, 390, nil, nil, nil, nil,
311
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
312
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
313
- nil, nil, 408 ]
314
-
315
- racc_goto_check = [
316
- 28, 41, 28, 31, 37, 7, 4, 88, 36, 3,
317
- 77, 91, 12, 2, 12, 48, 39, 51, 47, 36,
318
- 33, 44, 36, 44, 96, 5, 5, 79, 5, 5,
319
- 38, 38, 28, 28, 52, 30, 30, 57, 28, 49,
320
- 48, 56, 28, 43, 41, 30, 31, 58, 28, 45,
321
- 45, 28, 96, 44, 44, 57, 59, 51, 53, 53,
322
- 46, 46, 60, 44, 61, 62, 63, 41, 41, 64,
323
- 68, 7, 4, 69, 28, 28, 72, 32, 74, 48,
324
- 33, 28, 47, 40, 32, 32, 91, 32, 78, 50,
325
- 80, 81, 82, 83, 84, 85, 86, 87, 29, 89,
326
- 90, 6, 28, 92, 28, 95, 1, nil, nil, 39,
327
- nil, nil, 28, nil, nil, 30, 12, nil, nil, nil,
328
- 32, nil, 38, nil, nil, nil, nil, nil, nil, nil,
329
- nil, nil, nil, 44, nil, nil, nil, nil, nil, 32,
330
- nil, nil, nil, nil, nil, 48, 48, nil, 47, nil,
331
- nil, 5, nil, 88, 88, 36, nil, nil, 32, 32,
332
- 41, 32, nil, nil, nil, nil, nil, nil, nil, nil,
333
- nil, nil, nil, nil, nil, nil, nil, nil, 36, 36,
334
- nil, 32, nil, nil, nil, 41, nil, nil, nil, nil,
335
- nil, nil, nil, nil, nil, nil, nil, 28, nil, 28,
336
- 41, nil, nil, nil, nil, nil, nil, nil, nil, 12,
337
- 41, 12, 2, nil, 41, 36, 31, nil, nil, 77,
338
- 44, nil, 28, nil, nil, 88, nil, nil, nil, nil,
339
- nil, nil, nil, nil, 12, nil, nil, nil, 28, nil,
340
- nil, nil, 28, nil, nil, 3, 36, 28, 32, 32,
341
- 12, 28, 5, 88, nil, 77, nil, nil, nil, 44,
342
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
343
- nil, nil, nil, nil, nil, nil, 88, nil, nil, nil,
344
- nil, nil, 28, 77, nil, nil, nil, nil, nil, nil,
345
- nil, nil, nil, nil, nil, nil, 88, 37, nil, nil,
346
- nil, nil, 41, nil, 31, nil, 28, nil, nil, 88,
347
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
348
- nil, nil, nil, nil, 7, 4, nil, 7, 4, nil,
349
- nil, nil, nil, nil, 41, 37, 31, nil, 41, 28,
350
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
351
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
352
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
353
- nil, 28, 28, 28, 28, 28, nil, nil, nil, nil,
354
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
355
- nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
356
- nil, nil, 28 ]
357
-
358
- racc_goto_pointer = [
359
- nil, 106, 13, 7, 3, -89, 29, 2, nil, nil,
360
- nil, nil, 12, nil, nil, nil, nil, nil, nil, nil,
361
- nil, nil, nil, nil, nil, nil, nil, nil, 0, 22,
362
- 3, -35, 38, -235, nil, nil, -100, -41, -278, -88,
363
- -139, -37, nil, -357, 21, -259, -140, -224, -227, -166,
364
- -156, -188, -213, -250, nil, nil, -285, -289, -324, -317,
365
- -313, -336, -327, -39, 7, nil, nil, nil, -36, 11,
366
- nil, nil, -18, nil, -27, nil, nil, -95, -17, -78,
367
- -15, -14, -13, -12, -11, -10, -9, -8, -60, -31,
368
- -153, -242, -211, nil, nil, -245, -326 ]
369
-
370
- racc_goto_default = [
371
- nil, nil, nil, 3, nil, nil, nil, 4, 5, 6,
372
- 7, 8, 93, 10, 11, 12, 13, 14, 15, 16,
373
- 17, 18, 19, 20, 21, 22, 23, 24, 97, nil,
374
- 59, nil, nil, nil, 291, 292, 131, 58, 56, nil,
375
- 164, 95, 167, 55, 99, 53, nil, nil, 86, nil,
376
- nil, nil, nil, nil, 52, 54, nil, nil, nil, nil,
377
- nil, nil, nil, nil, 60, 61, 106, 62, 107, 63,
378
- 90, 91, 92, 143, 96, 98, 100, 102, nil, nil,
379
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 331,
380
- nil, nil, 358, 332, 333, nil, nil ]
381
-
382
- racc_reduce_table = [
383
- 0, 0, :racc_error,
384
- 1, 90, :_reduce_1,
385
- 0, 90, :_reduce_none,
386
- 2, 91, :_reduce_3,
387
- 3, 91, :_reduce_4,
388
- 2, 94, :_reduce_5,
389
- 1, 95, :_reduce_none,
390
- 0, 95, :_reduce_none,
391
- 1, 92, :_reduce_none,
392
- 1, 92, :_reduce_none,
393
- 1, 92, :_reduce_none,
394
- 1, 92, :_reduce_none,
395
- 1, 92, :_reduce_none,
396
- 1, 92, :_reduce_none,
397
- 1, 92, :_reduce_none,
398
- 1, 92, :_reduce_none,
399
- 1, 92, :_reduce_none,
400
- 1, 92, :_reduce_none,
401
- 1, 92, :_reduce_none,
402
- 1, 92, :_reduce_none,
403
- 1, 92, :_reduce_none,
404
- 1, 92, :_reduce_none,
405
- 1, 92, :_reduce_none,
406
- 1, 92, :_reduce_none,
407
- 1, 92, :_reduce_none,
408
- 1, 92, :_reduce_none,
409
- 1, 92, :_reduce_none,
410
- 1, 92, :_reduce_none,
411
- 1, 92, :_reduce_none,
412
- 1, 92, :_reduce_29,
413
- 1, 92, :_reduce_30,
414
- 1, 92, :_reduce_31,
415
- 4, 115, :_reduce_32,
416
- 4, 115, :_reduce_33,
417
- 1, 116, :_reduce_34,
418
- 3, 114, :_reduce_35,
419
- 1, 118, :_reduce_none,
420
- 1, 118, :_reduce_none,
421
- 2, 113, :_reduce_38,
422
- 2, 111, :_reduce_39,
423
- 2, 110, :_reduce_40,
424
- 6, 108, :_reduce_41,
425
- 4, 108, :_reduce_42,
426
- 6, 108, :_reduce_43,
427
- 8, 108, :_reduce_44,
428
- 1, 122, :_reduce_none,
429
- 1, 122, :_reduce_none,
430
- 5, 123, :_reduce_47,
431
- 7, 124, :_reduce_48,
432
- 1, 126, :_reduce_49,
433
- 2, 106, :_reduce_50,
434
- 2, 107, :_reduce_51,
435
- 4, 127, :_reduce_52,
436
- 5, 127, :_reduce_53,
437
- 1, 128, :_reduce_54,
438
- 3, 128, :_reduce_55,
439
- 0, 128, :_reduce_56,
440
- 1, 129, :_reduce_none,
441
- 1, 129, :_reduce_none,
442
- 1, 129, :_reduce_none,
443
- 1, 129, :_reduce_none,
444
- 1, 131, :_reduce_61,
445
- 2, 132, :_reduce_62,
446
- 4, 132, :_reduce_63,
447
- 8, 132, :_reduce_64,
448
- 1, 119, :_reduce_none,
449
- 1, 119, :_reduce_none,
450
- 2, 134, :_reduce_67,
451
- 5, 102, :_reduce_68,
452
- 5, 102, :_reduce_69,
453
- 10, 104, :_reduce_70,
454
- 4, 105, :_reduce_71,
455
- 1, 136, :_reduce_none,
456
- 1, 136, :_reduce_none,
457
- 4, 98, :_reduce_74,
458
- 6, 109, :_reduce_75,
459
- 1, 138, :_reduce_76,
460
- 2, 138, :_reduce_77,
461
- 5, 140, :_reduce_78,
462
- 1, 141, :_reduce_none,
463
- 1, 141, :_reduce_none,
464
- 4, 139, :_reduce_81,
465
- 0, 139, :_reduce_none,
466
- 1, 142, :_reduce_none,
467
- 1, 142, :_reduce_none,
468
- 1, 103, :_reduce_none,
469
- 3, 103, :_reduce_86,
470
- 3, 103, :_reduce_87,
471
- 1, 143, :_reduce_none,
472
- 1, 143, :_reduce_none,
473
- 1, 143, :_reduce_none,
474
- 1, 143, :_reduce_none,
475
- 2, 135, :_reduce_92,
476
- 0, 135, :_reduce_93,
477
- 8, 99, :_reduce_94,
478
- 1, 145, :_reduce_95,
479
- 2, 145, :_reduce_96,
480
- 6, 146, :_reduce_97,
481
- 6, 146, :_reduce_98,
482
- 6, 146, :_reduce_99,
483
- 6, 146, :_reduce_100,
484
- 8, 146, :_reduce_101,
485
- 7, 146, :_reduce_102,
486
- 1, 148, :_reduce_none,
487
- 1, 148, :_reduce_none,
488
- 2, 148, :_reduce_105,
489
- 2, 151, :_reduce_106,
490
- 0, 151, :_reduce_none,
491
- 1, 120, :_reduce_none,
492
- 1, 120, :_reduce_none,
493
- 1, 150, :_reduce_none,
494
- 1, 150, :_reduce_none,
495
- 1, 149, :_reduce_none,
496
- 1, 149, :_reduce_none,
497
- 3, 147, :_reduce_114,
498
- 1, 147, :_reduce_115,
499
- 1, 100, :_reduce_116,
500
- 3, 97, :_reduce_117,
501
- 3, 144, :_reduce_118,
502
- 4, 144, :_reduce_119,
503
- 4, 144, :_reduce_120,
504
- 1, 117, :_reduce_none,
505
- 1, 117, :_reduce_none,
506
- 1, 153, :_reduce_123,
507
- 2, 153, :_reduce_124,
508
- 2, 154, :_reduce_125,
509
- 1, 155, :_reduce_126,
510
- 2, 155, :_reduce_127,
511
- 3, 157, :_reduce_128,
512
- 6, 157, :_reduce_129,
513
- 1, 156, :_reduce_130,
514
- 2, 156, :_reduce_131,
515
- 3, 158, :_reduce_132,
516
- 1, 121, :_reduce_none,
517
- 1, 121, :_reduce_none,
518
- 1, 159, :_reduce_135,
519
- 1, 159, :_reduce_none,
520
- 2, 159, :_reduce_137,
521
- 3, 160, :_reduce_138,
522
- 1, 162, :_reduce_139,
523
- 1, 162, :_reduce_140,
524
- 1, 162, :_reduce_141,
525
- 1, 162, :_reduce_142,
526
- 1, 162, :_reduce_143,
527
- 1, 162, :_reduce_144,
528
- 1, 162, :_reduce_145,
529
- 1, 162, :_reduce_146,
530
- 1, 162, :_reduce_147,
531
- 1, 162, :_reduce_148,
532
- 1, 162, :_reduce_149,
533
- 1, 162, :_reduce_150,
534
- 1, 162, :_reduce_151,
535
- 1, 162, :_reduce_152,
536
- 1, 161, :_reduce_none,
537
- 1, 161, :_reduce_none,
538
- 1, 161, :_reduce_none,
539
- 1, 161, :_reduce_none,
540
- 1, 161, :_reduce_none,
541
- 1, 161, :_reduce_none,
542
- 3, 165, :_reduce_159,
543
- 6, 133, :_reduce_160,
544
- 2, 163, :_reduce_161,
545
- 2, 163, :_reduce_162,
546
- 2, 164, :_reduce_163,
547
- 1, 166, :_reduce_164,
548
- 1, 130, :_reduce_none,
549
- 1, 130, :_reduce_166,
550
- 1, 137, :_reduce_167,
551
- 1, 152, :_reduce_none,
552
- 1, 152, :_reduce_none,
553
- 1, 152, :_reduce_none,
554
- 1, 152, :_reduce_none,
555
- 1, 152, :_reduce_none,
556
- 1, 152, :_reduce_none,
557
- 1, 152, :_reduce_none,
558
- 1, 152, :_reduce_none,
559
- 1, 152, :_reduce_none,
560
- 1, 152, :_reduce_none,
561
- 1, 152, :_reduce_none,
562
- 1, 152, :_reduce_none,
563
- 4, 176, :_reduce_180,
564
- 4, 175, :_reduce_181,
565
- 4, 174, :_reduce_182,
566
- 4, 173, :_reduce_183,
567
- 4, 172, :_reduce_184,
568
- 4, 171, :_reduce_185,
569
- 4, 167, :_reduce_186,
570
- 4, 170, :_reduce_187,
571
- 4, 168, :_reduce_188,
572
- 4, 169, :_reduce_189,
573
- 1, 101, :_reduce_190,
574
- 1, 96, :_reduce_191,
575
- 1, 93, :_reduce_192,
576
- 2, 93, :_reduce_193,
577
- 1, 93, :_reduce_none,
578
- 0, 93, :_reduce_none,
579
- 1, 125, :_reduce_196,
580
- 0, 125, :_reduce_none,
581
- 5, 112, :_reduce_198,
582
- 1, 177, :_reduce_none,
583
- 5, 178, :_reduce_200,
584
- 3, 178, :_reduce_201,
585
- 1, 179, :_reduce_202,
586
- 4, 179, :_reduce_203,
587
- 3, 180, :_reduce_204,
588
- 1, 181, :_reduce_none,
589
- 1, 181, :_reduce_none,
590
- 1, 181, :_reduce_none,
591
- 2, 181, :_reduce_208,
592
- 2, 181, :_reduce_209,
593
- 1, 181, :_reduce_210,
594
- 1, 183, :_reduce_none,
595
- 0, 183, :_reduce_none,
596
- 5, 182, :_reduce_213,
597
- 1, 184, :_reduce_214,
598
- 4, 184, :_reduce_215,
599
- 1, 185, :_reduce_none ]
600
-
601
- racc_reduce_n = 217
602
-
603
- racc_shift_n = 410
604
-
605
- racc_token_table = {
606
- false => 0,
607
- :error => 1,
608
- :ASSIGN => 2,
609
- :AT_SYM => 3,
610
- :COMMENT => 4,
611
- :JUMP => 5,
612
- :IO_METHOD => 6,
613
- :INPUT => 7,
614
- :OUTPUT => 8,
615
- :NUMREG => 9,
616
- :POSREG => 10,
617
- :VREG => 11,
618
- :SREG => 12,
619
- :TIME_SEGMENT => 13,
620
- :ARG => 14,
621
- :UALM => 15,
622
- :MOVE => 16,
623
- :DOT => 17,
624
- :TO => 18,
625
- :AT => 19,
626
- :ACC => 20,
627
- :TERM => 21,
628
- :OFFSET => 22,
629
- :SKIP => 23,
630
- :GROUP => 24,
631
- :SEMICOLON => 25,
632
- :NEWLINE => 26,
633
- :STRING => 27,
634
- :REAL => 28,
635
- :DIGIT => 29,
636
- :WORD => 30,
637
- :EQUAL => 31,
638
- :EEQUAL => 32,
639
- :NOTEQUAL => 33,
640
- :GTE => 34,
641
- :LTE => 35,
642
- :LT => 36,
643
- :GT => 37,
644
- :BANG => 38,
645
- :PLUS => 39,
646
- :MINUS => 40,
647
- :STAR => 41,
648
- :SLASH => 42,
649
- :DIV => 43,
650
- :AND => 44,
651
- :OR => 45,
652
- :MOD => 46,
653
- :IF => 47,
654
- :ELSE => 48,
655
- :END => 49,
656
- :UNLESS => 50,
657
- :FOR => 51,
658
- :IN => 52,
659
- :WHILE => 53,
660
- :WAIT_FOR => 54,
661
- :WAIT_UNTIL => 55,
662
- :TIMEOUT => 56,
663
- :AFTER => 57,
664
- :FANUC_USE => 58,
665
- :SET_SKIP_CONDITION => 59,
666
- :NAMESPACE => 60,
667
- :CASE => 61,
668
- :WHEN => 62,
669
- :INDIRECT => 63,
670
- :POSITION => 64,
671
- :EVAL => 65,
672
- :TIMER => 66,
673
- :TIMER_METHOD => 67,
674
- :RAISE => 68,
675
- :ABORT => 69,
676
- :RETURN => 70,
677
- :POSITION_DATA => 71,
678
- :TRUE_FALSE => 72,
679
- :RUN => 73,
680
- :TP_HEADER => 74,
681
- :PAUSE => 75,
682
- :LPAREN => 76,
683
- :RPAREN => 77,
684
- :COLON => 78,
685
- :COMMA => 79,
686
- :LBRACK => 80,
687
- :RBRACK => 81,
688
- :LBRACE => 82,
689
- :RBRACE => 83,
690
- :LABEL => 84,
691
- :ADDRESS => 85,
692
- :LPOS => 86,
693
- :JPOS => 87,
694
- :false => 88 }
695
-
696
- racc_nt_base = 89
697
-
698
- racc_use_result_var = true
699
-
700
- Racc_arg = [
701
- racc_action_table,
702
- racc_action_check,
703
- racc_action_default,
704
- racc_action_pointer,
705
- racc_goto_table,
706
- racc_goto_check,
707
- racc_goto_default,
708
- racc_goto_pointer,
709
- racc_nt_base,
710
- racc_reduce_table,
711
- racc_token_table,
712
- racc_shift_n,
713
- racc_reduce_n,
714
- racc_use_result_var ]
715
-
716
- Racc_token_to_s_table = [
717
- "$end",
718
- "error",
719
- "ASSIGN",
720
- "AT_SYM",
721
- "COMMENT",
722
- "JUMP",
723
- "IO_METHOD",
724
- "INPUT",
725
- "OUTPUT",
726
- "NUMREG",
727
- "POSREG",
728
- "VREG",
729
- "SREG",
730
- "TIME_SEGMENT",
731
- "ARG",
732
- "UALM",
733
- "MOVE",
734
- "DOT",
735
- "TO",
736
- "AT",
737
- "ACC",
738
- "TERM",
739
- "OFFSET",
740
- "SKIP",
741
- "GROUP",
742
- "SEMICOLON",
743
- "NEWLINE",
744
- "STRING",
745
- "REAL",
746
- "DIGIT",
747
- "WORD",
748
- "EQUAL",
749
- "EEQUAL",
750
- "NOTEQUAL",
751
- "GTE",
752
- "LTE",
753
- "LT",
754
- "GT",
755
- "BANG",
756
- "PLUS",
757
- "MINUS",
758
- "STAR",
759
- "SLASH",
760
- "DIV",
761
- "AND",
762
- "OR",
763
- "MOD",
764
- "IF",
765
- "ELSE",
766
- "END",
767
- "UNLESS",
768
- "FOR",
769
- "IN",
770
- "WHILE",
771
- "WAIT_FOR",
772
- "WAIT_UNTIL",
773
- "TIMEOUT",
774
- "AFTER",
775
- "FANUC_USE",
776
- "SET_SKIP_CONDITION",
777
- "NAMESPACE",
778
- "CASE",
779
- "WHEN",
780
- "INDIRECT",
781
- "POSITION",
782
- "EVAL",
783
- "TIMER",
784
- "TIMER_METHOD",
785
- "RAISE",
786
- "ABORT",
787
- "RETURN",
788
- "POSITION_DATA",
789
- "TRUE_FALSE",
790
- "RUN",
791
- "TP_HEADER",
792
- "PAUSE",
793
- "LPAREN",
794
- "RPAREN",
795
- "COLON",
796
- "COMMA",
797
- "LBRACK",
798
- "RBRACK",
799
- "LBRACE",
800
- "RBRACE",
801
- "LABEL",
802
- "ADDRESS",
803
- "LPOS",
804
- "JPOS",
805
- "false",
806
- "$start",
807
- "program",
808
- "statements",
809
- "statement",
810
- "terminator",
811
- "block",
812
- "optional_newline",
813
- "comment",
814
- "definition",
815
- "namespace",
816
- "motion_statement",
817
- "label_definition",
818
- "address",
819
- "conditional",
820
- "inline_conditional",
821
- "forloop",
822
- "while_loop",
823
- "use_statement",
824
- "set_skip_statement",
825
- "wait_statement",
826
- "case_statement",
827
- "fanuc_eval",
828
- "timer_method",
829
- "position_data",
830
- "raise",
831
- "tp_header_definition",
832
- "lpos_or_jpos",
833
- "empty_stmt",
834
- "var",
835
- "tp_header_value",
836
- "var_or_indirect",
837
- "indirectable",
838
- "expression",
839
- "wait_modifier",
840
- "timeout_modifier",
841
- "after_modifier",
842
- "swallow_newlines",
843
- "label",
844
- "program_call",
845
- "args",
846
- "arg",
847
- "number",
848
- "string",
849
- "io_method",
850
- "indirect_thing",
851
- "jump",
852
- "else_block",
853
- "int_or_var",
854
- "integer",
855
- "case_conditions",
856
- "case_else",
857
- "case_condition",
858
- "case_allowed_condition",
859
- "case_allowed_statement",
860
- "inlineable",
861
- "assignment",
862
- "motion_modifiers",
863
- "motion_modifier",
864
- "speed",
865
- "valid_terminations",
866
- "time",
867
- "time_seg_actions",
868
- "optional_lpos_arg",
869
- "definable",
870
- "var_without_namespaces",
871
- "var_with_namespaces",
872
- "var_method_modifiers",
873
- "namespaces",
874
- "var_method_modifier",
875
- "ns",
876
- "unary_expression",
877
- "binary_expression",
878
- "factor",
879
- "operator",
880
- "signed_number",
881
- "signed_var",
882
- "paren_expr",
883
- "sign",
884
- "numreg",
885
- "output",
886
- "input",
887
- "posreg",
888
- "position",
889
- "vreg",
890
- "argument",
891
- "timer",
892
- "ualm",
893
- "sreg",
894
- "sn",
895
- "hash",
896
- "hash_attributes",
897
- "hash_attribute",
898
- "hash_value",
899
- "array",
900
- "optional_sign",
901
- "array_values",
902
- "array_value" ]
903
-
904
- Racc_debug_parser = true
905
-
906
- ##### State transition tables end #####
907
-
908
- # reduce 0 omitted
909
-
910
- def _reduce_1(val, _values, result)
911
- @interpreter.nodes = val[0]
912
- result
913
- end
914
-
915
- # reduce 2 omitted
916
-
917
- def _reduce_3(val, _values, result)
918
- result = [val[0]]
919
- result << val[1] unless val[1].nil?
920
-
921
- result
922
- end
923
-
924
- def _reduce_4(val, _values, result)
925
- result = val[0] << val[1]
926
- result << val[2] unless val[2].nil?
927
-
928
- result
929
- end
930
-
931
- def _reduce_5(val, _values, result)
932
- result = val[1]
933
- result
934
- end
935
-
936
- # reduce 6 omitted
937
-
938
- # reduce 7 omitted
939
-
940
- # reduce 8 omitted
941
-
942
- # reduce 9 omitted
943
-
944
- # reduce 10 omitted
945
-
946
- # reduce 11 omitted
947
-
948
- # reduce 12 omitted
949
-
950
- # reduce 13 omitted
951
-
952
- # reduce 14 omitted
953
-
954
- # reduce 15 omitted
955
-
956
- # reduce 16 omitted
957
-
958
- # reduce 17 omitted
959
-
960
- # reduce 18 omitted
961
-
962
- # reduce 19 omitted
963
-
964
- # reduce 20 omitted
965
-
966
- # reduce 21 omitted
967
-
968
- # reduce 22 omitted
969
-
970
- # reduce 23 omitted
971
-
972
- # reduce 24 omitted
973
-
974
- # reduce 25 omitted
975
-
976
- # reduce 26 omitted
977
-
978
- # reduce 27 omitted
979
-
980
- # reduce 28 omitted
981
-
982
- def _reduce_29(val, _values, result)
983
- result = PauseNode.new
984
- result
985
- end
986
-
987
- def _reduce_30(val, _values, result)
988
- result = AbortNode.new
989
- result
990
- end
991
-
992
- def _reduce_31(val, _values, result)
993
- result = ReturnNode.new
994
- result
995
- end
996
-
997
- def _reduce_32(val, _values, result)
998
- result = LPOSNode.new(val[2])
999
- result
1000
- end
1001
-
1002
- def _reduce_33(val, _values, result)
1003
- result = JPOSNode.new(val[2])
1004
- result
1005
- end
1006
-
1007
- def _reduce_34(val, _values, result)
1008
- result = EmptyStmtNode.new()
1009
- result
1010
- end
1011
-
1012
- def _reduce_35(val, _values, result)
1013
- result = HeaderNode.new(val[0],val[2])
1014
- result
1015
- end
1016
-
1017
- # reduce 36 omitted
1018
-
1019
- # reduce 37 omitted
1020
-
1021
- def _reduce_38(val, _values, result)
1022
- result = RaiseNode.new(val[1])
1023
- result
1024
- end
1025
-
1026
- def _reduce_39(val, _values, result)
1027
- result = TimerMethodNode.new(val[0],val[1])
1028
- result
1029
- end
1030
-
1031
- def _reduce_40(val, _values, result)
1032
- result = EvalNode.new(val[1])
1033
- result
1034
- end
1035
-
1036
- def _reduce_41(val, _values, result)
1037
- result = WaitForNode.new(val[2], val[4])
1038
- result
1039
- end
1040
-
1041
- def _reduce_42(val, _values, result)
1042
- result = WaitUntilNode.new(val[2], nil)
1043
- result
1044
- end
1045
-
1046
- def _reduce_43(val, _values, result)
1047
- result = WaitUntilNode.new(val[2],val[5])
1048
- result
1049
- end
1050
-
1051
- def _reduce_44(val, _values, result)
1052
- result = WaitUntilNode.new(val[2],val[5].merge(val[7]))
1053
- result
1054
- end
1055
-
1056
- # reduce 45 omitted
1057
-
1058
- # reduce 46 omitted
1059
-
1060
- def _reduce_47(val, _values, result)
1061
- result = { label: val[3] }
1062
- result
1063
- end
1064
-
1065
- def _reduce_48(val, _values, result)
1066
- result = { timeout: [val[3],val[5]] }
1067
- result
1068
- end
1069
-
1070
- def _reduce_49(val, _values, result)
1071
- result = val[0]
1072
- result
1073
- end
1074
-
1075
- def _reduce_50(val, _values, result)
1076
- result = UseNode.new(val[0],val[1])
1077
- result
1078
- end
1079
-
1080
- def _reduce_51(val, _values, result)
1081
- result = SetSkipNode.new(val[1])
1082
- result
1083
- end
1084
-
1085
- def _reduce_52(val, _values, result)
1086
- result = CallNode.new(val[0],val[2])
1087
- result
1088
- end
1089
-
1090
- def _reduce_53(val, _values, result)
1091
- result = CallNode.new(val[1],val[3],async: true)
1092
- result
1093
- end
1094
-
1095
- def _reduce_54(val, _values, result)
1096
- result = [val[0]]
1097
- result
1098
- end
1099
-
1100
- def _reduce_55(val, _values, result)
1101
- result = val[0] << val[2]
1102
- result
1103
- end
1104
-
1105
- def _reduce_56(val, _values, result)
1106
- result = []
1107
- result
1108
- end
1109
-
1110
- # reduce 57 omitted
1111
-
1112
- # reduce 58 omitted
1113
-
1114
- # reduce 59 omitted
1115
-
1116
- # reduce 60 omitted
1117
-
1118
- def _reduce_61(val, _values, result)
1119
- result = StringNode.new(val[0])
1120
- result
1121
- end
1122
-
1123
- def _reduce_62(val, _values, result)
1124
- result = IOMethodNode.new(val[0],val[1])
1125
- result
1126
- end
1127
-
1128
- def _reduce_63(val, _values, result)
1129
- result = IOMethodNode.new(val[0],val[2])
1130
- result
1131
- end
1132
-
1133
- def _reduce_64(val, _values, result)
1134
- result = IOMethodNode.new(val[0],val[2],{ pulse_time: val[4], pulse_units: val[6] })
1135
- result
1136
- end
1137
-
1138
- # reduce 65 omitted
1139
-
1140
- # reduce 66 omitted
1141
-
1142
- def _reduce_67(val, _values, result)
1143
- result = JumpNode.new(val[1])
1144
- result
1145
- end
1146
-
1147
- def _reduce_68(val, _values, result)
1148
- result = ConditionalNode.new("if",val[1],val[2],val[3])
1149
- result
1150
- end
1151
-
1152
- def _reduce_69(val, _values, result)
1153
- result = ConditionalNode.new("unless",val[1],val[2],val[3])
1154
- result
1155
- end
1156
-
1157
- def _reduce_70(val, _values, result)
1158
- result = ForNode.new(val[1],val[4],val[6],val[8])
1159
- result
1160
- end
1161
-
1162
- def _reduce_71(val, _values, result)
1163
- result = WhileNode.new(val[1],val[2])
1164
- result
1165
- end
1166
-
1167
- # reduce 72 omitted
1168
-
1169
- # reduce 73 omitted
1170
-
1171
- def _reduce_74(val, _values, result)
1172
- result = NamespaceNode.new(val[1],val[2])
1173
- result
1174
- end
1175
-
1176
- def _reduce_75(val, _values, result)
1177
- result = CaseNode.new(val[1],val[3],val[4])
1178
- result
1179
- end
1180
-
1181
- def _reduce_76(val, _values, result)
1182
- result = val
1183
- result
1184
- end
1185
-
1186
- def _reduce_77(val, _values, result)
1187
- result = val[0] << val[1] << val[2]
1188
- result
1189
- end
1190
-
1191
- def _reduce_78(val, _values, result)
1192
- result = CaseConditionNode.new(val[1],val[3])
1193
- result
1194
- end
1195
-
1196
- # reduce 79 omitted
1197
-
1198
- # reduce 80 omitted
1199
-
1200
- def _reduce_81(val, _values, result)
1201
- result = CaseConditionNode.new(nil,val[2])
1202
- result
1203
- end
1204
-
1205
- # reduce 82 omitted
1206
-
1207
- # reduce 83 omitted
1208
-
1209
- # reduce 84 omitted
1210
-
1211
- # reduce 85 omitted
1212
-
1213
- def _reduce_86(val, _values, result)
1214
- result = InlineConditionalNode.new(val[1], val[2], val[0])
1215
- result
1216
- end
1217
-
1218
- def _reduce_87(val, _values, result)
1219
- result = InlineConditionalNode.new(val[1], val[2], val[0])
1220
- result
1221
- end
1222
-
1223
- # reduce 88 omitted
1224
-
1225
- # reduce 89 omitted
1226
-
1227
- # reduce 90 omitted
1228
-
1229
- # reduce 91 omitted
1230
-
1231
- def _reduce_92(val, _values, result)
1232
- result = val[1]
1233
- result
1234
- end
1235
-
1236
- def _reduce_93(val, _values, result)
1237
- result = []
1238
- result
1239
- end
1240
-
1241
- def _reduce_94(val, _values, result)
1242
- result = MotionNode.new(val[0],val[5],val[7])
1243
- result
1244
- end
1245
-
1246
- def _reduce_95(val, _values, result)
1247
- result = val
1248
- result
1249
- end
1250
-
1251
- def _reduce_96(val, _values, result)
1252
- result = val[0] << val[1]
1253
- result
1254
- end
1255
-
1256
- def _reduce_97(val, _values, result)
1257
- result = SpeedNode.new(val[4])
1258
- result
1259
- end
1260
-
1261
- def _reduce_98(val, _values, result)
1262
- result = AccNode.new(val[4])
1263
- result
1264
- end
1265
-
1266
- def _reduce_99(val, _values, result)
1267
- result = TerminationNode.new(val[4])
1268
- result
1269
- end
1270
-
1271
- def _reduce_100(val, _values, result)
1272
- result = OffsetNode.new(val[2],val[4])
1273
- result
1274
- end
1275
-
1276
- def _reduce_101(val, _values, result)
1277
- result = TimeNode.new(val[2],val[4],val[6])
1278
- result
1279
- end
1280
-
1281
- def _reduce_102(val, _values, result)
1282
- result = SkipNode.new(val[4],val[5])
1283
- result
1284
- end
1285
-
1286
- # reduce 103 omitted
1287
-
1288
- # reduce 104 omitted
1289
-
1290
- def _reduce_105(val, _values, result)
1291
- raise Racc::ParseError, sprintf("\ninvalid termination type: (%s)", val[1]) if val[1] != 1
1292
-
1293
- result = DigitNode.new(val[1].to_i * -1)
1294
-
1295
- result
1296
- end
1297
-
1298
- def _reduce_106(val, _values, result)
1299
- result = val[1]
1300
- result
1301
- end
1302
-
1303
- # reduce 107 omitted
1304
-
1305
- # reduce 108 omitted
1306
-
1307
- # reduce 109 omitted
1308
-
1309
- # reduce 110 omitted
1310
-
1311
- # reduce 111 omitted
1312
-
1313
- # reduce 112 omitted
1314
-
1315
- # reduce 113 omitted
1316
-
1317
- def _reduce_114(val, _values, result)
1318
- result = { speed: val[0], units: val[2] }
1319
- result
1320
- end
1321
-
1322
- def _reduce_115(val, _values, result)
1323
- result = { speed: val[0], units: nil }
1324
- result
1325
- end
1326
-
1327
- def _reduce_116(val, _values, result)
1328
- result = LabelDefinitionNode.new(val[0])
1329
- result
1330
- end
1331
-
1332
- def _reduce_117(val, _values, result)
1333
- result = DefinitionNode.new(val[0],val[2])
1334
- result
1335
- end
1336
-
1337
- def _reduce_118(val, _values, result)
1338
- result = AssignmentNode.new(val[0],val[2])
1339
- result
1340
- end
1341
-
1342
- def _reduce_119(val, _values, result)
1343
- result = AssignmentNode.new(
1344
- val[0],
1345
- ExpressionNode.new(val[0],"+",val[3])
1346
- )
1347
-
1348
- result
1349
- end
1350
-
1351
- def _reduce_120(val, _values, result)
1352
- result = AssignmentNode.new(
1353
- val[0],
1354
- ExpressionNode.new(val[0],"-",val[3])
1355
- )
1356
-
1357
- result
1358
- end
1359
-
1360
- # reduce 121 omitted
1361
-
1362
- # reduce 122 omitted
1363
-
1364
- def _reduce_123(val, _values, result)
1365
- result = VarNode.new(val[0])
1366
- result
1367
- end
1368
-
1369
- def _reduce_124(val, _values, result)
1370
- result = VarMethodNode.new(val[0],val[1])
1371
- result
1372
- end
1373
-
1374
- def _reduce_125(val, _values, result)
1375
- result = NamespacedVarNode.new(val[0],val[1])
1376
- result
1377
- end
1378
-
1379
- def _reduce_126(val, _values, result)
1380
- result = val[0]
1381
- result
1382
- end
1383
-
1384
- def _reduce_127(val, _values, result)
1385
- result = val[0].merge(val[1])
1386
- result
1387
- end
1388
-
1389
- def _reduce_128(val, _values, result)
1390
- result = { method: val[2] }
1391
- result
1392
- end
1393
-
1394
- def _reduce_129(val, _values, result)
1395
- result = { group: val[4] }
1396
- result
1397
- end
1398
-
1399
- def _reduce_130(val, _values, result)
1400
- result = [val[0]]
1401
- result
1402
- end
1403
-
1404
- def _reduce_131(val, _values, result)
1405
- result = val[0] << val[1]
1406
- result
1407
- end
1408
-
1409
- def _reduce_132(val, _values, result)
1410
- result = val[0]
1411
- result
1412
- end
1413
-
1414
- # reduce 133 omitted
1415
-
1416
- # reduce 134 omitted
1417
-
1418
- def _reduce_135(val, _values, result)
1419
- result = val[0]
1420
- result
1421
- end
1422
-
1423
- # reduce 136 omitted
1424
-
1425
- def _reduce_137(val, _values, result)
1426
- result = UnaryExpressionNode.new("!",val[1])
1427
- result
1428
- end
1429
-
1430
- def _reduce_138(val, _values, result)
1431
- result = ExpressionNode.new(val[0], val[1], val[2])
1432
- result
1433
- end
1434
-
1435
- def _reduce_139(val, _values, result)
1436
- result = "=="
1437
- result
1438
- end
1439
-
1440
- def _reduce_140(val, _values, result)
1441
- result = "<>"
1442
- result
1443
- end
1444
-
1445
- def _reduce_141(val, _values, result)
1446
- result = "<"
1447
- result
1448
- end
1449
-
1450
- def _reduce_142(val, _values, result)
1451
- result = ">"
1452
- result
1453
- end
1454
-
1455
- def _reduce_143(val, _values, result)
1456
- result = ">="
1457
- result
1458
- end
1459
-
1460
- def _reduce_144(val, _values, result)
1461
- result = "<="
1462
- result
1463
- end
1464
-
1465
- def _reduce_145(val, _values, result)
1466
- result = "+"
1467
- result
1468
- end
1469
-
1470
- def _reduce_146(val, _values, result)
1471
- result = "-"
1472
- result
1473
- end
1474
-
1475
- def _reduce_147(val, _values, result)
1476
- result = "||"
1477
- result
1478
- end
1479
-
1480
- def _reduce_148(val, _values, result)
1481
- result = "*"
1482
- result
1483
- end
1484
-
1485
- def _reduce_149(val, _values, result)
1486
- result = "/"
1487
- result
1488
- end
1489
-
1490
- def _reduce_150(val, _values, result)
1491
- result = "DIV"
1492
- result
1493
- end
1494
-
1495
- def _reduce_151(val, _values, result)
1496
- result = "%"
1497
- result
1498
- end
1499
-
1500
- def _reduce_152(val, _values, result)
1501
- result = "&&"
1502
- result
1503
- end
1504
-
1505
- # reduce 153 omitted
1506
-
1507
- # reduce 154 omitted
1508
-
1509
- # reduce 155 omitted
1510
-
1511
- # reduce 156 omitted
1512
-
1513
- # reduce 157 omitted
1514
-
1515
- # reduce 158 omitted
1516
-
1517
- def _reduce_159(val, _values, result)
1518
- result = ParenExpressionNode.new(val[1])
1519
- result
1520
- end
1521
-
1522
- def _reduce_160(val, _values, result)
1523
- result = IndirectNode.new(val[2].to_sym, val[4])
1524
- result
1525
- end
1526
-
1527
- def _reduce_161(val, _values, result)
1528
- val[1] = val[1].to_i * -1 if val[0] == "-"
1529
- result = DigitNode.new(val[1])
1530
-
1531
- result
1532
- end
1533
-
1534
- def _reduce_162(val, _values, result)
1535
- val[1] = val[1].to_f * -1 if val[0] == "-"; result = RealNode.new(val[1])
1536
- result
1537
- end
1538
-
1539
- def _reduce_163(val, _values, result)
1540
- result = ExpressionNode.new(
1541
- val[1],
1542
- "*",
1543
- DigitNode.new(-1)
1544
- )
1545
- result
1546
- end
1547
-
1548
- def _reduce_164(val, _values, result)
1549
- result = "-"
1550
- result
1551
- end
1552
-
1553
- # reduce 165 omitted
1554
-
1555
- def _reduce_166(val, _values, result)
1556
- result = RealNode.new(val[0])
1557
- result
1558
- end
1559
-
1560
- def _reduce_167(val, _values, result)
1561
- result = DigitNode.new(val[0])
1562
- result
1563
- end
1564
-
1565
- # reduce 168 omitted
1566
-
1567
- # reduce 169 omitted
1568
-
1569
- # reduce 170 omitted
1570
-
1571
- # reduce 171 omitted
1572
-
1573
- # reduce 172 omitted
1574
-
1575
- # reduce 173 omitted
1576
-
1577
- # reduce 174 omitted
1578
-
1579
- # reduce 175 omitted
1580
-
1581
- # reduce 176 omitted
1582
-
1583
- # reduce 177 omitted
1584
-
1585
- # reduce 178 omitted
1586
-
1587
- # reduce 179 omitted
1588
-
1589
- def _reduce_180(val, _values, result)
1590
- result = StringRegisterNode.new(val[2].to_i)
1591
- result
1592
- end
1593
-
1594
- def _reduce_181(val, _values, result)
1595
- result = UserAlarmNode.new(val[2].to_i)
1596
- result
1597
- end
1598
-
1599
- def _reduce_182(val, _values, result)
1600
- result = TimerNode.new(val[2].to_i)
1601
- result
1602
- end
1603
-
1604
- def _reduce_183(val, _values, result)
1605
- result = ArgumentNode.new(val[2].to_i)
1606
- result
1607
- end
1608
-
1609
- def _reduce_184(val, _values, result)
1610
- result = VisionRegisterNode.new(val[2].to_i)
1611
- result
1612
- end
1613
-
1614
- def _reduce_185(val, _values, result)
1615
- result = PositionNode.new(val[2].to_i)
1616
- result
1617
- end
1618
-
1619
- def _reduce_186(val, _values, result)
1620
- result = NumregNode.new(val[2].to_i)
1621
- result
1622
- end
1623
-
1624
- def _reduce_187(val, _values, result)
1625
- result = PosregNode.new(val[2].to_i)
1626
- result
1627
- end
1628
-
1629
- def _reduce_188(val, _values, result)
1630
- result = IONode.new(val[0], val[2].to_i)
1631
- result
1632
- end
1633
-
1634
- def _reduce_189(val, _values, result)
1635
- result = IONode.new(val[0], val[2].to_i)
1636
- result
1637
- end
1638
-
1639
- def _reduce_190(val, _values, result)
1640
- result = AddressNode.new(val[0])
1641
- result
1642
- end
1643
-
1644
- def _reduce_191(val, _values, result)
1645
- result = CommentNode.new(val[0])
1646
- result
1647
- end
1648
-
1649
- def _reduce_192(val, _values, result)
1650
- result = TerminatorNode.new
1651
- result
1652
- end
1653
-
1654
- def _reduce_193(val, _values, result)
1655
- result = val[0]
1656
- result
1657
- end
1658
-
1659
- # reduce 194 omitted
1660
-
1661
- # reduce 195 omitted
1662
-
1663
- def _reduce_196(val, _values, result)
1664
- result = TerminatorNode.new
1665
- result
1666
- end
1667
-
1668
- # reduce 197 omitted
1669
-
1670
- def _reduce_198(val, _values, result)
1671
- result = PositionDataNode.new(val[2])
1672
- result
1673
- end
1674
-
1675
- # reduce 199 omitted
1676
-
1677
- def _reduce_200(val, _values, result)
1678
- result = val[2]
1679
- result
1680
- end
1681
-
1682
- def _reduce_201(val, _values, result)
1683
- result = {}
1684
- result
1685
- end
1686
-
1687
- def _reduce_202(val, _values, result)
1688
- result = val[0]
1689
- result
1690
- end
1691
-
1692
- def _reduce_203(val, _values, result)
1693
- result = val[0].merge(val[3])
1694
- result
1695
- end
1696
-
1697
- def _reduce_204(val, _values, result)
1698
- result = { val[0].to_sym => val[2] }
1699
- result
1700
- end
1701
-
1702
- # reduce 205 omitted
1703
-
1704
- # reduce 206 omitted
1705
-
1706
- # reduce 207 omitted
1707
-
1708
- def _reduce_208(val, _values, result)
1709
- val[1] = val[1].to_i * -1 if val[0] == "-"; result = val[1]
1710
- result
1711
- end
1712
-
1713
- def _reduce_209(val, _values, result)
1714
- val[1] = val[1].to_f * -1 if val[0] == "-"; result = val[1]
1715
- result
1716
- end
1717
-
1718
- def _reduce_210(val, _values, result)
1719
- result = val[0] == "true"
1720
- result
1721
- end
1722
-
1723
- # reduce 211 omitted
1724
-
1725
- # reduce 212 omitted
1726
-
1727
- def _reduce_213(val, _values, result)
1728
- result = val[2]
1729
- result
1730
- end
1731
-
1732
- def _reduce_214(val, _values, result)
1733
- result = val
1734
- result
1735
- end
1736
-
1737
- def _reduce_215(val, _values, result)
1738
- result = val[0] << val[3]
1739
- result
1740
- end
1741
-
1742
- # reduce 216 omitted
1743
-
1744
- def _reduce_none(val, _values, result)
1745
- val[0]
1746
- end
1747
-
1748
- end # class Parser
1749
- end # module TPPlus
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by Racc 1.4.14
4
+ # from Racc grammer file "".
5
+ #
6
+
7
+ require 'racc/parser.rb'
8
+ module TPPlus
9
+ class Parser < Racc::Parser
10
+
11
+
12
+ include TPPlus::Nodes
13
+
14
+ attr_reader :interpreter
15
+ def initialize(scanner, interpreter = TPPlus::Interpreter.new)
16
+ @scanner = scanner
17
+ @interpreter = interpreter
18
+ super()
19
+ end
20
+
21
+ def next_token
22
+ t = @scanner.next_token
23
+ @interpreter.line_count += 1 if t && t[0] == :NEWLINE
24
+
25
+ #puts t.inspect
26
+ t
27
+ end
28
+
29
+ def parse
30
+ #@yydebug =true
31
+
32
+ do_parse
33
+ @interpreter
34
+ end
35
+
36
+ def on_error(t, val, vstack)
37
+ raise ParseError, sprintf("Parse error on line #{@scanner.tok_line} column #{@scanner.tok_col}: %s (%s)",
38
+ val.inspect, token_to_str(t) || '?')
39
+ end
40
+
41
+ class ParseError < StandardError ; end
42
+ ##### State transition tables begin ###
43
+
44
+ racc_action_table = [
45
+ 66, 66, 66, 66, 288, 108, 78, 295, 66, 45,
46
+ 42, 139, 236, 278, 237, 45, 78, 129, 88, 78,
47
+ 57, 105, 71, 71, 71, 71, 42, 247, 45, 387,
48
+ 30, 234, 120, 296, 40, 121, 108, 233, 297, 64,
49
+ 321, 169, 87, 88, 78, 169, 87, 88, 78, 64,
50
+ 321, 46, 129, 321, 47, 48, 140, 49, 35, 36,
51
+ 286, 78, 38, 39, 50, 51, 109, 64, 78, 34,
52
+ 313, 33, 32, 26, 27, 67, 298, 41, 31, 25,
53
+ 66, 45, 42, 41, 73, 73, 73, 73, 37, 65,
54
+ 28, 29, 57, 41, 64, 104, 41, 109, 268, 65,
55
+ 222, 64, 30, 65, 123, 369, 40, 169, 87, 88,
56
+ 78, 299, 124, 125, 112, 382, 87, 88, 78, 300,
57
+ 87, 88, 78, 46, 88, 78, 47, 48, 301, 49,
58
+ 35, 36, 103, 302, 38, 39, 50, 51, 221, 64,
59
+ 222, 34, 303, 33, 32, 26, 27, 67, 88, 41,
60
+ 31, 25, 66, 45, 42, 64, 305, 87, 88, 78,
61
+ 37, 65, 28, 29, 57, 65, 306, 94, 101, 103,
62
+ 87, 88, 78, 366, 30, 87, 88, 78, 40, 362,
63
+ 363, 364, 365, 367, 87, 88, 78, 161, 160, 78,
64
+ 316, 317, 64, 87, 88, 46, 349, 348, 47, 48,
65
+ 307, 49, 35, 36, 129, 101, 38, 39, 50, 51,
66
+ 129, 64, 78, 34, 65, 33, 32, 26, 27, 67,
67
+ 311, 41, 31, 25, 66, 45, 42, 161, 160, 87,
68
+ 88, 78, 37, 65, 28, 29, 57, 88, 78, 94,
69
+ 314, 103, 87, 88, 78, 315, 30, 330, 88, 78,
70
+ 40, 87, 88, 78, 87, 88, 78, 318, 319, 326,
71
+ 103, 327, 129, 129, 64, 338, 339, 46, 340, 341,
72
+ 47, 48, 104, 49, 35, 36, 346, 101, 38, 39,
73
+ 50, 51, 288, 64, 129, 34, 65, 33, 32, 26,
74
+ 27, 67, 334, 41, 31, 25, 37, 199, 346, 129,
75
+ 336, 359, 214, 360, 37, 65, 28, 29, 193, 192,
76
+ 190, 191, 188, 184, 361, 187, 185, 370, 371, 372,
77
+ 373, 87, 88, 78, 87, 88, 78, 374, 375, 87,
78
+ 88, 94, 376, 103, 94, 377, 103, 129, 87, 88,
79
+ 78, 103, 87, 88, 78, 87, 88, 78, 94, 379,
80
+ 103, 78, 94, 37, 103, 94, 64, 103, 394, 64,
81
+ 395, 396, 397, 398, 399, 189, 400, 186, 402, 101,
82
+ 403, 407, 101, 64, 330, 78, 409, 64, 65, 68,
83
+ 64, 65, 87, 88, 78, 74, 101, 103, 330, 75,
84
+ 101, 76, 94, 101, 103, 65, 87, 88, 78, 65,
85
+ 80, 103, 65, 87, 88, 78, 94, 81, 103, 82,
86
+ 87, 88, 78, 94, 110, 103, 37, 64, 78, 334,
87
+ 94, 118, 103, 78, 87, 88, 78, 336, 122, 214,
88
+ 101, 64, 78, 334, 94, 128, 103, 129, 64, 65,
89
+ 132, 336, 134, 214, 101, 64, 78, 78, 108, 129,
90
+ 196, 101, 197, 65, 202, 199, 129, 129, 101, 64,
91
+ 65, 210, 211, 212, 214, 215, 216, 65, 217, 223,
92
+ 224, 225, 101, 226, 227, 144, 145, 148, 149, 146,
93
+ 147, 65, 150, 151, 153, 154, 155, 157, 152, 156,
94
+ 144, 145, 148, 149, 146, 147, 228, 150, 151, 153,
95
+ 154, 155, 157, 152, 156, 229, 230, 231, 199, 232,
96
+ 240, 240, 242, 243, 144, 145, 148, 149, 146, 147,
97
+ 218, 150, 151, 153, 154, 155, 157, 152, 156, 244,
98
+ 199, 247, 248, 251, 129, 220, 144, 145, 148, 149,
99
+ 146, 147, 129, 150, 151, 153, 154, 155, 157, 152,
100
+ 156, 199, 254, 255, 257, 258, 259, 144, 145, 148,
101
+ 149, 146, 147, 260, 150, 151, 153, 154, 155, 157,
102
+ 152, 156, 144, 145, 148, 149, 146, 147, 261, 150,
103
+ 151, 153, 154, 155, 157, 152, 156, 144, 145, 148,
104
+ 149, 146, 147, 262, 150, 151, 153, 154, 155, 157,
105
+ 152, 156, 144, 145, 148, 149, 146, 147, 263, 150,
106
+ 151, 153, 154, 155, 157, 152, 156, 144, 145, 148,
107
+ 149, 146, 147, 264, 150, 151, 153, 154, 155, 157,
108
+ 152, 156, 144, 145, 148, 149, 146, 147, 265, 150,
109
+ 151, 153, 154, 155, 157, 152, 156, 144, 145, 148,
110
+ 149, 146, 147, 266, 150, 151, 153, 154, 155, 157,
111
+ 152, 156, 144, 145, 148, 149, 146, 147, 267, 150,
112
+ 151, 153, 154, 155, 157, 152, 156, 270, 199, 272,
113
+ 282, 284, 289, 129, 294 ]
114
+
115
+ racc_action_check = [
116
+ 3, 322, 69, 325, 253, 78, 33, 258, 238, 238,
117
+ 238, 76, 198, 245, 198, 308, 112, 285, 373, 373,
118
+ 238, 40, 3, 322, 69, 325, 400, 245, 309, 373,
119
+ 238, 195, 52, 259, 238, 52, 40, 195, 260, 33,
120
+ 308, 104, 104, 104, 104, 197, 197, 197, 197, 112,
121
+ 400, 238, 356, 309, 238, 238, 76, 238, 238, 238,
122
+ 253, 32, 238, 238, 238, 238, 78, 238, 42, 238,
123
+ 285, 238, 238, 238, 238, 238, 261, 238, 238, 238,
124
+ 2, 2, 2, 308, 3, 322, 69, 325, 238, 238,
125
+ 238, 238, 2, 400, 32, 40, 309, 40, 235, 104,
126
+ 235, 42, 2, 197, 59, 356, 2, 222, 222, 222,
127
+ 222, 262, 59, 59, 42, 371, 371, 371, 371, 263,
128
+ 94, 94, 94, 2, 372, 372, 2, 2, 264, 2,
129
+ 2, 2, 94, 265, 2, 2, 2, 2, 163, 2,
130
+ 163, 2, 266, 2, 2, 2, 2, 2, 267, 2,
131
+ 2, 2, 0, 0, 0, 94, 269, 123, 123, 123,
132
+ 2, 2, 2, 2, 0, 222, 273, 123, 94, 123,
133
+ 247, 247, 247, 355, 0, 339, 339, 339, 0, 355,
134
+ 355, 355, 355, 355, 38, 38, 38, 102, 102, 102,
135
+ 293, 293, 123, 237, 237, 0, 333, 333, 0, 0,
136
+ 276, 0, 0, 0, 278, 123, 0, 0, 0, 0,
137
+ 279, 0, 282, 0, 123, 0, 0, 0, 0, 0,
138
+ 283, 0, 0, 0, 199, 199, 199, 171, 171, 39,
139
+ 39, 39, 0, 0, 0, 0, 199, 242, 242, 39,
140
+ 288, 39, 375, 375, 375, 290, 199, 314, 306, 306,
141
+ 199, 251, 251, 251, 81, 81, 81, 304, 305, 310,
142
+ 314, 312, 313, 315, 39, 316, 317, 199, 319, 320,
143
+ 199, 199, 321, 199, 199, 199, 326, 39, 199, 199,
144
+ 199, 199, 328, 199, 336, 199, 39, 199, 199, 199,
145
+ 199, 199, 314, 199, 199, 199, 338, 341, 344, 346,
146
+ 314, 351, 314, 352, 199, 199, 199, 199, 105, 105,
147
+ 105, 105, 105, 105, 353, 105, 105, 360, 362, 363,
148
+ 364, 210, 210, 210, 211, 211, 211, 365, 366, 105,
149
+ 105, 210, 367, 210, 211, 368, 211, 369, 120, 120,
150
+ 120, 105, 121, 121, 121, 46, 46, 46, 120, 370,
151
+ 120, 374, 121, 376, 121, 46, 210, 46, 380, 211,
152
+ 381, 383, 384, 387, 388, 105, 389, 105, 392, 210,
153
+ 395, 401, 211, 120, 378, 402, 404, 121, 210, 1,
154
+ 46, 211, 47, 47, 47, 28, 120, 378, 350, 29,
155
+ 121, 31, 47, 46, 47, 120, 143, 143, 143, 121,
156
+ 34, 350, 46, 82, 82, 82, 143, 35, 143, 36,
157
+ 101, 101, 101, 82, 41, 82, 45, 47, 48, 378,
158
+ 101, 50, 101, 51, 49, 49, 49, 378, 57, 378,
159
+ 47, 143, 62, 350, 49, 64, 49, 67, 82, 47,
160
+ 68, 350, 72, 350, 143, 101, 74, 75, 106, 108,
161
+ 109, 82, 110, 143, 116, 118, 119, 122, 101, 49,
162
+ 82, 124, 125, 128, 130, 136, 137, 101, 141, 184,
163
+ 185, 186, 49, 187, 188, 142, 142, 142, 142, 142,
164
+ 142, 49, 142, 142, 142, 142, 142, 142, 142, 142,
165
+ 159, 159, 159, 159, 159, 159, 189, 159, 159, 159,
166
+ 159, 159, 159, 159, 159, 190, 191, 192, 114, 193,
167
+ 200, 201, 202, 203, 114, 114, 114, 114, 114, 114,
168
+ 142, 114, 114, 114, 114, 114, 114, 114, 114, 204,
169
+ 115, 205, 208, 212, 213, 159, 115, 115, 115, 115,
170
+ 115, 115, 214, 115, 115, 115, 115, 115, 115, 115,
171
+ 115, 117, 217, 218, 223, 224, 225, 117, 117, 117,
172
+ 117, 117, 117, 226, 117, 117, 117, 117, 117, 117,
173
+ 117, 117, 206, 206, 206, 206, 206, 206, 227, 206,
174
+ 206, 206, 206, 206, 206, 206, 206, 209, 209, 209,
175
+ 209, 209, 209, 228, 209, 209, 209, 209, 209, 209,
176
+ 209, 209, 207, 207, 207, 207, 207, 207, 229, 207,
177
+ 207, 207, 207, 207, 207, 207, 207, 249, 249, 249,
178
+ 249, 249, 249, 230, 249, 249, 249, 249, 249, 249,
179
+ 249, 249, 250, 250, 250, 250, 250, 250, 231, 250,
180
+ 250, 250, 250, 250, 250, 250, 250, 89, 89, 89,
181
+ 89, 89, 89, 232, 89, 89, 89, 89, 89, 89,
182
+ 89, 89, 219, 219, 219, 219, 219, 219, 234, 219,
183
+ 219, 219, 219, 219, 219, 219, 219, 239, 240, 241,
184
+ 248, 252, 254, 255, 257 ]
185
+
186
+ racc_action_pointer = [
187
+ 148, 379, 76, -4, nil, nil, nil, nil, nil, nil,
188
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
189
+ nil, nil, nil, nil, nil, nil, nil, nil, 309, 313,
190
+ nil, 360, 31, -24, 373, 331, 333, nil, 156, 201,
191
+ 19, 384, 38, nil, nil, 332, 317, 354, 388, 396,
192
+ 391, 393, -15, nil, nil, nil, nil, 411, nil, 73,
193
+ nil, nil, 402, nil, 359, nil, nil, 411, 440, -2,
194
+ nil, nil, 416, nil, 416, 417, -16, nil, -12, nil,
195
+ nil, 226, 375, nil, nil, nil, nil, nil, nil, 615,
196
+ nil, nil, nil, nil, 92, nil, nil, nil, nil, nil,
197
+ nil, 382, 159, nil, 14, 301, 431, nil, 423, 372,
198
+ 376, nil, -14, nil, 482, 504, 402, 525, 429, 430,
199
+ 310, 314, 431, 129, 430, 431, nil, nil, 436, nil,
200
+ 382, nil, nil, nil, nil, nil, 388, 389, nil, nil,
201
+ nil, 389, 443, 368, nil, nil, nil, nil, nil, nil,
202
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 458,
203
+ nil, nil, nil, 61, nil, nil, nil, nil, nil, nil,
204
+ nil, 199, nil, nil, nil, nil, nil, nil, nil, nil,
205
+ nil, nil, nil, nil, 389, 390, 391, 393, 394, 416,
206
+ 425, 426, 427, 429, nil, 7, nil, 18, -65, 220,
207
+ 462, 463, 436, 464, 480, 469, 540, 570, 514, 555,
208
+ 293, 296, 454, 508, 516, nil, nil, 525, 536, 630,
209
+ nil, nil, 80, 525, 526, 527, 534, 549, 564, 579,
210
+ 594, 609, 624, nil, 592, 21, nil, 165, 4, 628,
211
+ 652, 630, 208, nil, nil, -35, nil, 142, 604, 585,
212
+ 600, 223, 632, -23, 605, 657, nil, 603, -74, -48,
213
+ -43, -5, 30, 38, 47, 52, 61, 119, nil, 77,
214
+ nil, nil, nil, 148, nil, nil, 151, nil, 178, 184,
215
+ nil, nil, 182, 143, nil, -9, nil, nil, 162, nil,
216
+ 228, nil, nil, 134, nil, nil, nil, nil, nil, nil,
217
+ nil, nil, nil, nil, 180, 231, 219, nil, 10, 23,
218
+ 182, nil, 178, 236, 220, 237, 189, 190, nil, 191,
219
+ 192, 196, -3, nil, nil, -1, 259, nil, 255, nil,
220
+ nil, nil, nil, 168, nil, nil, 258, nil, 212, 147,
221
+ nil, 271, nil, nil, 281, nil, 273, nil, nil, nil,
222
+ 361, 224, 224, 265, nil, 160, 26, nil, nil, nil,
223
+ 290, nil, 242, 243, 244, 251, 252, 256, 254, 311,
224
+ 272, 88, 95, -11, 321, 214, 269, nil, 347, nil,
225
+ 281, 281, nil, 284, 285, nil, nil, 334, 287, 287,
226
+ nil, nil, 289, nil, nil, 343, nil, nil, nil, nil,
227
+ 20, 294, 345, nil, 299, nil, nil, nil, nil, nil ]
228
+
229
+ racc_action_default = [
230
+ -2, -217, -1, -195, -8, -9, -10, -11, -12, -13,
231
+ -14, -15, -16, -17, -18, -19, -20, -21, -22, -23,
232
+ -24, -25, -26, -27, -28, -29, -30, -31, -217, -217,
233
+ -34, -217, -217, -217, -217, -217, -217, -49, -217, -217,
234
+ -123, -217, -217, -65, -66, -217, -217, -217, -217, -217,
235
+ -217, -217, -85, -88, -89, -90, -91, -217, -116, -217,
236
+ -121, -122, -217, -130, -217, -190, -191, -197, -217, -195,
237
+ -3, -192, -7, -194, -217, -217, -217, -38, -123, -39,
238
+ -40, -217, -217, -50, -108, -109, -165, -166, -167, -51,
239
+ -133, -134, -135, -136, -217, -153, -154, -155, -156, -157,
240
+ -158, -217, -217, -164, -56, -217, -124, -126, -197, -217,
241
+ -217, -62, -217, -67, -217, -217, -217, -217, -217, -197,
242
+ -217, -217, -197, -217, -217, -217, -125, -131, -217, -196,
243
+ -217, -199, 410, -4, -6, -193, -217, -217, -35, -36,
244
+ -37, -217, -217, -217, -139, -140, -141, -142, -143, -144,
245
+ -145, -146, -147, -148, -149, -150, -151, -152, -137, -217,
246
+ -161, -162, -163, -217, -54, -57, -58, -59, -60, -61,
247
+ -117, -217, -168, -169, -170, -171, -172, -173, -174, -175,
248
+ -176, -177, -178, -179, -217, -217, -217, -217, -217, -217,
249
+ -217, -217, -217, -217, -127, -217, -132, -56, -217, -217,
250
+ -93, -93, -217, -217, -217, -217, -86, -87, -217, -118,
251
+ -217, -217, -217, -197, -197, -32, -33, -217, -42, -138,
252
+ -159, -52, -217, -217, -217, -217, -217, -217, -217, -217,
253
+ -217, -217, -217, -128, -217, -217, -63, -217, -5, -217,
254
+ -217, -217, -217, -71, -74, -82, -76, -217, -217, -119,
255
+ -120, -217, -217, -217, -217, -197, -55, -217, -217, -217,
256
+ -217, -217, -217, -217, -217, -217, -217, -217, -53, -217,
257
+ -68, -92, -69, -217, -72, -73, -217, -77, -197, -197,
258
+ -79, -80, -217, -217, -198, -197, -201, -202, -217, -41,
259
+ -43, -45, -46, -217, -180, -181, -182, -183, -184, -185,
260
+ -186, -187, -188, -189, -217, -217, -217, -75, -217, -217,
261
+ -217, -160, -217, -197, -212, -197, -217, -217, -129, -217,
262
+ -217, -217, -195, -83, -84, -195, -217, -200, -217, -204,
263
+ -205, -206, -207, -217, -210, -211, -197, -44, -217, -217,
264
+ -64, -217, -81, -78, -94, -95, -197, -203, -208, -209,
265
+ -212, -217, -217, -217, -96, -217, -197, -214, -216, -47,
266
+ -217, -70, -217, -217, -217, -217, -217, -217, -217, -197,
267
+ -217, -217, -217, -217, -217, -217, -217, -213, -212, -48,
268
+ -217, -217, -115, -217, -217, -103, -104, -217, -217, -217,
269
+ -112, -113, -107, -215, -97, -217, -98, -99, -105, -100,
270
+ -217, -217, -217, -114, -217, -110, -111, -102, -106, -101 ]
271
+
272
+ racc_goto_table = [
273
+ 43, 84, 43, 83, 113, 72, 70, 130, 195, 69,
274
+ 171, 287, 9, 2, 9, 274, 163, 246, 273, 205,
275
+ 290, 44, 208, 44, 357, 200, 201, 182, 203, 204,
276
+ 323, 323, 43, 43, 1, 77, 79, 345, 85, 213,
277
+ 304, 285, 43, 329, 84, 111, 141, 356, 116, 322,
278
+ 325, 119, 393, 44, 44, 354, 183, 277, 239, 241,
279
+ 324, 324, 135, 44, 138, 256, 406, 165, 178, 245,
280
+ 276, 72, 133, 279, 136, 137, 344, 89, 380, 274,
281
+ 337, 85, 320, 384, 114, 115, 347, 117, 389, 404,
282
+ 401, 170, 126, 194, 127, 158, 179, 172, 173, 174,
283
+ 175, 176, 162, 177, 166, 180, 181, nil, nil, 235,
284
+ nil, nil, 43, nil, nil, 198, 168, nil, nil, nil,
285
+ 142, nil, 405, nil, nil, nil, nil, nil, nil, nil,
286
+ nil, nil, nil, 44, nil, nil, nil, nil, nil, 159,
287
+ nil, nil, nil, nil, nil, 274, 385, nil, 383, nil,
288
+ nil, 271, nil, 252, 253, 293, nil, nil, 206, 207,
289
+ 165, 209, nil, nil, nil, nil, nil, nil, nil, nil,
290
+ nil, nil, nil, nil, nil, nil, nil, nil, 308, 309,
291
+ nil, 219, nil, nil, nil, 165, nil, nil, nil, nil,
292
+ nil, nil, nil, nil, nil, nil, nil, 166, nil, 43,
293
+ 269, nil, nil, nil, nil, nil, nil, nil, nil, 168,
294
+ 280, 9, 238, nil, 84, 293, 283, nil, nil, 335,
295
+ 44, nil, 166, nil, nil, 312, nil, nil, nil, nil,
296
+ nil, nil, nil, nil, 168, nil, nil, nil, 43, nil,
297
+ nil, nil, 275, nil, nil, 69, 355, 281, 249, 250,
298
+ 9, 85, 353, 328, nil, 335, nil, nil, nil, 44,
299
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
300
+ nil, nil, nil, nil, nil, nil, 350, nil, nil, nil,
301
+ nil, nil, 310, 335, nil, nil, nil, nil, nil, nil,
302
+ nil, nil, nil, nil, nil, nil, 368, 351, nil, nil,
303
+ nil, nil, 84, nil, 352, nil, 275, nil, nil, 378,
304
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
305
+ nil, nil, nil, nil, 72, 342, nil, 72, 343, nil,
306
+ nil, nil, nil, nil, 84, 392, 381, nil, 391, 85,
307
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
308
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
309
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
310
+ nil, 85, 275, 386, 388, 390, nil, nil, nil, nil,
311
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
312
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
313
+ nil, nil, 408 ]
314
+
315
+ racc_goto_check = [
316
+ 28, 41, 28, 31, 37, 7, 4, 88, 36, 3,
317
+ 77, 91, 12, 2, 12, 48, 39, 51, 47, 36,
318
+ 33, 44, 36, 44, 96, 5, 5, 86, 5, 5,
319
+ 38, 38, 28, 28, 1, 30, 30, 57, 28, 89,
320
+ 48, 90, 28, 92, 41, 30, 31, 95, 28, 53,
321
+ 53, 28, 96, 44, 44, 57, 87, 51, 46, 46,
322
+ 45, 45, 6, 44, 29, 40, 43, 41, 41, 49,
323
+ 50, 7, 4, 52, 28, 28, 56, 32, 58, 48,
324
+ 33, 28, 47, 59, 32, 32, 91, 32, 60, 61,
325
+ 62, 63, 64, 68, 69, 72, 74, 78, 79, 80,
326
+ 81, 82, 28, 83, 28, 84, 85, nil, nil, 39,
327
+ nil, nil, 28, nil, nil, 30, 12, nil, nil, nil,
328
+ 32, nil, 38, nil, nil, nil, nil, nil, nil, nil,
329
+ nil, nil, nil, 44, nil, nil, nil, nil, nil, 32,
330
+ nil, nil, nil, nil, nil, 48, 48, nil, 47, nil,
331
+ nil, 5, nil, 88, 88, 36, nil, nil, 32, 32,
332
+ 41, 32, nil, nil, nil, nil, nil, nil, nil, nil,
333
+ nil, nil, nil, nil, nil, nil, nil, nil, 36, 36,
334
+ nil, 32, nil, nil, nil, 41, nil, nil, nil, nil,
335
+ nil, nil, nil, nil, nil, nil, nil, 28, nil, 28,
336
+ 41, nil, nil, nil, nil, nil, nil, nil, nil, 12,
337
+ 41, 12, 2, nil, 41, 36, 31, nil, nil, 77,
338
+ 44, nil, 28, nil, nil, 88, nil, nil, nil, nil,
339
+ nil, nil, nil, nil, 12, nil, nil, nil, 28, nil,
340
+ nil, nil, 28, nil, nil, 3, 36, 28, 32, 32,
341
+ 12, 28, 5, 88, nil, 77, nil, nil, nil, 44,
342
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
343
+ nil, nil, nil, nil, nil, nil, 88, nil, nil, nil,
344
+ nil, nil, 28, 77, nil, nil, nil, nil, nil, nil,
345
+ nil, nil, nil, nil, nil, nil, 88, 37, nil, nil,
346
+ nil, nil, 41, nil, 31, nil, 28, nil, nil, 88,
347
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
348
+ nil, nil, nil, nil, 7, 4, nil, 7, 4, nil,
349
+ nil, nil, nil, nil, 41, 37, 31, nil, 41, 28,
350
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
351
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
352
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
353
+ nil, 28, 28, 28, 28, 28, nil, nil, nil, nil,
354
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
355
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
356
+ nil, nil, 28 ]
357
+
358
+ racc_goto_pointer = [
359
+ nil, 34, 13, 7, 3, -89, -10, 2, nil, nil,
360
+ nil, nil, 12, nil, nil, nil, nil, nil, nil, nil,
361
+ nil, nil, nil, nil, nil, nil, nil, nil, 0, -12,
362
+ 3, -35, 38, -235, nil, nil, -100, -41, -278, -88,
363
+ -157, -37, nil, -334, 21, -248, -142, -224, -227, -136,
364
+ -175, -188, -174, -259, nil, nil, -250, -289, -293, -290,
365
+ -287, -311, -302, -14, 30, nil, nil, nil, -13, 32,
366
+ nil, nil, 1, nil, -9, nil, nil, -95, -8, -7,
367
+ -6, -5, -4, -2, 0, 1, -78, -49, -60, -91,
368
+ -212, -242, -271, nil, nil, -303, -326 ]
369
+
370
+ racc_goto_default = [
371
+ nil, nil, nil, 3, nil, nil, nil, 4, 5, 6,
372
+ 7, 8, 93, 10, 11, 12, 13, 14, 15, 16,
373
+ 17, 18, 19, 20, 21, 22, 23, 24, 97, nil,
374
+ 59, nil, nil, nil, 291, 292, 131, 58, 56, nil,
375
+ 164, 95, 167, 55, 99, 53, nil, nil, 86, nil,
376
+ nil, nil, nil, nil, 52, 54, nil, nil, nil, nil,
377
+ nil, nil, nil, nil, 60, 61, 106, 62, 107, 63,
378
+ 90, 91, 92, 143, 96, 98, 100, 102, nil, nil,
379
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 331,
380
+ nil, nil, 358, 332, 333, nil, nil ]
381
+
382
+ racc_reduce_table = [
383
+ 0, 0, :racc_error,
384
+ 1, 90, :_reduce_1,
385
+ 0, 90, :_reduce_none,
386
+ 2, 91, :_reduce_3,
387
+ 3, 91, :_reduce_4,
388
+ 2, 94, :_reduce_5,
389
+ 1, 95, :_reduce_none,
390
+ 0, 95, :_reduce_none,
391
+ 1, 92, :_reduce_none,
392
+ 1, 92, :_reduce_none,
393
+ 1, 92, :_reduce_none,
394
+ 1, 92, :_reduce_none,
395
+ 1, 92, :_reduce_none,
396
+ 1, 92, :_reduce_none,
397
+ 1, 92, :_reduce_none,
398
+ 1, 92, :_reduce_none,
399
+ 1, 92, :_reduce_none,
400
+ 1, 92, :_reduce_none,
401
+ 1, 92, :_reduce_none,
402
+ 1, 92, :_reduce_none,
403
+ 1, 92, :_reduce_none,
404
+ 1, 92, :_reduce_none,
405
+ 1, 92, :_reduce_none,
406
+ 1, 92, :_reduce_none,
407
+ 1, 92, :_reduce_none,
408
+ 1, 92, :_reduce_none,
409
+ 1, 92, :_reduce_none,
410
+ 1, 92, :_reduce_none,
411
+ 1, 92, :_reduce_none,
412
+ 1, 92, :_reduce_29,
413
+ 1, 92, :_reduce_30,
414
+ 1, 92, :_reduce_31,
415
+ 4, 115, :_reduce_32,
416
+ 4, 115, :_reduce_33,
417
+ 1, 116, :_reduce_34,
418
+ 3, 114, :_reduce_35,
419
+ 1, 118, :_reduce_none,
420
+ 1, 118, :_reduce_none,
421
+ 2, 113, :_reduce_38,
422
+ 2, 111, :_reduce_39,
423
+ 2, 110, :_reduce_40,
424
+ 6, 108, :_reduce_41,
425
+ 4, 108, :_reduce_42,
426
+ 6, 108, :_reduce_43,
427
+ 8, 108, :_reduce_44,
428
+ 1, 122, :_reduce_none,
429
+ 1, 122, :_reduce_none,
430
+ 5, 123, :_reduce_47,
431
+ 7, 124, :_reduce_48,
432
+ 1, 126, :_reduce_49,
433
+ 2, 106, :_reduce_50,
434
+ 2, 107, :_reduce_51,
435
+ 4, 127, :_reduce_52,
436
+ 5, 127, :_reduce_53,
437
+ 1, 128, :_reduce_54,
438
+ 3, 128, :_reduce_55,
439
+ 0, 128, :_reduce_56,
440
+ 1, 129, :_reduce_none,
441
+ 1, 129, :_reduce_none,
442
+ 1, 129, :_reduce_none,
443
+ 1, 129, :_reduce_none,
444
+ 1, 131, :_reduce_61,
445
+ 2, 132, :_reduce_62,
446
+ 4, 132, :_reduce_63,
447
+ 8, 132, :_reduce_64,
448
+ 1, 119, :_reduce_none,
449
+ 1, 119, :_reduce_none,
450
+ 2, 134, :_reduce_67,
451
+ 5, 102, :_reduce_68,
452
+ 5, 102, :_reduce_69,
453
+ 10, 104, :_reduce_70,
454
+ 4, 105, :_reduce_71,
455
+ 1, 136, :_reduce_none,
456
+ 1, 136, :_reduce_none,
457
+ 4, 98, :_reduce_74,
458
+ 6, 109, :_reduce_75,
459
+ 1, 138, :_reduce_76,
460
+ 2, 138, :_reduce_77,
461
+ 5, 140, :_reduce_78,
462
+ 1, 141, :_reduce_none,
463
+ 1, 141, :_reduce_none,
464
+ 4, 139, :_reduce_81,
465
+ 0, 139, :_reduce_none,
466
+ 1, 142, :_reduce_none,
467
+ 1, 142, :_reduce_none,
468
+ 1, 103, :_reduce_none,
469
+ 3, 103, :_reduce_86,
470
+ 3, 103, :_reduce_87,
471
+ 1, 143, :_reduce_none,
472
+ 1, 143, :_reduce_none,
473
+ 1, 143, :_reduce_none,
474
+ 1, 143, :_reduce_none,
475
+ 2, 135, :_reduce_92,
476
+ 0, 135, :_reduce_93,
477
+ 8, 99, :_reduce_94,
478
+ 1, 145, :_reduce_95,
479
+ 2, 145, :_reduce_96,
480
+ 6, 146, :_reduce_97,
481
+ 6, 146, :_reduce_98,
482
+ 6, 146, :_reduce_99,
483
+ 6, 146, :_reduce_100,
484
+ 8, 146, :_reduce_101,
485
+ 7, 146, :_reduce_102,
486
+ 1, 148, :_reduce_none,
487
+ 1, 148, :_reduce_none,
488
+ 2, 148, :_reduce_105,
489
+ 2, 151, :_reduce_106,
490
+ 0, 151, :_reduce_none,
491
+ 1, 120, :_reduce_none,
492
+ 1, 120, :_reduce_none,
493
+ 1, 150, :_reduce_none,
494
+ 1, 150, :_reduce_none,
495
+ 1, 149, :_reduce_none,
496
+ 1, 149, :_reduce_none,
497
+ 3, 147, :_reduce_114,
498
+ 1, 147, :_reduce_115,
499
+ 1, 100, :_reduce_116,
500
+ 3, 97, :_reduce_117,
501
+ 3, 144, :_reduce_118,
502
+ 4, 144, :_reduce_119,
503
+ 4, 144, :_reduce_120,
504
+ 1, 117, :_reduce_none,
505
+ 1, 117, :_reduce_none,
506
+ 1, 153, :_reduce_123,
507
+ 2, 153, :_reduce_124,
508
+ 2, 154, :_reduce_125,
509
+ 1, 155, :_reduce_126,
510
+ 2, 155, :_reduce_127,
511
+ 3, 157, :_reduce_128,
512
+ 6, 157, :_reduce_129,
513
+ 1, 156, :_reduce_130,
514
+ 2, 156, :_reduce_131,
515
+ 3, 158, :_reduce_132,
516
+ 1, 121, :_reduce_none,
517
+ 1, 121, :_reduce_none,
518
+ 1, 159, :_reduce_135,
519
+ 1, 159, :_reduce_none,
520
+ 2, 159, :_reduce_137,
521
+ 3, 160, :_reduce_138,
522
+ 1, 162, :_reduce_139,
523
+ 1, 162, :_reduce_140,
524
+ 1, 162, :_reduce_141,
525
+ 1, 162, :_reduce_142,
526
+ 1, 162, :_reduce_143,
527
+ 1, 162, :_reduce_144,
528
+ 1, 162, :_reduce_145,
529
+ 1, 162, :_reduce_146,
530
+ 1, 162, :_reduce_147,
531
+ 1, 162, :_reduce_148,
532
+ 1, 162, :_reduce_149,
533
+ 1, 162, :_reduce_150,
534
+ 1, 162, :_reduce_151,
535
+ 1, 162, :_reduce_152,
536
+ 1, 161, :_reduce_none,
537
+ 1, 161, :_reduce_none,
538
+ 1, 161, :_reduce_none,
539
+ 1, 161, :_reduce_none,
540
+ 1, 161, :_reduce_none,
541
+ 1, 161, :_reduce_none,
542
+ 3, 165, :_reduce_159,
543
+ 6, 133, :_reduce_160,
544
+ 2, 163, :_reduce_161,
545
+ 2, 163, :_reduce_162,
546
+ 2, 164, :_reduce_163,
547
+ 1, 166, :_reduce_164,
548
+ 1, 130, :_reduce_none,
549
+ 1, 130, :_reduce_166,
550
+ 1, 137, :_reduce_167,
551
+ 1, 152, :_reduce_none,
552
+ 1, 152, :_reduce_none,
553
+ 1, 152, :_reduce_none,
554
+ 1, 152, :_reduce_none,
555
+ 1, 152, :_reduce_none,
556
+ 1, 152, :_reduce_none,
557
+ 1, 152, :_reduce_none,
558
+ 1, 152, :_reduce_none,
559
+ 1, 152, :_reduce_none,
560
+ 1, 152, :_reduce_none,
561
+ 1, 152, :_reduce_none,
562
+ 1, 152, :_reduce_none,
563
+ 4, 176, :_reduce_180,
564
+ 4, 175, :_reduce_181,
565
+ 4, 174, :_reduce_182,
566
+ 4, 173, :_reduce_183,
567
+ 4, 172, :_reduce_184,
568
+ 4, 171, :_reduce_185,
569
+ 4, 167, :_reduce_186,
570
+ 4, 170, :_reduce_187,
571
+ 4, 168, :_reduce_188,
572
+ 4, 169, :_reduce_189,
573
+ 1, 101, :_reduce_190,
574
+ 1, 96, :_reduce_191,
575
+ 1, 93, :_reduce_192,
576
+ 2, 93, :_reduce_193,
577
+ 1, 93, :_reduce_none,
578
+ 0, 93, :_reduce_none,
579
+ 1, 125, :_reduce_196,
580
+ 0, 125, :_reduce_none,
581
+ 5, 112, :_reduce_198,
582
+ 1, 177, :_reduce_none,
583
+ 5, 178, :_reduce_200,
584
+ 3, 178, :_reduce_201,
585
+ 1, 179, :_reduce_202,
586
+ 4, 179, :_reduce_203,
587
+ 3, 180, :_reduce_204,
588
+ 1, 181, :_reduce_none,
589
+ 1, 181, :_reduce_none,
590
+ 1, 181, :_reduce_none,
591
+ 2, 181, :_reduce_208,
592
+ 2, 181, :_reduce_209,
593
+ 1, 181, :_reduce_210,
594
+ 1, 183, :_reduce_none,
595
+ 0, 183, :_reduce_none,
596
+ 5, 182, :_reduce_213,
597
+ 1, 184, :_reduce_214,
598
+ 4, 184, :_reduce_215,
599
+ 1, 185, :_reduce_none ]
600
+
601
+ racc_reduce_n = 217
602
+
603
+ racc_shift_n = 410
604
+
605
+ racc_token_table = {
606
+ false => 0,
607
+ :error => 1,
608
+ :ASSIGN => 2,
609
+ :AT_SYM => 3,
610
+ :COMMENT => 4,
611
+ :JUMP => 5,
612
+ :IO_METHOD => 6,
613
+ :INPUT => 7,
614
+ :OUTPUT => 8,
615
+ :NUMREG => 9,
616
+ :POSREG => 10,
617
+ :VREG => 11,
618
+ :SREG => 12,
619
+ :TIME_SEGMENT => 13,
620
+ :ARG => 14,
621
+ :UALM => 15,
622
+ :MOVE => 16,
623
+ :DOT => 17,
624
+ :TO => 18,
625
+ :AT => 19,
626
+ :ACC => 20,
627
+ :TERM => 21,
628
+ :OFFSET => 22,
629
+ :SKIP => 23,
630
+ :GROUP => 24,
631
+ :SEMICOLON => 25,
632
+ :NEWLINE => 26,
633
+ :STRING => 27,
634
+ :REAL => 28,
635
+ :DIGIT => 29,
636
+ :WORD => 30,
637
+ :EQUAL => 31,
638
+ :EEQUAL => 32,
639
+ :NOTEQUAL => 33,
640
+ :GTE => 34,
641
+ :LTE => 35,
642
+ :LT => 36,
643
+ :GT => 37,
644
+ :BANG => 38,
645
+ :PLUS => 39,
646
+ :MINUS => 40,
647
+ :STAR => 41,
648
+ :SLASH => 42,
649
+ :DIV => 43,
650
+ :AND => 44,
651
+ :OR => 45,
652
+ :MOD => 46,
653
+ :IF => 47,
654
+ :ELSE => 48,
655
+ :END => 49,
656
+ :UNLESS => 50,
657
+ :FOR => 51,
658
+ :IN => 52,
659
+ :WHILE => 53,
660
+ :WAIT_FOR => 54,
661
+ :WAIT_UNTIL => 55,
662
+ :TIMEOUT => 56,
663
+ :AFTER => 57,
664
+ :FANUC_USE => 58,
665
+ :SET_SKIP_CONDITION => 59,
666
+ :NAMESPACE => 60,
667
+ :CASE => 61,
668
+ :WHEN => 62,
669
+ :INDIRECT => 63,
670
+ :POSITION => 64,
671
+ :EVAL => 65,
672
+ :TIMER => 66,
673
+ :TIMER_METHOD => 67,
674
+ :RAISE => 68,
675
+ :ABORT => 69,
676
+ :RETURN => 70,
677
+ :POSITION_DATA => 71,
678
+ :TRUE_FALSE => 72,
679
+ :RUN => 73,
680
+ :TP_HEADER => 74,
681
+ :PAUSE => 75,
682
+ :LPAREN => 76,
683
+ :RPAREN => 77,
684
+ :COLON => 78,
685
+ :COMMA => 79,
686
+ :LBRACK => 80,
687
+ :RBRACK => 81,
688
+ :LBRACE => 82,
689
+ :RBRACE => 83,
690
+ :LABEL => 84,
691
+ :ADDRESS => 85,
692
+ :LPOS => 86,
693
+ :JPOS => 87,
694
+ :false => 88 }
695
+
696
+ racc_nt_base = 89
697
+
698
+ racc_use_result_var = true
699
+
700
+ Racc_arg = [
701
+ racc_action_table,
702
+ racc_action_check,
703
+ racc_action_default,
704
+ racc_action_pointer,
705
+ racc_goto_table,
706
+ racc_goto_check,
707
+ racc_goto_default,
708
+ racc_goto_pointer,
709
+ racc_nt_base,
710
+ racc_reduce_table,
711
+ racc_token_table,
712
+ racc_shift_n,
713
+ racc_reduce_n,
714
+ racc_use_result_var ]
715
+
716
+ Racc_token_to_s_table = [
717
+ "$end",
718
+ "error",
719
+ "ASSIGN",
720
+ "AT_SYM",
721
+ "COMMENT",
722
+ "JUMP",
723
+ "IO_METHOD",
724
+ "INPUT",
725
+ "OUTPUT",
726
+ "NUMREG",
727
+ "POSREG",
728
+ "VREG",
729
+ "SREG",
730
+ "TIME_SEGMENT",
731
+ "ARG",
732
+ "UALM",
733
+ "MOVE",
734
+ "DOT",
735
+ "TO",
736
+ "AT",
737
+ "ACC",
738
+ "TERM",
739
+ "OFFSET",
740
+ "SKIP",
741
+ "GROUP",
742
+ "SEMICOLON",
743
+ "NEWLINE",
744
+ "STRING",
745
+ "REAL",
746
+ "DIGIT",
747
+ "WORD",
748
+ "EQUAL",
749
+ "EEQUAL",
750
+ "NOTEQUAL",
751
+ "GTE",
752
+ "LTE",
753
+ "LT",
754
+ "GT",
755
+ "BANG",
756
+ "PLUS",
757
+ "MINUS",
758
+ "STAR",
759
+ "SLASH",
760
+ "DIV",
761
+ "AND",
762
+ "OR",
763
+ "MOD",
764
+ "IF",
765
+ "ELSE",
766
+ "END",
767
+ "UNLESS",
768
+ "FOR",
769
+ "IN",
770
+ "WHILE",
771
+ "WAIT_FOR",
772
+ "WAIT_UNTIL",
773
+ "TIMEOUT",
774
+ "AFTER",
775
+ "FANUC_USE",
776
+ "SET_SKIP_CONDITION",
777
+ "NAMESPACE",
778
+ "CASE",
779
+ "WHEN",
780
+ "INDIRECT",
781
+ "POSITION",
782
+ "EVAL",
783
+ "TIMER",
784
+ "TIMER_METHOD",
785
+ "RAISE",
786
+ "ABORT",
787
+ "RETURN",
788
+ "POSITION_DATA",
789
+ "TRUE_FALSE",
790
+ "RUN",
791
+ "TP_HEADER",
792
+ "PAUSE",
793
+ "LPAREN",
794
+ "RPAREN",
795
+ "COLON",
796
+ "COMMA",
797
+ "LBRACK",
798
+ "RBRACK",
799
+ "LBRACE",
800
+ "RBRACE",
801
+ "LABEL",
802
+ "ADDRESS",
803
+ "LPOS",
804
+ "JPOS",
805
+ "false",
806
+ "$start",
807
+ "program",
808
+ "statements",
809
+ "statement",
810
+ "terminator",
811
+ "block",
812
+ "optional_newline",
813
+ "comment",
814
+ "definition",
815
+ "namespace",
816
+ "motion_statement",
817
+ "label_definition",
818
+ "address",
819
+ "conditional",
820
+ "inline_conditional",
821
+ "forloop",
822
+ "while_loop",
823
+ "use_statement",
824
+ "set_skip_statement",
825
+ "wait_statement",
826
+ "case_statement",
827
+ "fanuc_eval",
828
+ "timer_method",
829
+ "position_data",
830
+ "raise",
831
+ "tp_header_definition",
832
+ "lpos_or_jpos",
833
+ "empty_stmt",
834
+ "var",
835
+ "tp_header_value",
836
+ "var_or_indirect",
837
+ "indirectable",
838
+ "expression",
839
+ "wait_modifier",
840
+ "timeout_modifier",
841
+ "after_modifier",
842
+ "swallow_newlines",
843
+ "label",
844
+ "program_call",
845
+ "args",
846
+ "arg",
847
+ "number",
848
+ "string",
849
+ "io_method",
850
+ "indirect_thing",
851
+ "jump",
852
+ "else_block",
853
+ "int_or_var",
854
+ "integer",
855
+ "case_conditions",
856
+ "case_else",
857
+ "case_condition",
858
+ "case_allowed_condition",
859
+ "case_allowed_statement",
860
+ "inlineable",
861
+ "assignment",
862
+ "motion_modifiers",
863
+ "motion_modifier",
864
+ "speed",
865
+ "valid_terminations",
866
+ "time",
867
+ "time_seg_actions",
868
+ "optional_lpos_arg",
869
+ "definable",
870
+ "var_without_namespaces",
871
+ "var_with_namespaces",
872
+ "var_method_modifiers",
873
+ "namespaces",
874
+ "var_method_modifier",
875
+ "ns",
876
+ "unary_expression",
877
+ "binary_expression",
878
+ "factor",
879
+ "operator",
880
+ "signed_number",
881
+ "signed_var",
882
+ "paren_expr",
883
+ "sign",
884
+ "numreg",
885
+ "output",
886
+ "input",
887
+ "posreg",
888
+ "position",
889
+ "vreg",
890
+ "argument",
891
+ "timer",
892
+ "ualm",
893
+ "sreg",
894
+ "sn",
895
+ "hash",
896
+ "hash_attributes",
897
+ "hash_attribute",
898
+ "hash_value",
899
+ "array",
900
+ "optional_sign",
901
+ "array_values",
902
+ "array_value" ]
903
+
904
+ Racc_debug_parser = true
905
+
906
+ ##### State transition tables end #####
907
+
908
+ # reduce 0 omitted
909
+
910
+ def _reduce_1(val, _values, result)
911
+ @interpreter.nodes = val[0]
912
+ result
913
+ end
914
+
915
+ # reduce 2 omitted
916
+
917
+ def _reduce_3(val, _values, result)
918
+ result = [val[0]]
919
+ result << val[1] unless val[1].nil?
920
+
921
+ result
922
+ end
923
+
924
+ def _reduce_4(val, _values, result)
925
+ result = val[0] << val[1]
926
+ result << val[2] unless val[2].nil?
927
+
928
+ result
929
+ end
930
+
931
+ def _reduce_5(val, _values, result)
932
+ result = val[1]
933
+ result
934
+ end
935
+
936
+ # reduce 6 omitted
937
+
938
+ # reduce 7 omitted
939
+
940
+ # reduce 8 omitted
941
+
942
+ # reduce 9 omitted
943
+
944
+ # reduce 10 omitted
945
+
946
+ # reduce 11 omitted
947
+
948
+ # reduce 12 omitted
949
+
950
+ # reduce 13 omitted
951
+
952
+ # reduce 14 omitted
953
+
954
+ # reduce 15 omitted
955
+
956
+ # reduce 16 omitted
957
+
958
+ # reduce 17 omitted
959
+
960
+ # reduce 18 omitted
961
+
962
+ # reduce 19 omitted
963
+
964
+ # reduce 20 omitted
965
+
966
+ # reduce 21 omitted
967
+
968
+ # reduce 22 omitted
969
+
970
+ # reduce 23 omitted
971
+
972
+ # reduce 24 omitted
973
+
974
+ # reduce 25 omitted
975
+
976
+ # reduce 26 omitted
977
+
978
+ # reduce 27 omitted
979
+
980
+ # reduce 28 omitted
981
+
982
+ def _reduce_29(val, _values, result)
983
+ result = PauseNode.new
984
+ result
985
+ end
986
+
987
+ def _reduce_30(val, _values, result)
988
+ result = AbortNode.new
989
+ result
990
+ end
991
+
992
+ def _reduce_31(val, _values, result)
993
+ result = ReturnNode.new
994
+ result
995
+ end
996
+
997
+ def _reduce_32(val, _values, result)
998
+ result = LPOSNode.new(val[2])
999
+ result
1000
+ end
1001
+
1002
+ def _reduce_33(val, _values, result)
1003
+ result = JPOSNode.new(val[2])
1004
+ result
1005
+ end
1006
+
1007
+ def _reduce_34(val, _values, result)
1008
+ result = EmptyStmtNode.new()
1009
+ result
1010
+ end
1011
+
1012
+ def _reduce_35(val, _values, result)
1013
+ result = HeaderNode.new(val[0],val[2])
1014
+ result
1015
+ end
1016
+
1017
+ # reduce 36 omitted
1018
+
1019
+ # reduce 37 omitted
1020
+
1021
+ def _reduce_38(val, _values, result)
1022
+ result = RaiseNode.new(val[1])
1023
+ result
1024
+ end
1025
+
1026
+ def _reduce_39(val, _values, result)
1027
+ result = TimerMethodNode.new(val[0],val[1])
1028
+ result
1029
+ end
1030
+
1031
+ def _reduce_40(val, _values, result)
1032
+ result = EvalNode.new(val[1])
1033
+ result
1034
+ end
1035
+
1036
+ def _reduce_41(val, _values, result)
1037
+ result = WaitForNode.new(val[2], val[4])
1038
+ result
1039
+ end
1040
+
1041
+ def _reduce_42(val, _values, result)
1042
+ result = WaitUntilNode.new(val[2], nil)
1043
+ result
1044
+ end
1045
+
1046
+ def _reduce_43(val, _values, result)
1047
+ result = WaitUntilNode.new(val[2],val[5])
1048
+ result
1049
+ end
1050
+
1051
+ def _reduce_44(val, _values, result)
1052
+ result = WaitUntilNode.new(val[2],val[5].merge(val[7]))
1053
+ result
1054
+ end
1055
+
1056
+ # reduce 45 omitted
1057
+
1058
+ # reduce 46 omitted
1059
+
1060
+ def _reduce_47(val, _values, result)
1061
+ result = { label: val[3] }
1062
+ result
1063
+ end
1064
+
1065
+ def _reduce_48(val, _values, result)
1066
+ result = { timeout: [val[3],val[5]] }
1067
+ result
1068
+ end
1069
+
1070
+ def _reduce_49(val, _values, result)
1071
+ result = val[0]
1072
+ result
1073
+ end
1074
+
1075
+ def _reduce_50(val, _values, result)
1076
+ result = UseNode.new(val[0],val[1])
1077
+ result
1078
+ end
1079
+
1080
+ def _reduce_51(val, _values, result)
1081
+ result = SetSkipNode.new(val[1])
1082
+ result
1083
+ end
1084
+
1085
+ def _reduce_52(val, _values, result)
1086
+ result = CallNode.new(val[0],val[2])
1087
+ result
1088
+ end
1089
+
1090
+ def _reduce_53(val, _values, result)
1091
+ result = CallNode.new(val[1],val[3],async: true)
1092
+ result
1093
+ end
1094
+
1095
+ def _reduce_54(val, _values, result)
1096
+ result = [val[0]]
1097
+ result
1098
+ end
1099
+
1100
+ def _reduce_55(val, _values, result)
1101
+ result = val[0] << val[2]
1102
+ result
1103
+ end
1104
+
1105
+ def _reduce_56(val, _values, result)
1106
+ result = []
1107
+ result
1108
+ end
1109
+
1110
+ # reduce 57 omitted
1111
+
1112
+ # reduce 58 omitted
1113
+
1114
+ # reduce 59 omitted
1115
+
1116
+ # reduce 60 omitted
1117
+
1118
+ def _reduce_61(val, _values, result)
1119
+ result = StringNode.new(val[0])
1120
+ result
1121
+ end
1122
+
1123
+ def _reduce_62(val, _values, result)
1124
+ result = IOMethodNode.new(val[0],val[1])
1125
+ result
1126
+ end
1127
+
1128
+ def _reduce_63(val, _values, result)
1129
+ result = IOMethodNode.new(val[0],val[2])
1130
+ result
1131
+ end
1132
+
1133
+ def _reduce_64(val, _values, result)
1134
+ result = IOMethodNode.new(val[0],val[2],{ pulse_time: val[4], pulse_units: val[6] })
1135
+ result
1136
+ end
1137
+
1138
+ # reduce 65 omitted
1139
+
1140
+ # reduce 66 omitted
1141
+
1142
+ def _reduce_67(val, _values, result)
1143
+ result = JumpNode.new(val[1])
1144
+ result
1145
+ end
1146
+
1147
+ def _reduce_68(val, _values, result)
1148
+ result = ConditionalNode.new("if",val[1],val[2],val[3])
1149
+ result
1150
+ end
1151
+
1152
+ def _reduce_69(val, _values, result)
1153
+ result = ConditionalNode.new("unless",val[1],val[2],val[3])
1154
+ result
1155
+ end
1156
+
1157
+ def _reduce_70(val, _values, result)
1158
+ result = ForNode.new(val[1],val[4],val[6],val[8])
1159
+ result
1160
+ end
1161
+
1162
+ def _reduce_71(val, _values, result)
1163
+ result = WhileNode.new(val[1],val[2])
1164
+ result
1165
+ end
1166
+
1167
+ # reduce 72 omitted
1168
+
1169
+ # reduce 73 omitted
1170
+
1171
+ def _reduce_74(val, _values, result)
1172
+ result = NamespaceNode.new(val[1],val[2])
1173
+ result
1174
+ end
1175
+
1176
+ def _reduce_75(val, _values, result)
1177
+ result = CaseNode.new(val[1],val[3],val[4])
1178
+ result
1179
+ end
1180
+
1181
+ def _reduce_76(val, _values, result)
1182
+ result = val
1183
+ result
1184
+ end
1185
+
1186
+ def _reduce_77(val, _values, result)
1187
+ result = val[0] << val[1] << val[2]
1188
+ result
1189
+ end
1190
+
1191
+ def _reduce_78(val, _values, result)
1192
+ result = CaseConditionNode.new(val[1],val[3])
1193
+ result
1194
+ end
1195
+
1196
+ # reduce 79 omitted
1197
+
1198
+ # reduce 80 omitted
1199
+
1200
+ def _reduce_81(val, _values, result)
1201
+ result = CaseConditionNode.new(nil,val[2])
1202
+ result
1203
+ end
1204
+
1205
+ # reduce 82 omitted
1206
+
1207
+ # reduce 83 omitted
1208
+
1209
+ # reduce 84 omitted
1210
+
1211
+ # reduce 85 omitted
1212
+
1213
+ def _reduce_86(val, _values, result)
1214
+ result = InlineConditionalNode.new(val[1], val[2], val[0])
1215
+ result
1216
+ end
1217
+
1218
+ def _reduce_87(val, _values, result)
1219
+ result = InlineConditionalNode.new(val[1], val[2], val[0])
1220
+ result
1221
+ end
1222
+
1223
+ # reduce 88 omitted
1224
+
1225
+ # reduce 89 omitted
1226
+
1227
+ # reduce 90 omitted
1228
+
1229
+ # reduce 91 omitted
1230
+
1231
+ def _reduce_92(val, _values, result)
1232
+ result = val[1]
1233
+ result
1234
+ end
1235
+
1236
+ def _reduce_93(val, _values, result)
1237
+ result = []
1238
+ result
1239
+ end
1240
+
1241
+ def _reduce_94(val, _values, result)
1242
+ result = MotionNode.new(val[0],val[5],val[7])
1243
+ result
1244
+ end
1245
+
1246
+ def _reduce_95(val, _values, result)
1247
+ result = val
1248
+ result
1249
+ end
1250
+
1251
+ def _reduce_96(val, _values, result)
1252
+ result = val[0] << val[1]
1253
+ result
1254
+ end
1255
+
1256
+ def _reduce_97(val, _values, result)
1257
+ result = SpeedNode.new(val[4])
1258
+ result
1259
+ end
1260
+
1261
+ def _reduce_98(val, _values, result)
1262
+ result = AccNode.new(val[4])
1263
+ result
1264
+ end
1265
+
1266
+ def _reduce_99(val, _values, result)
1267
+ result = TerminationNode.new(val[4])
1268
+ result
1269
+ end
1270
+
1271
+ def _reduce_100(val, _values, result)
1272
+ result = OffsetNode.new(val[2],val[4])
1273
+ result
1274
+ end
1275
+
1276
+ def _reduce_101(val, _values, result)
1277
+ result = TimeNode.new(val[2],val[4],val[6])
1278
+ result
1279
+ end
1280
+
1281
+ def _reduce_102(val, _values, result)
1282
+ result = SkipNode.new(val[4],val[5])
1283
+ result
1284
+ end
1285
+
1286
+ # reduce 103 omitted
1287
+
1288
+ # reduce 104 omitted
1289
+
1290
+ def _reduce_105(val, _values, result)
1291
+ raise Racc::ParseError, sprintf("\ninvalid termination type: (%s)", val[1]) if val[1] != 1
1292
+
1293
+ result = DigitNode.new(val[1].to_i * -1)
1294
+
1295
+ result
1296
+ end
1297
+
1298
+ def _reduce_106(val, _values, result)
1299
+ result = val[1]
1300
+ result
1301
+ end
1302
+
1303
+ # reduce 107 omitted
1304
+
1305
+ # reduce 108 omitted
1306
+
1307
+ # reduce 109 omitted
1308
+
1309
+ # reduce 110 omitted
1310
+
1311
+ # reduce 111 omitted
1312
+
1313
+ # reduce 112 omitted
1314
+
1315
+ # reduce 113 omitted
1316
+
1317
+ def _reduce_114(val, _values, result)
1318
+ result = { speed: val[0], units: val[2] }
1319
+ result
1320
+ end
1321
+
1322
+ def _reduce_115(val, _values, result)
1323
+ result = { speed: val[0], units: nil }
1324
+ result
1325
+ end
1326
+
1327
+ def _reduce_116(val, _values, result)
1328
+ result = LabelDefinitionNode.new(val[0])
1329
+ result
1330
+ end
1331
+
1332
+ def _reduce_117(val, _values, result)
1333
+ result = DefinitionNode.new(val[0],val[2])
1334
+ result
1335
+ end
1336
+
1337
+ def _reduce_118(val, _values, result)
1338
+ result = AssignmentNode.new(val[0],val[2])
1339
+ result
1340
+ end
1341
+
1342
+ def _reduce_119(val, _values, result)
1343
+ result = AssignmentNode.new(
1344
+ val[0],
1345
+ ExpressionNode.new(val[0],"+",val[3])
1346
+ )
1347
+
1348
+ result
1349
+ end
1350
+
1351
+ def _reduce_120(val, _values, result)
1352
+ result = AssignmentNode.new(
1353
+ val[0],
1354
+ ExpressionNode.new(val[0],"-",val[3])
1355
+ )
1356
+
1357
+ result
1358
+ end
1359
+
1360
+ # reduce 121 omitted
1361
+
1362
+ # reduce 122 omitted
1363
+
1364
+ def _reduce_123(val, _values, result)
1365
+ result = VarNode.new(val[0])
1366
+ result
1367
+ end
1368
+
1369
+ def _reduce_124(val, _values, result)
1370
+ result = VarMethodNode.new(val[0],val[1])
1371
+ result
1372
+ end
1373
+
1374
+ def _reduce_125(val, _values, result)
1375
+ result = NamespacedVarNode.new(val[0],val[1])
1376
+ result
1377
+ end
1378
+
1379
+ def _reduce_126(val, _values, result)
1380
+ result = val[0]
1381
+ result
1382
+ end
1383
+
1384
+ def _reduce_127(val, _values, result)
1385
+ result = val[0].merge(val[1])
1386
+ result
1387
+ end
1388
+
1389
+ def _reduce_128(val, _values, result)
1390
+ result = { method: val[2] }
1391
+ result
1392
+ end
1393
+
1394
+ def _reduce_129(val, _values, result)
1395
+ result = { group: val[4] }
1396
+ result
1397
+ end
1398
+
1399
+ def _reduce_130(val, _values, result)
1400
+ result = [val[0]]
1401
+ result
1402
+ end
1403
+
1404
+ def _reduce_131(val, _values, result)
1405
+ result = val[0] << val[1]
1406
+ result
1407
+ end
1408
+
1409
+ def _reduce_132(val, _values, result)
1410
+ result = val[0]
1411
+ result
1412
+ end
1413
+
1414
+ # reduce 133 omitted
1415
+
1416
+ # reduce 134 omitted
1417
+
1418
+ def _reduce_135(val, _values, result)
1419
+ result = val[0]
1420
+ result
1421
+ end
1422
+
1423
+ # reduce 136 omitted
1424
+
1425
+ def _reduce_137(val, _values, result)
1426
+ result = UnaryExpressionNode.new("!",val[1])
1427
+ result
1428
+ end
1429
+
1430
+ def _reduce_138(val, _values, result)
1431
+ result = ExpressionNode.new(val[0], val[1], val[2])
1432
+ result
1433
+ end
1434
+
1435
+ def _reduce_139(val, _values, result)
1436
+ result = "=="
1437
+ result
1438
+ end
1439
+
1440
+ def _reduce_140(val, _values, result)
1441
+ result = "<>"
1442
+ result
1443
+ end
1444
+
1445
+ def _reduce_141(val, _values, result)
1446
+ result = "<"
1447
+ result
1448
+ end
1449
+
1450
+ def _reduce_142(val, _values, result)
1451
+ result = ">"
1452
+ result
1453
+ end
1454
+
1455
+ def _reduce_143(val, _values, result)
1456
+ result = ">="
1457
+ result
1458
+ end
1459
+
1460
+ def _reduce_144(val, _values, result)
1461
+ result = "<="
1462
+ result
1463
+ end
1464
+
1465
+ def _reduce_145(val, _values, result)
1466
+ result = "+"
1467
+ result
1468
+ end
1469
+
1470
+ def _reduce_146(val, _values, result)
1471
+ result = "-"
1472
+ result
1473
+ end
1474
+
1475
+ def _reduce_147(val, _values, result)
1476
+ result = "||"
1477
+ result
1478
+ end
1479
+
1480
+ def _reduce_148(val, _values, result)
1481
+ result = "*"
1482
+ result
1483
+ end
1484
+
1485
+ def _reduce_149(val, _values, result)
1486
+ result = "/"
1487
+ result
1488
+ end
1489
+
1490
+ def _reduce_150(val, _values, result)
1491
+ result = "DIV"
1492
+ result
1493
+ end
1494
+
1495
+ def _reduce_151(val, _values, result)
1496
+ result = "%"
1497
+ result
1498
+ end
1499
+
1500
+ def _reduce_152(val, _values, result)
1501
+ result = "&&"
1502
+ result
1503
+ end
1504
+
1505
+ # reduce 153 omitted
1506
+
1507
+ # reduce 154 omitted
1508
+
1509
+ # reduce 155 omitted
1510
+
1511
+ # reduce 156 omitted
1512
+
1513
+ # reduce 157 omitted
1514
+
1515
+ # reduce 158 omitted
1516
+
1517
+ def _reduce_159(val, _values, result)
1518
+ result = ParenExpressionNode.new(val[1])
1519
+ result
1520
+ end
1521
+
1522
+ def _reduce_160(val, _values, result)
1523
+ result = IndirectNode.new(val[2].to_sym, val[4])
1524
+ result
1525
+ end
1526
+
1527
+ def _reduce_161(val, _values, result)
1528
+ val[1] = val[1].to_i * -1 if val[0] == "-"
1529
+ result = DigitNode.new(val[1])
1530
+
1531
+ result
1532
+ end
1533
+
1534
+ def _reduce_162(val, _values, result)
1535
+ val[1] = val[1].to_f * -1 if val[0] == "-"; result = RealNode.new(val[1])
1536
+ result
1537
+ end
1538
+
1539
+ def _reduce_163(val, _values, result)
1540
+ result = ExpressionNode.new(
1541
+ val[1],
1542
+ "*",
1543
+ DigitNode.new(-1)
1544
+ )
1545
+ result
1546
+ end
1547
+
1548
+ def _reduce_164(val, _values, result)
1549
+ result = "-"
1550
+ result
1551
+ end
1552
+
1553
+ # reduce 165 omitted
1554
+
1555
+ def _reduce_166(val, _values, result)
1556
+ result = RealNode.new(val[0])
1557
+ result
1558
+ end
1559
+
1560
+ def _reduce_167(val, _values, result)
1561
+ result = DigitNode.new(val[0])
1562
+ result
1563
+ end
1564
+
1565
+ # reduce 168 omitted
1566
+
1567
+ # reduce 169 omitted
1568
+
1569
+ # reduce 170 omitted
1570
+
1571
+ # reduce 171 omitted
1572
+
1573
+ # reduce 172 omitted
1574
+
1575
+ # reduce 173 omitted
1576
+
1577
+ # reduce 174 omitted
1578
+
1579
+ # reduce 175 omitted
1580
+
1581
+ # reduce 176 omitted
1582
+
1583
+ # reduce 177 omitted
1584
+
1585
+ # reduce 178 omitted
1586
+
1587
+ # reduce 179 omitted
1588
+
1589
+ def _reduce_180(val, _values, result)
1590
+ result = StringRegisterNode.new(val[2].to_i)
1591
+ result
1592
+ end
1593
+
1594
+ def _reduce_181(val, _values, result)
1595
+ result = UserAlarmNode.new(val[2].to_i)
1596
+ result
1597
+ end
1598
+
1599
+ def _reduce_182(val, _values, result)
1600
+ result = TimerNode.new(val[2].to_i)
1601
+ result
1602
+ end
1603
+
1604
+ def _reduce_183(val, _values, result)
1605
+ result = ArgumentNode.new(val[2].to_i)
1606
+ result
1607
+ end
1608
+
1609
+ def _reduce_184(val, _values, result)
1610
+ result = VisionRegisterNode.new(val[2].to_i)
1611
+ result
1612
+ end
1613
+
1614
+ def _reduce_185(val, _values, result)
1615
+ result = PositionNode.new(val[2].to_i)
1616
+ result
1617
+ end
1618
+
1619
+ def _reduce_186(val, _values, result)
1620
+ result = NumregNode.new(val[2].to_i)
1621
+ result
1622
+ end
1623
+
1624
+ def _reduce_187(val, _values, result)
1625
+ result = PosregNode.new(val[2].to_i)
1626
+ result
1627
+ end
1628
+
1629
+ def _reduce_188(val, _values, result)
1630
+ result = IONode.new(val[0], val[2].to_i)
1631
+ result
1632
+ end
1633
+
1634
+ def _reduce_189(val, _values, result)
1635
+ result = IONode.new(val[0], val[2].to_i)
1636
+ result
1637
+ end
1638
+
1639
+ def _reduce_190(val, _values, result)
1640
+ result = AddressNode.new(val[0])
1641
+ result
1642
+ end
1643
+
1644
+ def _reduce_191(val, _values, result)
1645
+ result = CommentNode.new(val[0])
1646
+ result
1647
+ end
1648
+
1649
+ def _reduce_192(val, _values, result)
1650
+ result = TerminatorNode.new
1651
+ result
1652
+ end
1653
+
1654
+ def _reduce_193(val, _values, result)
1655
+ result = val[0]
1656
+ result
1657
+ end
1658
+
1659
+ # reduce 194 omitted
1660
+
1661
+ # reduce 195 omitted
1662
+
1663
+ def _reduce_196(val, _values, result)
1664
+ result = TerminatorNode.new
1665
+ result
1666
+ end
1667
+
1668
+ # reduce 197 omitted
1669
+
1670
+ def _reduce_198(val, _values, result)
1671
+ result = PositionDataNode.new(val[2])
1672
+ result
1673
+ end
1674
+
1675
+ # reduce 199 omitted
1676
+
1677
+ def _reduce_200(val, _values, result)
1678
+ result = val[2]
1679
+ result
1680
+ end
1681
+
1682
+ def _reduce_201(val, _values, result)
1683
+ result = {}
1684
+ result
1685
+ end
1686
+
1687
+ def _reduce_202(val, _values, result)
1688
+ result = val[0]
1689
+ result
1690
+ end
1691
+
1692
+ def _reduce_203(val, _values, result)
1693
+ result = val[0].merge(val[3])
1694
+ result
1695
+ end
1696
+
1697
+ def _reduce_204(val, _values, result)
1698
+ result = { val[0].to_sym => val[2] }
1699
+ result
1700
+ end
1701
+
1702
+ # reduce 205 omitted
1703
+
1704
+ # reduce 206 omitted
1705
+
1706
+ # reduce 207 omitted
1707
+
1708
+ def _reduce_208(val, _values, result)
1709
+ val[1] = val[1].to_i * -1 if val[0] == "-"; result = val[1]
1710
+ result
1711
+ end
1712
+
1713
+ def _reduce_209(val, _values, result)
1714
+ val[1] = val[1].to_f * -1 if val[0] == "-"; result = val[1]
1715
+ result
1716
+ end
1717
+
1718
+ def _reduce_210(val, _values, result)
1719
+ result = val[0] == "true"
1720
+ result
1721
+ end
1722
+
1723
+ # reduce 211 omitted
1724
+
1725
+ # reduce 212 omitted
1726
+
1727
+ def _reduce_213(val, _values, result)
1728
+ result = val[2]
1729
+ result
1730
+ end
1731
+
1732
+ def _reduce_214(val, _values, result)
1733
+ result = val
1734
+ result
1735
+ end
1736
+
1737
+ def _reduce_215(val, _values, result)
1738
+ result = val[0] << val[3]
1739
+ result
1740
+ end
1741
+
1742
+ # reduce 216 omitted
1743
+
1744
+ def _reduce_none(val, _values, result)
1745
+ val[0]
1746
+ end
1747
+
1748
+ end # class Parser
1749
+ end # module TPPlus