cloudhead-less 1.2.3 → 1.2.4

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 (103) hide show
  1. data/Rakefile +2 -0
  2. data/VERSION +1 -1
  3. data/bin/lessc +8 -2
  4. data/less.gemspec +8 -92
  5. data/lib/ext.rb +8 -7
  6. data/lib/less/command.rb +12 -15
  7. data/lib/less/engine/grammar/less.tt +7 -3
  8. data/lib/less/engine.rb +3 -2
  9. data/lib/less.rb +2 -2
  10. data/spec/css/css-3.css +1 -0
  11. data/spec/less/css-3.less +4 -0
  12. data/spec/less/import.less +1 -0
  13. metadata +23 -94
  14. data/lib/vendor/treetop/.gitignore +0 -7
  15. data/lib/vendor/treetop/LICENSE +0 -19
  16. data/lib/vendor/treetop/README +0 -164
  17. data/lib/vendor/treetop/Rakefile +0 -19
  18. data/lib/vendor/treetop/benchmark/seqpar.gnuplot +0 -15
  19. data/lib/vendor/treetop/benchmark/seqpar.treetop +0 -16
  20. data/lib/vendor/treetop/benchmark/seqpar_benchmark.rb +0 -107
  21. data/lib/vendor/treetop/bin/tt +0 -28
  22. data/lib/vendor/treetop/lib/treetop/bootstrap_gen_1_metagrammar.rb +0 -45
  23. data/lib/vendor/treetop/lib/treetop/compiler/grammar_compiler.rb +0 -42
  24. data/lib/vendor/treetop/lib/treetop/compiler/lexical_address_space.rb +0 -17
  25. data/lib/vendor/treetop/lib/treetop/compiler/metagrammar.rb +0 -3097
  26. data/lib/vendor/treetop/lib/treetop/compiler/metagrammar.treetop +0 -408
  27. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/anything_symbol.rb +0 -18
  28. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/atomic_expression.rb +0 -14
  29. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/character_class.rb +0 -24
  30. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/choice.rb +0 -31
  31. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/declaration_sequence.rb +0 -24
  32. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/grammar.rb +0 -28
  33. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/inline_module.rb +0 -27
  34. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/nonterminal.rb +0 -13
  35. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/optional.rb +0 -19
  36. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/parenthesized_expression.rb +0 -9
  37. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/parsing_expression.rb +0 -138
  38. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/parsing_rule.rb +0 -55
  39. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/predicate.rb +0 -45
  40. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/repetition.rb +0 -55
  41. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/sequence.rb +0 -68
  42. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb +0 -20
  43. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/transient_prefix.rb +0 -9
  44. data/lib/vendor/treetop/lib/treetop/compiler/node_classes/treetop_file.rb +0 -9
  45. data/lib/vendor/treetop/lib/treetop/compiler/node_classes.rb +0 -19
  46. data/lib/vendor/treetop/lib/treetop/compiler/ruby_builder.rb +0 -113
  47. data/lib/vendor/treetop/lib/treetop/compiler.rb +0 -6
  48. data/lib/vendor/treetop/lib/treetop/ruby_extensions/string.rb +0 -42
  49. data/lib/vendor/treetop/lib/treetop/ruby_extensions.rb +0 -2
  50. data/lib/vendor/treetop/lib/treetop/runtime/compiled_parser.rb +0 -105
  51. data/lib/vendor/treetop/lib/treetop/runtime/interval_skip_list/head_node.rb +0 -15
  52. data/lib/vendor/treetop/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +0 -200
  53. data/lib/vendor/treetop/lib/treetop/runtime/interval_skip_list/node.rb +0 -164
  54. data/lib/vendor/treetop/lib/treetop/runtime/interval_skip_list.rb +0 -4
  55. data/lib/vendor/treetop/lib/treetop/runtime/syntax_node.rb +0 -72
  56. data/lib/vendor/treetop/lib/treetop/runtime/terminal_parse_failure.rb +0 -16
  57. data/lib/vendor/treetop/lib/treetop/runtime/terminal_syntax_node.rb +0 -17
  58. data/lib/vendor/treetop/lib/treetop/runtime.rb +0 -5
  59. data/lib/vendor/treetop/lib/treetop/version.rb +0 -9
  60. data/lib/vendor/treetop/lib/treetop.rb +0 -8
  61. data/lib/vendor/treetop/spec/compiler/and_predicate_spec.rb +0 -36
  62. data/lib/vendor/treetop/spec/compiler/anything_symbol_spec.rb +0 -44
  63. data/lib/vendor/treetop/spec/compiler/character_class_spec.rb +0 -182
  64. data/lib/vendor/treetop/spec/compiler/choice_spec.rb +0 -80
  65. data/lib/vendor/treetop/spec/compiler/circular_compilation_spec.rb +0 -28
  66. data/lib/vendor/treetop/spec/compiler/failure_propagation_functional_spec.rb +0 -21
  67. data/lib/vendor/treetop/spec/compiler/grammar_compiler_spec.rb +0 -84
  68. data/lib/vendor/treetop/spec/compiler/grammar_spec.rb +0 -41
  69. data/lib/vendor/treetop/spec/compiler/nonterminal_symbol_spec.rb +0 -40
  70. data/lib/vendor/treetop/spec/compiler/not_predicate_spec.rb +0 -38
  71. data/lib/vendor/treetop/spec/compiler/one_or_more_spec.rb +0 -35
  72. data/lib/vendor/treetop/spec/compiler/optional_spec.rb +0 -37
  73. data/lib/vendor/treetop/spec/compiler/parenthesized_expression_spec.rb +0 -19
  74. data/lib/vendor/treetop/spec/compiler/parsing_rule_spec.rb +0 -32
  75. data/lib/vendor/treetop/spec/compiler/sequence_spec.rb +0 -115
  76. data/lib/vendor/treetop/spec/compiler/terminal_spec.rb +0 -81
  77. data/lib/vendor/treetop/spec/compiler/terminal_symbol_spec.rb +0 -37
  78. data/lib/vendor/treetop/spec/compiler/test_grammar.treetop +0 -7
  79. data/lib/vendor/treetop/spec/compiler/test_grammar.tt +0 -7
  80. data/lib/vendor/treetop/spec/compiler/test_grammar_do.treetop +0 -7
  81. data/lib/vendor/treetop/spec/compiler/zero_or_more_spec.rb +0 -56
  82. data/lib/vendor/treetop/spec/composition/a.treetop +0 -11
  83. data/lib/vendor/treetop/spec/composition/b.treetop +0 -11
  84. data/lib/vendor/treetop/spec/composition/c.treetop +0 -10
  85. data/lib/vendor/treetop/spec/composition/d.treetop +0 -10
  86. data/lib/vendor/treetop/spec/composition/f.treetop +0 -17
  87. data/lib/vendor/treetop/spec/composition/grammar_composition_spec.rb +0 -40
  88. data/lib/vendor/treetop/spec/composition/subfolder/e_includes_c.treetop +0 -15
  89. data/lib/vendor/treetop/spec/ruby_extensions/string_spec.rb +0 -32
  90. data/lib/vendor/treetop/spec/runtime/compiled_parser_spec.rb +0 -101
  91. data/lib/vendor/treetop/spec/runtime/interval_skip_list/delete_spec.rb +0 -147
  92. data/lib/vendor/treetop/spec/runtime/interval_skip_list/expire_range_spec.rb +0 -349
  93. data/lib/vendor/treetop/spec/runtime/interval_skip_list/insert_and_delete_node.rb +0 -385
  94. data/lib/vendor/treetop/spec/runtime/interval_skip_list/insert_spec.rb +0 -660
  95. data/lib/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +0 -6175
  96. data/lib/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +0 -58
  97. data/lib/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture.rb +0 -23
  98. data/lib/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +0 -164
  99. data/lib/vendor/treetop/spec/runtime/interval_skip_list/spec_helper.rb +0 -84
  100. data/lib/vendor/treetop/spec/runtime/syntax_node_spec.rb +0 -53
  101. data/lib/vendor/treetop/spec/spec_helper.rb +0 -106
  102. data/lib/vendor/treetop/spec/spec_suite.rb +0 -4
  103. data/lib/vendor/treetop/treetop.gemspec +0 -17
@@ -1,408 +0,0 @@
1
- module Treetop
2
- module Compiler
3
- grammar Metagrammar
4
- rule treetop_file
5
- requires:(space? require_statement)* prefix:space? module_or_grammar:(module_declaration / grammar) suffix:space? {
6
- def compile
7
- requires.text_value + prefix.text_value + module_or_grammar.compile + suffix.text_value
8
- end
9
- }
10
- end
11
-
12
- rule require_statement
13
- prefix:space? "require" [ \t]+ [^\n\r]+ [\n\r]
14
- end
15
-
16
- rule module_declaration
17
- prefix:('module' space [A-Z] alphanumeric_char* space) module_contents:(module_declaration / grammar) suffix:(space 'end') {
18
- def compile
19
- prefix.text_value + module_contents.compile + suffix.text_value
20
- end
21
- }
22
- end
23
-
24
- rule grammar
25
- 'grammar' space grammar_name space ('do' space)? declaration_sequence space? 'end' <Grammar>
26
- end
27
-
28
- rule grammar_name
29
- ([A-Z] alphanumeric_char*)
30
- end
31
-
32
- rule declaration_sequence
33
- head:declaration tail:(space declaration)* <DeclarationSequence> {
34
- def declarations
35
- [head] + tail
36
- end
37
-
38
- def tail
39
- super.elements.map { |elt| elt.declaration }
40
- end
41
- }
42
- /
43
- '' {
44
- def compile(builder)
45
- end
46
- }
47
- end
48
-
49
- rule declaration
50
- parsing_rule / include_declaration
51
- end
52
-
53
- rule include_declaration
54
- 'include' space [A-Z] (alphanumeric_char / '::')* {
55
- def compile(builder)
56
- builder << text_value
57
- end
58
- }
59
- end
60
-
61
- rule parsing_rule
62
- 'rule' space nonterminal space ('do' space)? parsing_expression space 'end' <ParsingRule>
63
- end
64
-
65
- rule parsing_expression
66
- choice / sequence / primary
67
- end
68
-
69
- rule choice
70
- head:alternative tail:(space? '/' space? alternative)+ <Choice> {
71
- def alternatives
72
- [head] + tail
73
- end
74
-
75
- def tail
76
- super.elements.map {|elt| elt.alternative}
77
- end
78
-
79
- def inline_modules
80
- (alternatives.map {|alt| alt.inline_modules }).flatten
81
- end
82
- }
83
- end
84
-
85
- rule sequence
86
- head:labeled_sequence_primary tail:(space labeled_sequence_primary)+ node_class_declarations <Sequence> {
87
- def sequence_elements
88
- [head] + tail
89
- end
90
-
91
- def tail
92
- super.elements.map {|elt| elt.labeled_sequence_primary }
93
- end
94
-
95
- def inline_modules
96
- (sequence_elements.map {|elt| elt.inline_modules}).flatten +
97
- [sequence_element_accessor_module] +
98
- node_class_declarations.inline_modules
99
- end
100
-
101
- def inline_module_name
102
- node_class_declarations.inline_module_name
103
- end
104
- }
105
- end
106
-
107
- rule alternative
108
- sequence / primary
109
- end
110
-
111
- rule primary
112
- prefix atomic {
113
- def compile(address, builder, parent_expression=nil)
114
- prefix.compile(address, builder, self)
115
- end
116
-
117
- def prefixed_expression
118
- atomic
119
- end
120
-
121
- def inline_modules
122
- atomic.inline_modules
123
- end
124
-
125
- def inline_module_name
126
- nil
127
- end
128
- }
129
- /
130
- atomic suffix node_class_declarations {
131
- def compile(address, builder, parent_expression=nil)
132
- suffix.compile(address, builder, self)
133
- end
134
-
135
- def optional_expression
136
- atomic
137
- end
138
-
139
- def node_class_name
140
- node_class_declarations.node_class_name
141
- end
142
-
143
- def inline_modules
144
- atomic.inline_modules + node_class_declarations.inline_modules
145
- end
146
-
147
- def inline_module_name
148
- node_class_declarations.inline_module_name
149
- end
150
- }
151
- /
152
- atomic node_class_declarations {
153
- def compile(address, builder, parent_expression=nil)
154
- atomic.compile(address, builder, self)
155
- end
156
-
157
- def node_class_name
158
- node_class_declarations.node_class_name
159
- end
160
-
161
- def inline_modules
162
- atomic.inline_modules + node_class_declarations.inline_modules
163
- end
164
-
165
- def inline_module_name
166
- node_class_declarations.inline_module_name
167
- end
168
- }
169
- end
170
-
171
- rule labeled_sequence_primary
172
- label sequence_primary {
173
- def compile(lexical_address, builder)
174
- sequence_primary.compile(lexical_address, builder)
175
- end
176
-
177
- def inline_modules
178
- sequence_primary.inline_modules
179
- end
180
-
181
- def label_name
182
- if label.name
183
- label.name
184
- elsif sequence_primary.instance_of?(Nonterminal)
185
- sequence_primary.text_value
186
- else
187
- nil
188
- end
189
- end
190
- }
191
- end
192
-
193
- rule label
194
- (alpha_char alphanumeric_char*) ':' {
195
- def name
196
- elements[0].text_value
197
- end
198
- }
199
- /
200
- '' {
201
- def name
202
- nil
203
- end
204
- }
205
- end
206
-
207
- rule sequence_primary
208
- prefix atomic {
209
- def compile(lexical_address, builder)
210
- prefix.compile(lexical_address, builder, self)
211
- end
212
-
213
- def prefixed_expression
214
- elements[1]
215
- end
216
-
217
- def inline_modules
218
- atomic.inline_modules
219
- end
220
-
221
- def inline_module_name
222
- nil
223
- end
224
- }
225
- /
226
- atomic suffix {
227
- def compile(lexical_address, builder)
228
- suffix.compile(lexical_address, builder, self)
229
- end
230
-
231
- def node_class_name
232
- nil
233
- end
234
-
235
- def inline_modules
236
- atomic.inline_modules
237
- end
238
-
239
- def inline_module_name
240
- nil
241
- end
242
- }
243
- /
244
- atomic
245
- end
246
-
247
- rule suffix
248
- repetition_suffix / optional_suffix
249
- end
250
-
251
- rule optional_suffix
252
- '?' <Optional>
253
- end
254
-
255
- rule node_class_declarations
256
- node_class_expression trailing_inline_module {
257
- def node_class_name
258
- node_class_expression.node_class_name
259
- end
260
-
261
- def inline_modules
262
- trailing_inline_module.inline_modules
263
- end
264
-
265
- def inline_module
266
- trailing_inline_module.inline_module
267
- end
268
-
269
- def inline_module_name
270
- inline_module.module_name if inline_module
271
- end
272
- }
273
- end
274
-
275
- rule repetition_suffix
276
- '+' <OneOrMore> / '*' <ZeroOrMore>
277
- end
278
-
279
- rule prefix
280
- '&' <AndPredicate> / '!' <NotPredicate> / '~' <TransientPrefix>
281
- end
282
-
283
- rule atomic
284
- terminal
285
- /
286
- nonterminal
287
- /
288
- parenthesized_expression
289
- end
290
-
291
- rule parenthesized_expression
292
- '(' space? parsing_expression space? ')' <ParenthesizedExpression> {
293
- def inline_modules
294
- parsing_expression.inline_modules
295
- end
296
- }
297
- end
298
-
299
- rule nonterminal
300
- !keyword_inside_grammar (alpha_char alphanumeric_char*) <Nonterminal>
301
- end
302
-
303
- rule terminal
304
- quoted_string / character_class / anything_symbol
305
- end
306
-
307
- rule quoted_string
308
- (single_quoted_string / double_quoted_string) {
309
- def string
310
- super.text_value
311
- end
312
- }
313
- end
314
-
315
- rule double_quoted_string
316
- '"' string:(!'"' ("\\\\" / '\"' / .))* '"' <Terminal>
317
- end
318
-
319
- rule single_quoted_string
320
- "'" string:(!"'" ("\\\\" / "\\'" / .))* "'" <Terminal>
321
- end
322
-
323
- rule character_class
324
- '[' characters:(!']' ('\\' . /!'\\' .))+ ']' <CharacterClass> {
325
- def characters
326
- super.text_value
327
- end
328
- }
329
- end
330
-
331
- rule anything_symbol
332
- '.' <AnythingSymbol>
333
- end
334
-
335
- rule node_class_expression
336
- space '<' (!'>' .)+ '>' {
337
- def node_class_name
338
- elements[2].text_value
339
- end
340
- }
341
- /
342
- '' {
343
- def node_class_name
344
- nil
345
- end
346
- }
347
- end
348
-
349
- rule trailing_inline_module
350
- space inline_module {
351
- def inline_modules
352
- [inline_module]
353
- end
354
-
355
- def inline_module_name
356
- inline_module.module_name
357
- end
358
- }
359
- /
360
- '' {
361
- def inline_modules
362
- []
363
- end
364
-
365
- def inline_module
366
- nil
367
- end
368
-
369
- def inline_module_name
370
- nil
371
- end
372
- }
373
- end
374
-
375
- rule inline_module
376
- '{' (inline_module / ![{}] .)* '}' <InlineModule>
377
- end
378
-
379
- rule keyword_inside_grammar
380
- ('rule' / 'end') !non_space_char
381
- end
382
-
383
- rule non_space_char
384
- !space .
385
- end
386
-
387
- rule alpha_char
388
- [A-Za-z_]
389
- end
390
-
391
- rule alphanumeric_char
392
- alpha_char / [0-9]
393
- end
394
-
395
- rule space
396
- (white / comment_to_eol)+
397
- end
398
-
399
- rule comment_to_eol
400
- '#' (!"\n" .)*
401
- end
402
-
403
- rule white
404
- [ \t\n\r]
405
- end
406
- end
407
- end
408
- end
@@ -1,18 +0,0 @@
1
- module Treetop
2
- module Compiler
3
- class AnythingSymbol < AtomicExpression
4
- def compile(address, builder, parent_expression = nil)
5
- super
6
- builder.if__ "index < input_length" do
7
- assign_result "instantiate_node(#{node_class_name},input, index...(index + 1))"
8
- extend_result_with_inline_module
9
- builder << "@index += 1"
10
- end
11
- builder.else_ do
12
- builder << 'terminal_parse_failure("any character")'
13
- assign_result 'nil'
14
- end
15
- end
16
- end
17
- end
18
- end
@@ -1,14 +0,0 @@
1
- module Treetop
2
- module Compiler
3
- class AtomicExpression < ParsingExpression
4
- def inline_modules
5
- []
6
- end
7
-
8
- def single_quote(string)
9
- # Double any backslashes, then backslash any single-quotes:
10
- "'#{string.gsub(/\\/) { '\\\\' }.gsub(/'/) { "\\'"}}'"
11
- end
12
- end
13
- end
14
- end
@@ -1,24 +0,0 @@
1
- module Treetop
2
- module Compiler
3
- class CharacterClass < AtomicExpression
4
- def compile(address, builder, parent_expression = nil)
5
- super
6
-
7
- builder.if__ "has_terminal?(#{grounded_regexp(text_value)}, true, index)" do
8
- assign_result "instantiate_node(#{node_class_name},input, index...(index + 1))"
9
- extend_result_with_inline_module
10
- builder << "@index += 1"
11
- end
12
- builder.else_ do
13
- "terminal_parse_failure(#{single_quote(characters)})"
14
- assign_result 'nil'
15
- end
16
- end
17
-
18
- def grounded_regexp(string)
19
- # Double any backslashes, then backslash any single-quotes:
20
- "'\\G#{string.gsub(/\\/) { '\\\\' }.gsub(/'/) { "\\'"}}'"
21
- end
22
- end
23
- end
24
- end
@@ -1,31 +0,0 @@
1
- module Treetop
2
- module Compiler
3
- class Choice < ParsingExpression
4
- def compile(address, builder, parent_expression = nil)
5
- super
6
- begin_comment(self)
7
- use_vars :result, :start_index
8
- compile_alternatives(alternatives)
9
- end_comment(self)
10
- end
11
-
12
- def compile_alternatives(alternatives)
13
- obtain_new_subexpression_address
14
- alternatives.first.compile(subexpression_address, builder)
15
- builder.if__ subexpression_success? do
16
- assign_result subexpression_result_var
17
- extend_result_with_declared_module
18
- extend_result_with_inline_module
19
- end
20
- builder.else_ do
21
- if alternatives.size == 1
22
- reset_index
23
- assign_failure start_index_var
24
- else
25
- compile_alternatives(alternatives[1..-1])
26
- end
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,24 +0,0 @@
1
- module Treetop
2
- module Compiler
3
- class DeclarationSequence < Runtime::SyntaxNode
4
-
5
- def compile(builder)
6
- unless rules.empty?
7
- builder.method_declaration("root") do
8
- builder << "@root || :#{rules.first.name}"
9
- end
10
- builder.newline
11
- end
12
-
13
- declarations.each do |declaration|
14
- declaration.compile(builder)
15
- builder.newline
16
- end
17
- end
18
-
19
- def rules
20
- declarations.select { |declaration| declaration.instance_of?(ParsingRule) }
21
- end
22
- end
23
- end
24
- end
@@ -1,28 +0,0 @@
1
- module Treetop
2
- module Compiler
3
- class Grammar < Runtime::SyntaxNode
4
- def compile
5
- builder = RubyBuilder.new
6
-
7
- builder.module_declaration "#{grammar_name.text_value}" do
8
- builder.in(indent_level) # account for initial indentation of grammar declaration
9
- builder << "include Treetop::Runtime"
10
- builder.newline
11
- declaration_sequence.compile(builder)
12
- end
13
- builder.newline
14
- builder.class_declaration "#{parser_name} < Treetop::Runtime::CompiledParser" do
15
- builder << "include #{grammar_name.text_value}"
16
- end
17
- end
18
-
19
- def indent_level
20
- input.column_of(interval.begin) - 1
21
- end
22
-
23
- def parser_name
24
- grammar_name.text_value + 'Parser'
25
- end
26
- end
27
- end
28
- end
@@ -1,27 +0,0 @@
1
- module Treetop
2
- module Compiler
3
- module InlineModuleMixin
4
- attr_reader :module_name
5
-
6
- def compile(index, builder, rule)
7
- @module_name = "#{rule.name.treetop_camelize}#{index}"
8
- end
9
- end
10
-
11
- class InlineModule < Runtime::SyntaxNode
12
-
13
- include InlineModuleMixin
14
-
15
- def compile(index, builder, rule)
16
- super
17
- builder.module_declaration(module_name) do
18
- builder << ruby_code.gsub(/\A\n/, '').rstrip
19
- end
20
- end
21
-
22
- def ruby_code
23
- elements[1].text_value
24
- end
25
- end
26
- end
27
- end
@@ -1,13 +0,0 @@
1
- module Treetop
2
- module Compiler
3
- class Nonterminal < AtomicExpression
4
- def compile(address, builder, parent_expression = nil)
5
- super
6
- use_vars :result
7
- assign_result text_value == 'super' ? 'super' : "_nt_#{text_value}"
8
- extend_result_with_declared_module
9
- extend_result_with_inline_module
10
- end
11
- end
12
- end
13
- end
@@ -1,19 +0,0 @@
1
- module Treetop
2
- module Compiler
3
- class Optional < ParsingExpression
4
- def compile(address, builder, parent_expression)
5
- super
6
- use_vars :result
7
- obtain_new_subexpression_address
8
- parent_expression.atomic.compile(subexpression_address, builder)
9
-
10
- builder.if__ subexpression_success? do
11
- assign_result subexpression_result_var
12
- end
13
- builder.else_ do
14
- assign_result epsilon_node
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,9 +0,0 @@
1
- module Treetop
2
- module Compiler
3
- class ParenthesizedExpression < ParsingExpression
4
- def compile(address, builder, parent_expression = nil)
5
- elements[2].compile(address, builder, parent_expression)
6
- end
7
- end
8
- end
9
- end