tp_plus 0.0.87 → 0.0.88

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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