treetop 1.6.2 → 1.6.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1071,10 +1071,6 @@ module Treetop
1071
1071
  super.elements.map {|elt| elt.alternative}
1072
1072
  end
1073
1073
 
1074
- def parent_modules
1075
- []
1076
- end
1077
-
1078
1074
  def inline_modules
1079
1075
  (alternatives.map {|alt| alt.inline_modules }).flatten
1080
1076
  end
@@ -1182,14 +1178,10 @@ module Treetop
1182
1178
  sequence_body.tail
1183
1179
  end
1184
1180
 
1185
- def parent_modules
1186
- node_class_declarations.inline_modules
1187
- end
1188
-
1189
1181
  def inline_modules
1190
1182
  (sequence_elements.map {|elt| elt.inline_modules}).flatten +
1191
1183
  [sequence_element_accessor_module] +
1192
- parent_modules
1184
+ node_class_declarations.inline_modules
1193
1185
  end
1194
1186
 
1195
1187
  def inline_module_name
@@ -1426,10 +1418,6 @@ module Treetop
1426
1418
  atomic
1427
1419
  end
1428
1420
 
1429
- def parent_modules
1430
- []
1431
- end
1432
-
1433
1421
  def inline_modules
1434
1422
  atomic.inline_modules
1435
1423
  end
@@ -1456,9 +1444,6 @@ module Treetop
1456
1444
  def prefixed_expression
1457
1445
  atomic
1458
1446
  end
1459
- def parent_modules
1460
- []
1461
- end
1462
1447
  def inline_modules
1463
1448
  []
1464
1449
  end
@@ -1480,7 +1465,6 @@ module Treetop
1480
1465
 
1481
1466
  module Primary5
1482
1467
  def compile(address, builder, parent_expression=nil)
1483
- # debugger if node_class_declarations.inline_modules.size > 0 && atomic.inline_modules.size > 0
1484
1468
  suffix.compile(address, builder, self)
1485
1469
  end
1486
1470
 
@@ -1492,12 +1476,8 @@ module Treetop
1492
1476
  node_class_declarations.node_class_name
1493
1477
  end
1494
1478
 
1495
- def parent_modules
1496
- node_class_declarations.inline_modules
1497
- end
1498
-
1499
1479
  def inline_modules
1500
- atomic.inline_modules + parent_modules
1480
+ atomic.inline_modules + node_class_declarations.inline_modules
1501
1481
  end
1502
1482
 
1503
1483
  def inline_module_name
@@ -1517,7 +1497,6 @@ module Treetop
1517
1497
 
1518
1498
  module Primary7
1519
1499
  def compile(address, builder, parent_expression=nil)
1520
- # debugger if node_class_declarations.inline_modules.size > 0 && atomic.inline_modules.size > 0
1521
1500
  atomic.compile(address, builder, self)
1522
1501
  end
1523
1502
 
@@ -1525,12 +1504,8 @@ module Treetop
1525
1504
  node_class_declarations.node_class_name
1526
1505
  end
1527
1506
 
1528
- def parent_modules
1529
- node_class_declarations.inline_modules
1530
- end
1531
-
1532
1507
  def inline_modules
1533
- atomic.inline_modules + parent_modules
1508
+ atomic.inline_modules + node_class_declarations.inline_modules
1534
1509
  end
1535
1510
 
1536
1511
  def inline_module_name
@@ -1698,10 +1673,6 @@ module Treetop
1698
1673
  sequence_primary.compile(lexical_address, builder)
1699
1674
  end
1700
1675
 
1701
- def parent_modules
1702
- []
1703
- end
1704
-
1705
1676
  def inline_modules
1706
1677
  sequence_primary.inline_modules
1707
1678
  end
@@ -1758,10 +1729,6 @@ module Treetop
1758
1729
  sequence_primary.compile(lexical_address, builder)
1759
1730
  end
1760
1731
 
1761
- def parent_modules
1762
- []
1763
- end
1764
-
1765
1732
  def inline_modules
1766
1733
  sequence_primary.inline_modules
1767
1734
  end
@@ -1965,10 +1932,6 @@ module Treetop
1965
1932
  elements[1]
1966
1933
  end
1967
1934
 
1968
- def parent_modules
1969
- []
1970
- end
1971
-
1972
1935
  def inline_modules
1973
1936
  atomic.inline_modules
1974
1937
  end
@@ -1995,9 +1958,6 @@ module Treetop
1995
1958
  def prefixed_expression
1996
1959
  atomic
1997
1960
  end
1998
- def parent_modules
1999
- []
2000
- end
2001
1961
  def inline_modules
2002
1962
  []
2003
1963
  end
@@ -2022,10 +1982,6 @@ module Treetop
2022
1982
  nil
2023
1983
  end
2024
1984
 
2025
- def parent_modules
2026
- []
2027
- end
2028
-
2029
1985
  def inline_modules
2030
1986
  atomic.inline_modules
2031
1987
  end
@@ -2201,7 +2157,6 @@ module Treetop
2201
2157
  node_class_expression.node_class_name
2202
2158
  end
2203
2159
 
2204
- # !!!! cjh !!!!!
2205
2160
  def inline_modules
2206
2161
  trailing_inline_module.inline_modules
2207
2162
  end
@@ -2489,9 +2444,6 @@ module Treetop
2489
2444
  end
2490
2445
 
2491
2446
  module ParenthesizedExpression1
2492
- def parent_modules
2493
- []
2494
- end
2495
2447
  def inline_modules
2496
2448
  parsing_expression.inline_modules
2497
2449
  end
@@ -3594,9 +3546,6 @@ module Treetop
3594
3546
  end
3595
3547
 
3596
3548
  module TrailingInlineModule1
3597
- def parent_modules
3598
- []
3599
- end
3600
3549
  def inline_modules
3601
3550
  [inline_module]
3602
3551
  end
@@ -3607,9 +3556,6 @@ module Treetop
3607
3556
  end
3608
3557
 
3609
3558
  module TrailingInlineModule2
3610
- def parent_modules
3611
- []
3612
- end
3613
3559
  def inline_modules
3614
3560
  []
3615
3561
  end
@@ -84,10 +84,6 @@ module Treetop
84
84
  super.elements.map {|elt| elt.alternative}
85
85
  end
86
86
 
87
- def parent_modules
88
- []
89
- end
90
-
91
87
  def inline_modules
92
88
  (alternatives.map {|alt| alt.inline_modules }).flatten
93
89
  end
@@ -104,14 +100,10 @@ module Treetop
104
100
  sequence_body.tail
105
101
  end
106
102
 
107
- def parent_modules
108
- node_class_declarations.inline_modules
109
- end
110
-
111
103
  def inline_modules
112
104
  (sequence_elements.map {|elt| elt.inline_modules}).flatten +
113
105
  [sequence_element_accessor_module] +
114
- parent_modules
106
+ node_class_declarations.inline_modules
115
107
  end
116
108
 
117
109
  def inline_module_name
@@ -158,10 +150,6 @@ module Treetop
158
150
  atomic
159
151
  end
160
152
 
161
- def parent_modules
162
- []
163
- end
164
-
165
153
  def inline_modules
166
154
  atomic.inline_modules
167
155
  end
@@ -178,9 +166,6 @@ module Treetop
178
166
  def prefixed_expression
179
167
  atomic
180
168
  end
181
- def parent_modules
182
- []
183
- end
184
169
  def inline_modules
185
170
  []
186
171
  end
@@ -188,7 +173,6 @@ module Treetop
188
173
  /
