class SFRP::Input::Parser::Parser

Public Instance Methods

listing(e, separator) click to toggle source
# File lib/sfrp/input/parser.rb, line 391
def listing(e, separator)
  (e.as(:e) >> (separator >> e.as(:e)).repeat).as(:listing)
end
listing0(e, separator) click to toggle source
# File lib/sfrp/input/parser.rb, line 395
def listing0(e, separator)
  listing(e, separator).maybe.as(:listing0)
end
listing2(e, separator) click to toggle source
# File lib/sfrp/input/parser.rb, line 399
def listing2(e, separator)
  (e.as(:e) >> (separator >> e.as(:e)).repeat(1)).as(:listing)
end
opt(left_separator, optional_rule) click to toggle source
# File lib/sfrp/input/parser.rb, line 403
def opt(left_separator, optional_rule)
  (left_separator >> optional_rule.as(:entity)).maybe.as(:opt)
end
paren(rule) click to toggle source
# File lib/sfrp/input/parser.rb, line 407
def paren(rule)
  wrap('(', rule, ')')
end
wrap(lstr, rule, rstr) click to toggle source
# File lib/sfrp/input/parser.rb, line 411
def wrap(lstr, rule, rstr)
  str(lstr) >> ws? >> rule >> ws? >> str(rstr)
end