Sha256: 2b008fa1d9c7006739de2eb8b3b502bd481d252ce5bc22c6b7cb65242b7199c2
Contents?: true
Size: 1.65 KB
Versions: 21
Compression:
Stored size: 1.65 KB
Contents
class Code class Parser class String < Language def code ::Code::Parser::Code end def name ::Code::Parser::Name end def single_quote str("'") end def double_quote str('"') end def backslash str("\\") end def opening_curly_bracket str("{") end def closing_curly_bracket str("}") end def colon str(":") end def code_part opening_curly_bracket << code << closing_curly_bracket.maybe end def single_quoted_text_part ( backslash.ignore << opening_curly_bracket | backslash.ignore << single_quote | single_quote.absent << opening_curly_bracket.absent << any ).repeat(1) end def double_quoted_text_part ( backslash.ignore << opening_curly_bracket | backslash.ignore << double_quote | double_quote.absent << opening_curly_bracket.absent << any ).repeat(1) end def single_quoted_string single_quote.ignore << (code_part.aka(:code) | single_quoted_text_part.aka(:text)).repeat << single_quote.ignore.maybe end def double_quoted_string double_quote.ignore << (code_part.aka(:code) | double_quoted_text_part.aka(:text)).repeat << double_quote.ignore.maybe end def symbol (colon.ignore << name).aka(:text).repeat(1, 1) end def root (single_quoted_string | double_quoted_string | symbol).aka(:string) | ::Code::Parser::Number end end end end
Version data entries
21 entries across 21 versions & 3 rubygems