You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			60 lines
		
	
	
		
			885 B
		
	
	
	
		
			Plaintext
		
	
			
		
		
	
	
			60 lines
		
	
	
		
			885 B
		
	
	
	
		
			Plaintext
		
	
// Basic terminals for common use
 | 
						|
 | 
						|
 | 
						|
//
 | 
						|
// Numbers
 | 
						|
//
 | 
						|
 | 
						|
DIGIT: "0".."9"
 | 
						|
HEXDIGIT: "a".."f"|"A".."F"|DIGIT
 | 
						|
 | 
						|
INT: DIGIT+
 | 
						|
SIGNED_INT: ["+"|"-"] INT
 | 
						|
DECIMAL: INT "." INT? | "." INT
 | 
						|
 | 
						|
// float = /-?\d+(\.\d+)?([eE][+-]?\d+)?/
 | 
						|
_EXP: ("e"|"E") SIGNED_INT
 | 
						|
FLOAT: INT _EXP | DECIMAL _EXP?
 | 
						|
SIGNED_FLOAT: ["+"|"-"] FLOAT
 | 
						|
 | 
						|
NUMBER: FLOAT | INT
 | 
						|
SIGNED_NUMBER: ["+"|"-"] NUMBER
 | 
						|
 | 
						|
//
 | 
						|
// Strings
 | 
						|
//
 | 
						|
_STRING_INNER: /.*?/
 | 
						|
_STRING_ESC_INNER: _STRING_INNER /(?<!\\)(\\\\)*?/
 | 
						|
 | 
						|
ESCAPED_STRING : "\"" _STRING_ESC_INNER "\""
 | 
						|
 | 
						|
 | 
						|
//
 | 
						|
// Names (Variables)
 | 
						|
//
 | 
						|
LCASE_LETTER: "a".."z"
 | 
						|
UCASE_LETTER: "A".."Z"
 | 
						|
 | 
						|
LETTER: UCASE_LETTER | LCASE_LETTER
 | 
						|
WORD: LETTER+
 | 
						|
 | 
						|
CNAME: ("_"|LETTER) ("_"|LETTER|DIGIT)*
 | 
						|
 | 
						|
 | 
						|
//
 | 
						|
// Whitespace
 | 
						|
//
 | 
						|
WS_INLINE: (" "|/\t/)+
 | 
						|
WS: /[ \t\f\r\n]/+
 | 
						|
 | 
						|
CR : /\r/
 | 
						|
LF : /\n/
 | 
						|
NEWLINE: (CR? LF)+
 | 
						|
 | 
						|
 | 
						|
// Comments
 | 
						|
SH_COMMENT: /#[^\n]*/
 | 
						|
CPP_COMMENT: /\/\/[^\n]*/
 | 
						|
C_COMMENT: "/*" /(.|\n)*?/ "*/"
 | 
						|
SQL_COMMENT: /--[^\n]*/
 |