module Rsec::Parser
parser base
Attributes
name[RW]
Public Instance Methods
inspect()
click to toggle source
# File lib/rsec/parser.rb, line 25 def inspect # TODO move @name ||= self.class.to_s[/\w+$/] case self when Lazy "<#{name}>" when Binary "<#{name} #{left.inspect} #{right.inspect}>" when Seq, Seq_, Branch # don't use redefined map! res = [] each{|e| res << e.inspect} "<#{name} #{res.join ' '}>" when Unary "<#{name} #{some.inspect}>" else "<#{name}>" end end
parse(str, source_name='source')
click to toggle source
parses string<br/> returns nil if unparsed
# File lib/rsec/parser.rb, line 8 def parse str, source_name='source' ctx = ParseContext.new str, source_name _parse ctx end
parse!(str, source_name='source')
click to toggle source
almost the same as parse<br/> but raises SyntaxError
# File lib/rsec/parser.rb, line 15 def parse! str, source_name='source' ctx = ParseContext.new str, source_name ret = _parse ctx if INVALID[ret] raise ctx.generate_error source_name end ret end