tp_plus 0.0.77 → 0.0.87

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