Class: Neg::Parser::SubParser
- Inherits:
-
Object
- Object
- Neg::Parser::SubParser
- Defined in:
- lib/neg/parser.rb
Overview
– sub parsers ++
Direct Known Subclasses
CharacterParser, CompositeParser, LookaheadParser, NonTerminalParser, RepetitionParser, StringParser
Instance Method Summary collapse
- #*(range) ⇒ Object
- #+(pa) ⇒ Object
- #-@ ⇒ Object
- #[](name) ⇒ Object
- #parse(input_or_string) ⇒ Object
- #|(pa) ⇒ Object
- #~ ⇒ Object
Instance Method Details
#*(range) ⇒ Object
96 |
# File 'lib/neg/parser.rb', line 96 def *(range) ; RepetitionParser.new(self, range); end |
#+(pa) ⇒ Object
93 |
# File 'lib/neg/parser.rb', line 93 def +(pa) ; SequenceParser.new(self, pa); end |
#-@ ⇒ Object
98 |
# File 'lib/neg/parser.rb', line 98 def -@ ; LookaheadParser.new(self, false); end |
#[](name) ⇒ Object
95 |
# File 'lib/neg/parser.rb', line 95 def [](name) ; NonTerminalParser.new(name.to_s, self); end |
#parse(input_or_string) ⇒ Object
100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/neg/parser.rb', line 100 def parse(input_or_string) input = Neg::Input(input_or_string) start = input.position success, result, children = do_parse(input) input.rewind(start) unless success [ nil, start, success, result, children ] end |
#|(pa) ⇒ Object
94 |
# File 'lib/neg/parser.rb', line 94 def |(pa) ; AlternativeParser.new(self, pa); end |
#~ ⇒ Object
97 |
# File 'lib/neg/parser.rb', line 97 def ~ ; LookaheadParser.new(self, true); end |