- 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) }