MatchPattern.g4 423 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
grammar MatchPattern;
schemaTerm :
	   '_'
	 |'...'
	 | schemaVar
	 | logicalVar
	 | functionSymbol ('('schemaTerm (',' schemaTerm)? ')')?
	 ;

termHelper :
      schemaTerm
	 | functionSymbol '('termHelper (',' termHelper)? ')'
	 ;

functionSymbol :
    ID+
    ;

schemaVar:
    '?'ID+
    ;

logicalVar:
    ID+
    ;


DIGITS : DIGIT+ ;
fragment DIGIT : [0-9] ;
ID : [a-zA-Z] ([_a-zA-Z0-9] | '.' | '\\' | '[]' | '-')* ;