tp_plus 0.0.73

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +65 -0
  3. data/Rakefile +21 -0
  4. data/bin/tpp +73 -0
  5. data/lib/tp_plus/interpreter.rb +129 -0
  6. data/lib/tp_plus/namespace.rb +66 -0
  7. data/lib/tp_plus/nodes/abort_node.rb +9 -0
  8. data/lib/tp_plus/nodes/argument_node.rb +19 -0
  9. data/lib/tp_plus/nodes/assignment_node.rb +45 -0
  10. data/lib/tp_plus/nodes/call_node.rb +34 -0
  11. data/lib/tp_plus/nodes/case_condition_node.rb +26 -0
  12. data/lib/tp_plus/nodes/case_node.rb +33 -0
  13. data/lib/tp_plus/nodes/comment_node.rb +22 -0
  14. data/lib/tp_plus/nodes/conditional_node.rb +54 -0
  15. data/lib/tp_plus/nodes/definition_node.rb +22 -0
  16. data/lib/tp_plus/nodes/digit_node.rb +21 -0
  17. data/lib/tp_plus/nodes/eval_node.rb +13 -0
  18. data/lib/tp_plus/nodes/expression_node.rb +65 -0
  19. data/lib/tp_plus/nodes/for_node.rb +20 -0
  20. data/lib/tp_plus/nodes/header_node.rb +27 -0
  21. data/lib/tp_plus/nodes/indirect_node.rb +49 -0
  22. data/lib/tp_plus/nodes/inline_conditional_node.rb +40 -0
  23. data/lib/tp_plus/nodes/io_method_node.rb +55 -0
  24. data/lib/tp_plus/nodes/io_node.rb +30 -0
  25. data/lib/tp_plus/nodes/jump_node.rb +23 -0
  26. data/lib/tp_plus/nodes/label_definition_node.rb +21 -0
  27. data/lib/tp_plus/nodes/motion_node.rb +62 -0
  28. data/lib/tp_plus/nodes/namespace_node.rb +16 -0
  29. data/lib/tp_plus/nodes/namespaced_var_node.rb +38 -0
  30. data/lib/tp_plus/nodes/numreg_node.rb +25 -0
  31. data/lib/tp_plus/nodes/offset_node.rb +27 -0
  32. data/lib/tp_plus/nodes/operator_node.rb +72 -0
  33. data/lib/tp_plus/nodes/pause_node.rb +9 -0
  34. data/lib/tp_plus/nodes/position_data_node.rb +50 -0
  35. data/lib/tp_plus/nodes/position_node.rb +25 -0
  36. data/lib/tp_plus/nodes/posreg_node.rb +48 -0
  37. data/lib/tp_plus/nodes/raise_node.rb +13 -0
  38. data/lib/tp_plus/nodes/real_node.rb +27 -0
  39. data/lib/tp_plus/nodes/set_node.rb +22 -0
  40. data/lib/tp_plus/nodes/skip_node.rb +22 -0
  41. data/lib/tp_plus/nodes/speed_node.rb +29 -0
  42. data/lib/tp_plus/nodes/string_node.rb +13 -0
  43. data/lib/tp_plus/nodes/string_register_node.rb +25 -0
  44. data/lib/tp_plus/nodes/termination_node.rb +18 -0
  45. data/lib/tp_plus/nodes/terminator_node.rb +16 -0
  46. data/lib/tp_plus/nodes/time_node.rb +24 -0
  47. data/lib/tp_plus/nodes/timer_method_node.rb +37 -0
  48. data/lib/tp_plus/nodes/timer_node.rb +21 -0
  49. data/lib/tp_plus/nodes/units_node.rb +20 -0
  50. data/lib/tp_plus/nodes/use_node.rb +21 -0
  51. data/lib/tp_plus/nodes/user_alarm_node.rb +15 -0
  52. data/lib/tp_plus/nodes/var_method_node.rb +23 -0
  53. data/lib/tp_plus/nodes/var_node.rb +39 -0
  54. data/lib/tp_plus/nodes/vision_register_node.rb +21 -0
  55. data/lib/tp_plus/nodes/wait_for_node.rb +54 -0
  56. data/lib/tp_plus/nodes/wait_until_node.rb +65 -0
  57. data/lib/tp_plus/nodes/while_node.rb +36 -0
  58. data/lib/tp_plus/parser.rb +1592 -0
  59. data/lib/tp_plus/scanner.rb +383 -0
  60. data/lib/tp_plus/version.rb +3 -0
  61. data/lib/tp_plus.rb +62 -0
  62. data/test/test_helper.rb +5 -0
  63. data/test/tp_plus/test_interpreter.rb +1168 -0
  64. data/test/tp_plus/test_parser.rb +489 -0
  65. data/test/tp_plus/test_scanner.rb +522 -0
  66. data/tp_plus.gemspec +28 -0
  67. metadata +156 -0
@@ -0,0 +1,1592 @@
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