Module: OOPeg::Parsers::Advanced::StringParser
- Extended by:
- StringParser
- Includes:
- OOPeg::Parsers
- Included in:
- StringParser
- Defined in:
- lib/oo_peg/parsers/advanced/string_parser.rb
Instance Method Summary collapse
Methods included from OOPeg::Parser::Combinators::Lazy
Methods included from CommonParsers
#id_parser, #int_parser, #kwd_parser, #set_parser, #word_parser, #ws_parser
Methods included from BaseParsers
#char_class_parser, #char_parser, #end_parser, #false_parser, #true_parser
Instance Method Details
#make(delim: %{'"}, doubled_escape: nil, extra_parser: nil, escape_with: "\\", name: "StringParser") ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/oo_peg/parsers/advanced/string_parser.rb', line 9 def make(delim: %{'"}, doubled_escape: nil, extra_parser: nil, escape_with: "\\", name: "StringParser") parser = Parser.or( delim.grapheme_clusters.map { |quote| make_delim_parser(quote, doubled_escape:, extra_parser:, escape_with:) } ) parser.map_or_rename(error: "Missing closing delimiter", name:) { |ast| ast[1].join } end |