⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 t020fuzzy.g

📁 antlr最新版本V3源代码
💻 G
字号:
lexer grammar t020fuzzy;options {    language=Python;    filter=true;}@header {from cStringIO import StringIO}@init {self.output = StringIO()}IMPORT	:	'import' WS name=QIDStar WS? ';'	;	/** Avoids having "return foo;" match as a field */RETURN	:	'return' (options {greedy=false;}:.)* ';'	;CLASS	:	'class' WS name=ID WS? ('extends' WS QID WS?)?		('implements' WS QID WS? (',' WS? QID WS?)*)? '{'        {self.output.write("found class "+$name.text+"\n")}	;	METHOD    :   TYPE WS name=ID WS? '(' ( ARG WS? (',' WS? ARG WS?)* )? ')' WS?        ('throws' WS QID WS? (',' WS? QID WS?)*)? '{'        {self.output.write("found method "+$name.text+"\n");}    ;FIELD    :   TYPE WS name=ID '[]'? WS? (';'|'=')        {self.output.write("found var "+$name.text+"\n");}    ;STAT:	('if'|'while'|'switch'|'for') WS? '(' ;	CALL    :   name=QID WS? '('        {self.output.write("found call "+$name.text+"\n");}    ;COMMENT    :   '/*' (options {greedy=false;} : . )* '*/'        {self.output.write("found comment "+self.getText()+"\n");}    ;SL_COMMENT    :   '//' (options {greedy=false;} : . )* '\n'        {self.output.write("found // comment "+self.getText()+"\n");}    ;	STRING	:	'"' (options {greedy=false;}: ESC | .)* '"'	;CHAR	:	'\'' (options {greedy=false;}: ESC | .)* '\''	;WS  :   (' '|'\t'|'\n')+    ;fragmentQID :	ID ('.' ID)*	;	/** QID cannot see beyond end of token so using QID '.*'? somewhere won't *  ever match since k=1 lookahead in the QID loop of '.' will make it loop. *  I made this rule to compensate. */fragmentQIDStar	:	ID ('.' ID)* '.*'?	;fragmentTYPE:   QID '[]'?    ;    fragmentARG :   TYPE WS ID    ;fragmentID  :   ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*    ;fragmentESC	:	'\\' ('"'|'\''|'\\')	;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -