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, opts) ⇒ Object
- #|(pa) ⇒ Object
- #~ ⇒ Object
Instance Method Details
#*(range) ⇒ Object
126 |
# File 'lib/neg/parser.rb', line 126 def *(range) ; RepetitionParser.new(self, range); end |
#+(pa) ⇒ Object
123 |
# File 'lib/neg/parser.rb', line 123 def +(pa) ; SequenceParser.new(self, pa); end |
#-@ ⇒ Object
128 |
# File 'lib/neg/parser.rb', line 128 def -@ ; LookaheadParser.new(self, false); end |
#[](name) ⇒ Object
125 |
# File 'lib/neg/parser.rb', line 125 def [](name) ; NonTerminalParser.new(name.to_s, self); end |
#parse(input_or_string, opts) ⇒ Object
130 131 132 133 134 135 136 137 138 139 140 |
# File 'lib/neg/parser.rb', line 130 def parse(input_or_string, opts) input = Neg::Input(input_or_string) start = input.position success, result, children = do_parse(input, opts) input.rewind(start) unless success [ nil, start, success, result, children ] end |
#|(pa) ⇒ Object
124 |
# File 'lib/neg/parser.rb', line 124 def |(pa) ; AlternativeParser.new(self, pa); end |
#~ ⇒ Object
127 |
# File 'lib/neg/parser.rb', line 127 def ~ ; LookaheadParser.new(self, true); end |