Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- grammar foo;
- start : (expression)*;
- expression: function
- | assignment
- | INT
- ;
- function: IDENT LPAR parameterList RPAR;
- parameterList: expression (',' expression)*;
- assignment: IDENT '=' expression;
- IDENT : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*
- ;
- INT : '0'..'9'+
- ;
- FLOAT
- : ('0'..'9')+ '.' ('0'..'9')* EXPONENT?
- | '.' ('0'..'9')+ EXPONENT?
- | ('0'..'9')+ EXPONENT
- ;
- WS : ( ' '
- | '\t'
- | '\r'
- | '\n'
- ) {$channel=HIDDEN;}
- ;
- STRING
- : '"' ( ESC_SEQ | ~('\\'|'"') )* '"'
- ;
- fragment
- EXPONENT : ('e'|'E') ('+'|'-')? ('0'..'9')+ ;
- fragment
- HEX_DIGIT : ('0'..'9'|'a'..'f'|'A'..'F') ;
- fragment
- ESC_SEQ
- : '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\')
- | UNICODE_ESC
- | OCTAL_ESC
- ;
- fragment
- OCTAL_ESC
- : '\\' ('0'..'3') ('0'..'7') ('0'..'7')
- | '\\' ('0'..'7') ('0'..'7')
- | '\\' ('0'..'7')
- ;
- LPAR : '(';
- RPAR : ')';
- fragment
- UNICODE_ESC
- : '\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
- ;
Add Comment
Please, Sign In to add comment