tp_plus 0.0.77 → 0.0.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +87 -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