Module: L43Rmap::Parsing::RgxParsers

Includes:
Ast
Included in:
ChunkParser
Defined in:
lib/l43_rmap/parsing/rgx_parsers.rb

Constant Summary collapse

BAREWORD =
/\A[^\s\)]+/
BarewordParser =
RgxParser.new(BAREWORD) { Bareword.new(it) }
DQUOTE =
/\A"/
DquoteParser =
RgxParser.new(DQUOTE)
ESC_DQUOTE =
/\A"(")/
EscDquoteParser =
RgxParser.new(ESC_DQUOTE)
ESC_SQUOTE =
/\A'(')/
EscSquoteParser =
RgxParser.new(ESC_SQUOTE)
ESCAPE =
/\A%([%(])/
EscapeParser =
RgxParser.new(ESCAPE) { Verb.new(it) }
INDEXED_FIELD =
/\A%([-+]?\d+) ?/
IndexedFieldParser =
RgxParser.new(INDEXED_FIELD) { IndexedField.new(it.to_i) }
NAMED_FIELD =
/\A%([[:alpha:]][_[:alnum:]]*) ?/
NamedFieldParser =
RgxParser.new(NAMED_FIELD) { NamedField.new(it) }
NAME =
/\A[[:alpha:]][_[:alnum:]]*[\!\?]?/
NameParser =
RgxParser.new(NAME) { Name.new(it) }
INT =
/\A[-+]?\d+/
IntParser =
RgxParser.new(INT) { Int.new(it.to_i) }
LPAR =
/\A\(/
LparParser =
RgxParser.new(LPAR) { :ignore }
NO_DQUOTE =
/\A[^"]+/
NoDquoteParser =
RgxParser.new(NO_DQUOTE)
NO_META =
/\A[^%(]+/
NoMetaParser =
RgxParser.new(NO_META) { Verb.new(it) }
NO_SQUOTE =
/\A[^']+/
NoSquoteParser =
RgxParser.new(NO_SQUOTE)
OP =
/\A([-+*\/%])\s*/
OpParser =
RgxParser.new(OP) { Name.new(it) }
RPAR =
/\A\)/
RparParser =
RgxParser.new(RPAR)
SQUOTE =
/\A'/
SquoteParser =
RgxParser.new(SQUOTE)
SYMBOL =
/\A:([[:alpha:]][_[:alnum:]]*[\!\?]?)/
SymbolParser =
RgxParser.new(SYMBOL) { Sym.new(it) }
WS =
/\A\s+/
WsParser =
RgxParser.new(WS)
ZEROFIELD =
/\A%(?: |\z)/
ZerofieldParser =
RgxParser.new(ZEROFIELD) { IndexedField.new(0) }
ZEROFIELD_INSIDE =
/\A(%)(?: |\))/
ZerofieldInsideParser =
RgxParser.new(ZEROFIELD_INSIDE, only_group: true) { IndexedField.new(0) }

Constants included from Ast

Ast::Node