tp_plus 0.0.73

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 (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