tp_plus 0.0.73 → 0.0.74

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