Skip to content

Instantly share code, notes, and snippets.

@pmiddend
Created July 6, 2016 12:21
Show Gist options
  • Save pmiddend/2ba3225e7d7fdd4303e7d5198bbc4ec0 to your computer and use it in GitHub Desktop.
Save pmiddend/2ba3225e7d7fdd4303e7d5198bbc4ec0 to your computer and use it in GitHub Desktop.
parser grammar TemplatesParser;
options { tokenVocab=TemplatesLexer; }
expr : (OPEN NAME CLOSE | TEXT)* ;
/*
tvalue : TVALUE_NAME tvalue_operator? ;
tvalue_operator : ('##' | '#') TVALUE_PATTERN
| ('%%' | '%') TVALUE_PATTERN
| ('//' | '/') TVALUE_SUBST_PATTERN1 '/' (TVALUE_SUBST_PATTERN2 | )
| ':=' (TVALUE_PATTERN | )
| (':') ( INT ':' INT | INT )
;
TVALUE_OPEN : '${' ;
TVALUE_CLOSE : '}' ;
// TVALUE_NAME : ~[#%/:\}]+? ;
TVALUE_PATTERN : ~[\}]+? ;
TVALUE_SUBST_PATTERN1 : ~[/]+? ;
TVALUE_SUBST_PATTERN2 : ~[\}/]+? ;
INT : [0-9]+ ;
NORMAL_CHARS : ~[$]+ ;
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment