Class: TDParser::NegativeParser
- Inherits:
-
CompositeParser
- Object
- Parser
- CompositeParser
- TDParser::NegativeParser
- Defined in:
- lib/tdp.rb
Instance Attribute Summary
Attributes inherited from CompositeParser
Instance Method Summary collapse
- #call(tokens, buff) ⇒ Object
-
#initialize(parser) ⇒ NegativeParser
constructor
A new instance of NegativeParser.
- #to_s ⇒ Object
Methods inherited from CompositeParser
Methods inherited from Parser
#%, #*, #+, #-, #/, #==, #>, #>>, #do, #optimize, #parse, #peek, #same?, #to_proc, #|, #~@
Methods included from TDParser
#any_rule, #backref, #chainl, #chainr, #condition_rule, define, #empty_rule, #fail_rule, #leftrec, #none_rule, #rightrec, #rule, #stackref, #state, #token
Methods included from BufferUtils
Constructor Details
#initialize(parser) ⇒ NegativeParser
Returns a new instance of NegativeParser.
582 583 584 |
# File 'lib/tdp.rb', line 582 def initialize(parser) super(parser) end |
Instance Method Details
#call(tokens, buff) ⇒ Object
586 587 588 589 590 591 592 593 594 595 596 |
# File 'lib/tdp.rb', line 586 def call(tokens, buff) b = prepare(buff) r = @parsers[0].call(tokens,b) rev = b.reverse recover(b, tokens) if( r.nil? ) Sequence[Sequence[*rev]] else nil end end |
#to_s ⇒ Object
598 599 600 |
# File 'lib/tdp.rb', line 598 def to_s() "~#{@parsers[0]}" end |