Class: Neg::Parser::SubParser
- Inherits:
-
Object
- Object
- Neg::Parser::SubParser
show all
- Defined in:
- lib/neg/parser.rb
Overview
Instance Method Summary
collapse
Instance Method Details
#*(range) ⇒ Object
113
|
# File 'lib/neg/parser.rb', line 113
def *(range) ; RepetitionParser.new(self, range); end
|
#+(pa) ⇒ Object
110
|
# File 'lib/neg/parser.rb', line 110
def +(pa) ; SequenceParser.new(self, pa); end
|
#-@ ⇒ Object
115
|
# File 'lib/neg/parser.rb', line 115
def -@ ; LookaheadParser.new(self, false); end
|
#[](name) ⇒ Object
112
|
# File 'lib/neg/parser.rb', line 112
def [](name) ; NonTerminalParser.new(name.to_s, self); end
|
#parse(input_or_string, opts) ⇒ Object
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# File 'lib/neg/parser.rb', line 117
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
111
|
# File 'lib/neg/parser.rb', line 111
def |(pa) ; AlternativeParser.new(self, pa); end
|
#~ ⇒ Object
114
|
# File 'lib/neg/parser.rb', line 114
def ~ ; LookaheadParser.new(self, true); end
|