189
174
  atomic suffix node_class_declarations {
190
175
  def compile(address, builder, parent_expression=nil)
191
- raise "Extraneous module ignored after suffix: #{input[interval].inspect}" if node_class_declarations.inline_modules.size > 0 && atomic.inline_modules.size > 0
192
176
  suffix.compile(address, builder, self)
193
177
  end
194
178
 
@@ -200,12 +184,8 @@ module Treetop
200
184
  node_class_declarations.node_class_name
201
185
  end
202
186
 
203
- def parent_modules
204
- node_class_declarations.inline_modules
205
- end
206
-
207
187
  def inline_modules
208
- atomic.inline_modules + parent_modules
188
+ atomic.inline_modules + node_class_declarations.inline_modules
209
189
  end
210
190
 
211
191
  def inline_module_name
@@ -215,7 +195,6 @@ module Treetop
215
195
  /
216
196
  atomic node_class_declarations {
217
197
  def compile(address, builder, parent_expression=nil)
218
- raise "Extraneous module ignored with nested atomic: #{input[interval].inspect}" if node_class_declarations.inline_modules.size > 0 && atomic.inline_modules.size > 0
219
198
  atomic.compile(address, builder, self)
220
199
  end
221
200
 
@@ -223,12 +202,8 @@ module Treetop
223
202
  node_class_declarations.node_class_name
224
203
  end
225
204
 
226
- def parent_modules
227
- node_class_declarations.inline_modules
228
- end
229
-
230
205
  def inline_modules
231
- atomic.inline_modules + parent_modules
206
+ atomic.inline_modules + node_class_declarations.inline_modules
232
207
  end
233
208
 
234
209
  def inline_module_name
@@ -247,10 +222,6 @@ module Treetop
247
222
  sequence_primary.compile(lexical_address, builder)
248
223
  end
249
224
 
250
- def parent_modules
251
- []
252
- end
253
-
254
225
  def inline_modules
255
226
  sequence_primary.inline_modules
256
227
  end
@@ -267,10 +238,6 @@ module Treetop
267
238
  sequence_primary.compile(lexical_address, builder)
268
239
  end
269
240
 
270
- def parent_modules
271
- []
272
- end
273
-
274
241
  def inline_modules
275
242
  sequence_primary.inline_modules
276
243
  end
@@ -315,10 +282,6 @@ module Treetop
315
282
  elements[1]
316
283
  end
317
284
 
318
- def parent_modules
319
- []
320
- end
321
-
322
285
  def inline_modules
323
286
  atomic.inline_modules
324
287
  end
@@ -335,9 +298,6 @@ module Treetop
335
298
  def prefixed_expression
336
299
  atomic
337
300
  end
338
- def parent_modules
339
- []
340
- end
341
301
  def inline_modules
342
302
  []
343
303
  end
@@ -352,10 +312,6 @@ module Treetop
352
312
  nil
353
313
  end
354
314
 
355
- def parent_modules
356
- []
357
- end
358
-
359
315
  def inline_modules
360
316
  atomic.inline_modules
361
317
  end
@@ -382,7 +338,6 @@ module Treetop
382
338
  node_class_expression.node_class_name
383
339
  end
384
340
 
385
- # !!!! cjh !!!!!
386
341
  def inline_modules
387
342
  trailing_inline_module.inline_modules
388
343
  end
@@ -419,9 +374,6 @@ module Treetop
419
374
 
420
375
  rule parenthesized_expression
421
376
  '(' space? parsing_expression space? ')' <ParenthesizedExpression> {
422
- def parent_modules
423
- []
424
- end
425
377
  def inline_modules
426
378
  parsing_expression.inline_modules
427
379
  end
@@ -487,9 +439,6 @@ module Treetop
487
439
 
488
440
  rule trailing_inline_module
489
441
  space inline_module {
490
- def parent_modules
491
- []
492
- end
493
442
  def inline_modules
494
443
  [inline_module]
495
444
  end
@@ -500,9 +449,6 @@ module Treetop
500
449
  }
501
450
  /
502
451
  '' {
503
- def parent_modules
504
- []
505
- end
506
452
  def inline_modules
507
453
  []
508
454
  end
@@ -6,7 +6,7 @@ module Treetop
6
6
  builder.if__ "index < input_length" do
7
7
  if address == 0 || decorated?
8
8
  assign_result "instantiate_node(#{node_class_name},input, index...(index + 1))"
9
- extend_result_with_inline_module parent_expression
9
+ extend_result_with_inline_module
10
10
  else
11
11
  assign_lazily_instantiated_node
12
12
  end
@@ -7,7 +7,7 @@ module Treetop
7
7
  builder.if__ "has_terminal?(@regexps[gr = #{grounded_regexp(text_value)}] ||= Regexp.new(gr), :regexp, index)" do
8
8
  if address == 0 || decorated?
9
9
  assign_result "instantiate_node(#{node_class_name},input, index...(index + 1))"
10
- extend_result_with_inline_module parent_expression
10
+ extend_result_with_inline_module
11
11
  else
12
12
  assign_lazily_instantiated_node
13
13
  end
@@ -5,11 +5,11 @@ module Treetop
5
5
  super
6
6
  begin_comment(self)
7
7
  use_vars :result, :start_index
8
- compile_alternatives(alternatives, parent_expression)
8
+ compile_alternatives(alternatives)
9
9
  end_comment(self)
10
10
  end
11
-
12
- def compile_alternatives(alternatives, parent_expression)
11
+
12
+ def compile_alternatives(alternatives)
13
13
  obtain_new_subexpression_address
14
14
  alternatives.first.compile(subexpression_address, builder)
15
15
  builder.if__ subexpression_success? do
@@ -17,14 +17,14 @@ module Treetop
17
17
  builder << "#{subexpression_result_var} = SyntaxNode.new(input, (index-1)...index) if #{subexpression_result_var} == true"
18
18
  assign_result subexpression_result_var
19
19
  extend_result_with_declared_module
20
- extend_result_with_inline_module parent_expression
20
+ extend_result_with_inline_module
21
21
  end
22
22
  builder.else_ do
23
23
  if alternatives.size == 1
24
24
  reset_index
25
25
  assign_failure start_index_var
26
26
  else
27
- compile_alternatives(alternatives[1..-1], parent_expression)
27
+ compile_alternatives(alternatives[1..-1])
28
28
  end
29
29
  end
30
30
  end
@@ -6,8 +6,8 @@ module Treetop
6
6
  use_vars :result
7
7
  assign_result text_value == 'super' ? 'super' : "_nt_#{text_value}"
8
8
  extend_result_with_declared_module
9
- extend_result_with_inline_module parent_expression
9
+ extend_result_with_inline_module
10
10
  end
11
11
  end
12
12
  end
13
- end
13
+ end
@@ -78,14 +78,8 @@ module Treetop
78
78
  extend_result declared_module_name if declared_module_name
79
79
  end
80
80
 
81
- def extend_result_with_inline_module parent_expression = nil
82
- # debugger if parent_expression && !parent_expression.respond_to?(:parent_modules)
83
- if parent_expression && parent_expression.parent_modules.size > 0
84
- parent_expression.parent_modules.each do |inline|
85
- extend_result inline.module_name
86
- end
87
- end
88
- extend_result inline_module_name if inline_module_name
81
+ def extend_result_with_inline_module
82
+ extend_result inline_module_name if inline_module_name
89
83
  end
90
84
 
91
85
  def reset_index
@@ -28,9 +28,9 @@ module Treetop
28
28
  parent_expression.inline_module_name
29
29
  end
30
30
 
31
- def assign_and_extend_result parent_expression
31
+ def assign_and_extend_result
32
32
  assign_result "instantiate_node(#{node_class_name},input, #{start_index_var}...index, #{accumulator_var})"
33
- extend_result_with_inline_module parent_expression
33
+ extend_result_with_inline_module
34
34
  end
35
35
  end
36
36
 
@@ -38,7 +38,7 @@ module Treetop
38
38
  class ZeroOrMore < Repetition
39
39
  def compile(address, builder, parent_expression)
40
40
  super
41
- assign_and_extend_result parent_expression
41
+ assign_and_extend_result
42
42
  end_comment(parent_expression)
43
43
  end
44
44
 
@@ -55,7 +55,7 @@ module Treetop
55
55
  assign_failure start_index_var
56
56
  end
57
57
  builder.else_ do
58
- assign_and_extend_result parent_expression
58
+ assign_and_extend_result
59
59
  end
60
60
  end_comment(parent_expression)
61
61
  end
@@ -81,11 +81,11 @@ module Treetop
81
81
  end
82
82
  builder.else_ do
83
83
  clean_unsaturated
84
- assign_and_extend_result parent_expression
84
+ assign_and_extend_result
85
85
  end
86
86
  else
87
87
  clean_unsaturated
88
- assign_and_extend_result parent_expression
88
+ assign_and_extend_result
89
89
  end
90
90
 
91
91
  end_comment(parent_expression)