Module: Arrow::Template::Parser::Patterns
- Included in:
- Arrow::Template::ExportDirective, Arrow::Template::ForDirective, Arrow::Template::ImportDirective, Arrow::Template::IncludeDirective, , State, Arrow::Template::RenderDirective, Arrow::Template::SelectListDirective, Arrow::Template::YieldDirective
- Defined in:
- lib/arrow/template/parser.rb
Overview
Regexp constants for parsing
Constant Summary
- TAGOPEN =
The Regexp that is used to match directive tag openings. Must be at least 2 characters wide.
%r{([<|\[])\?}
- TAGMIDDLE =
The Hash that maps tag-closings to tag-middle patterns.
Hash.new {
- TAGCLOSE =
The Hash that maps tag openings to matching tag closings with flipped braces.
Hash.new {
- CAPTURE =
Paren-group map
Hash.new {
- ALTERNATION =
Hash.new {
- DOT =
Constant patterns for parsing
/\./
- COMMA =
/,/
- WHITESPACE =
/\s*/
- EQUALS =
/=/
- INFIX =
/\.|::|(?>\[)/
- IDENTIFIER =
/[a-z]\w*/i
- LBRACKET =
/[\[(]/
- RBRACKET =
Hash.new {
- NUMBER =
/[-+]?\d+(?:\.\d+)?(?:e-?\d+)?/
- TICKQSTRING =
> “\“and \“bar\” and baz\” and some \“other stuff\”“
/'((?:[^']|\\')*)'/
- DBLQSTRING =
/"((?:[^"]|\\")*)"/
- SLASHQSTRING =
%r{/((?:[^/]|\\/)*)/}
- QUOTEDSTRING =
ALTERNATION[[ TICKQSTRING, DBLQSTRING, SLASHQSTRING ]]
- SYMBOL =
/:[@$]?[a-z]\w+/ | /:/ + ALTERNATION[[ DBLQSTRING, TICKQSTRING ]]
- VARIABLE =
/(?:\$|@@?)?_?/ + IDENTIFIER
- REGEXP =
%r{/((?:[^/]|\\.)+)/}
- REBINDOP =
/\s*(?:=~|matches)(?=\s)/
- PATHNAME =
%r{((?:[-\w.,:+@#$\%\(\)/]|\\ |\?(?!>))+)}
- ARGUMENT =
/[*&]?/ + IDENTIFIER
- ARGDEFAULT =
EQUALS + WHITESPACE + ALTERNATION[[ IDENTIFIER, NUMBER, QUOTEDSTRING, SYMBOL, VARIABLE ]]