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

📄 fuzzyjavalexer.m

📁 antlr最新版本V3源代码
💻 M
📖 第 1 页 / 共 4 页
字号:
- (void) mSL_COMMENT{	// token labels	// token+rule list labels	// rule labels	// rule list labels	// rule refs in alts with rewrites	@try {		ruleNestingLevel++;		int _type = FuzzyJavaLexer_SL_COMMENT;		int _start = [self charIndex];		int _line = [self line];		int _charPosition = [self charPositionInLine];		int _channel = [ANTLRToken defaultChannel];		// FuzzyJava.gl:43:9: ( '//' ( options {greedy=false; } : . )* '\\n' ) // ruleBlockSingleAlt		// FuzzyJava.gl:43:9: '//' ( options {greedy=false; } : . )* '\\n' // alt		{		[self matchString:@"//"];		if (failed) return ;		do {		    int alt29=2;		    {		    	int LA29_0 = [input LA:1];		    	if ( LA29_0=='\n' ) {		    		alt29 = 2;		    	}		    	else if ( (LA29_0>=0x0000 && LA29_0<='\t')||(LA29_0>=0x000B && LA29_0<=0xFFFE) ) {		    		alt29 = 1;		    	}		    }		    switch (alt29) {			case 1 :			    // FuzzyJava.gl:43:41: . // alt			    {			    [self matchAny];			    if (failed) return ;			    }			    break;			default :			    goto loop29;		    }		} while (YES); loop29: ;		[self matchChar:'\n'];		if (failed) return ;		if ( backtracking==1 ) {		  NSLog(@"found // comment %@", [self text]);		}		}		if ( token == nil && ruleNestingLevel == 1) { [self emitTokenWithType:_type line:_line charPosition:_charPosition channel:_channel start:_start stop:[self charIndex]];}	}	@finally {		ruleNestingLevel--;        // rule cleanup		// token labels		// token+rule list labels		// rule labels		// rule refs in alts with rewrites		if ( backtracking == 0 ) {		}	}	return;}// $ANTLR end SL_COMMENT- (void) mSTRING{	// token labels	// token+rule list labels	// rule labels	// rule list labels	// rule refs in alts with rewrites	@try {		ruleNestingLevel++;		int _type = FuzzyJavaLexer_STRING;		int _start = [self charIndex];		int _line = [self line];		int _charPosition = [self charPositionInLine];		int _channel = [ANTLRToken defaultChannel];		// FuzzyJava.gl:48:4: ( '\"' ( options {greedy=false; } : ESC | . )* '\"' ) // ruleBlockSingleAlt		// FuzzyJava.gl:48:4: '\"' ( options {greedy=false; } : ESC | . )* '\"' // alt		{		[self matchChar:'"'];		if (failed) return ;		do {		    int alt30=3;		    {		    	int LA30_0 = [input LA:1];		    	if ( LA30_0=='"' ) {		    		alt30 = 3;		    	}		    	else if ( LA30_0=='\\' ) {		    		{		    			int LA30_2 = [input LA:2];		    			if ( LA30_2=='"' ) {		    				alt30 = 1;		    			}		    			else if ( LA30_2=='\\' ) {		    				alt30 = 1;		    			}		    			else if ( LA30_2=='\'' ) {		    				alt30 = 1;		    			}		    			else if ( (LA30_2>=0x0000 && LA30_2<='!')||(LA30_2>='#' && LA30_2<='&')||(LA30_2>='(' && LA30_2<='[')||(LA30_2>=']' && LA30_2<=0xFFFE) ) {		    				alt30 = 2;		    			}		    		}		    	}		    	else if ( (LA30_0>=0x0000 && LA30_0<='!')||(LA30_0>='#' && LA30_0<='[')||(LA30_0>=']' && LA30_0<=0xFFFE) ) {		    		alt30 = 2;		    	}		    }		    switch (alt30) {			case 1 :			    // FuzzyJava.gl:48:34: ESC // alt			    {			    [self mESC];			    if (failed) return ;			    }			    break;			case 2 :			    // FuzzyJava.gl:48:40: . // alt			    {			    [self matchAny];			    if (failed) return ;			    }			    break;			default :			    goto loop30;		    }		} while (YES); loop30: ;		[self matchChar:'"'];		if (failed) return ;		}		if ( token == nil && ruleNestingLevel == 1) { [self emitTokenWithType:_type line:_line charPosition:_charPosition channel:_channel start:_start stop:[self charIndex]];}	}	@finally {		ruleNestingLevel--;        // rule cleanup		// token labels		// token+rule list labels		// rule labels		// rule refs in alts with rewrites		if ( backtracking == 0 ) {		}	}	return;}// $ANTLR end STRING- (void) mCHAR{	// token labels	// token+rule list labels	// rule labels	// rule list labels	// rule refs in alts with rewrites	@try {		ruleNestingLevel++;		int _type = FuzzyJavaLexer_CHAR;		int _start = [self charIndex];		int _line = [self line];		int _charPosition = [self charPositionInLine];		int _channel = [ANTLRToken defaultChannel];		// FuzzyJava.gl:52:4: ( '\\'' ( options {greedy=false; } : ESC | . )* '\\'' ) // ruleBlockSingleAlt		// FuzzyJava.gl:52:4: '\\'' ( options {greedy=false; } : ESC | . )* '\\'' // alt		{		[self matchChar:'\''];		if (failed) return ;		do {		    int alt31=3;		    {		    	int LA31_0 = [input LA:1];		    	if ( LA31_0=='\'' ) {		    		alt31 = 3;		    	}		    	else if ( LA31_0=='\\' ) {		    		{		    			int LA31_2 = [input LA:2];		    			if ( LA31_2=='\'' ) {		    				alt31 = 1;		    			}		    			else if ( LA31_2=='\\' ) {		    				alt31 = 1;		    			}		    			else if ( LA31_2=='"' ) {		    				alt31 = 1;		    			}		    			else if ( (LA31_2>=0x0000 && LA31_2<='!')||(LA31_2>='#' && LA31_2<='&')||(LA31_2>='(' && LA31_2<='[')||(LA31_2>=']' && LA31_2<=0xFFFE) ) {		    				alt31 = 2;		    			}		    		}		    	}		    	else if ( (LA31_0>=0x0000 && LA31_0<='&')||(LA31_0>='(' && LA31_0<='[')||(LA31_0>=']' && LA31_0<=0xFFFE) ) {		    		alt31 = 2;		    	}		    }		    switch (alt31) {			case 1 :			    // FuzzyJava.gl:52:35: ESC // alt			    {			    [self mESC];			    if (failed) return ;			    }			    break;			case 2 :			    // FuzzyJava.gl:52:41: . // alt			    {			    [self matchAny];			    if (failed) return ;			    }			    break;			default :			    goto loop31;		    }		} while (YES); loop31: ;		[self matchChar:'\''];		if (failed) return ;		}		if ( token == nil && ruleNestingLevel == 1) { [self emitTokenWithType:_type line:_line charPosition:_charPosition channel:_channel start:_start stop:[self charIndex]];}	}	@finally {		ruleNestingLevel--;        // rule cleanup		// token labels		// token+rule list labels		// rule labels		// rule refs in alts with rewrites		if ( backtracking == 0 ) {		}	}	return;}// $ANTLR end CHAR- (void) mWS{	// token labels	// token+rule list labels	// rule labels	// rule list labels	// rule refs in alts with rewrites	@try {		ruleNestingLevel++;		int _type = FuzzyJavaLexer_WS;		int _start = [self charIndex];		int _line = [self line];		int _charPosition = [self charPositionInLine];		int _channel = [ANTLRToken defaultChannel];		// FuzzyJava.gl:55:9: ( ( (' '|'\\t'|'\\n'))+ ) // ruleBlockSingleAlt		// FuzzyJava.gl:55:9: ( (' '|'\\t'|'\\n'))+ // alt		{		// FuzzyJava.gl:55:9: ( (' '|'\\t'|'\\n'))+	// positiveClosureBlock		int cnt32=0;		do {		    int alt32=2;		    {		    	int LA32_0 = [input LA:1];		    	if ( (LA32_0>='\t' && LA32_0<='\n')||LA32_0==' ' ) {		    		alt32 = 1;		    	}		    }		    switch (alt32) {			case 1 :			    // FuzzyJava.gl:55:10: (' '|'\\t'|'\\n') // alt			    {			    if (([input LA:1]>='\t' && [input LA:1]<='\n')||[input LA:1]==' ') {			    	[input consume];			    failed = NO;			    } else {			    	if (backtracking > 0) {failed=YES; return ;}			    	ANTLRMismatchedSetException *mse = [ANTLRMismatchedSetException exceptionWithSet:nil stream:input];			    	[self recover:mse];	@throw mse;			    }			    }			    break;			default :			    if ( cnt32 >= 1 )  goto loop32;		            if (backtracking > 0) {failed=YES; return ;}					ANTLREarlyExitException *eee = [ANTLREarlyExitException exceptionWithStream:input decisionNumber:32];					@throw eee;		    }		    cnt32++;		} while (YES); loop32: ;		}		if ( token == nil && ruleNestingLevel == 1) { [self emitTokenWithType:_type line:_line charPosition:_charPosition channel:_channel start:_start stop:[self charIndex]];}	}	@finally {		ruleNestingLevel--;        // rule cleanup		// token labels		// token+rule list labels		// rule labels		// rule refs in alts with rewrites		if ( backtracking == 0 ) {		}	}	return;}// $ANTLR end WS- (void) mQID{	// token labels	// token+rule list labels	// rule labels	// rule list labels	// rule refs in alts with rewrites	@try {		ruleNestingLevel++;		// FuzzyJava.gl:59:7: ( ID ( '.' ID )* ) // ruleBlockSingleAlt		// FuzzyJava.gl:59:7: ID ( '.' ID )* // alt		{		[self mID];		if (failed) return ;		do {		    int alt33=2;		    {		    	int LA33_0 = [input LA:1];		    	if ( LA33_0=='.' ) {		    		alt33 = 1;		    	}		    }		    switch (alt33) {			case 1 :			    // FuzzyJava.gl:59:11: '.' ID // alt			    {			    [self matchChar:'.'];			    if (failed) return ;			    [self mID];			    if (failed) return ;			    }			    break;			default :			    goto loop33;		    }		} while (YES); loop33: ;		}	}	@finally {		ruleNestingLevel--;        // rule cleanup		// token labels		// token+rule list labels		// rule labels		// rule refs in alts with rewrites		if ( backtracking == 0 ) {		}	}	return;}// $ANTLR end QID- (void) mQIDStar{	// token labels	// token+rule list labels	// rule labels	// rule list labels	// rule refs in alts with rewrites	@try {		ruleNestingLevel++;		// FuzzyJava.gl:68:4: ( ID ( '.' ID )* ( '.*' )? ) // ruleBlockSingleAlt		// FuzzyJava.gl:68:4: ID ( '.' ID )* ( '.*' )? // alt		{		[self mID];		if (failed) return ;		do {		    int alt34=2;		    {		    	int LA34_0 = [input LA:1];		    	if ( LA34_0=='.' ) {		    		{		    			int LA34_1 = [input LA:2];		    			if ( (LA34_1>='A' && LA34_1<='Z')||LA34_1=='_'||(LA34_1>='a' && LA34_1<='z') ) {		    				alt34 = 1;		    			}		    		}		    	}		    }		    switch (alt34) {			case 1 :			    // FuzzyJava.gl:68:8: '.' ID // alt			    {			    [self matchChar:'.'];			    if (failed) return ;			    [self mID];			    if (failed) return ;			    }			    break;			default :			    goto loop34;		    }		} while (YES); loop34: ;		// FuzzyJava.gl:68:17: ( '.*' )? // block		int alt35=2;		{			int LA35_0 = [input LA:1];			if ( LA35_0=='.' ) {				alt35 = 1;			}		}		switch (alt35) {			case 1 :			    // FuzzyJava.gl:68:17: '.*' // alt			    {			    [self matchString:@".*"];			    if (failed) return ;			    }			    break;		}		}	}	@finally {		ruleNestingLevel--;        // rule cleanup		// token labels		// token+rule list labels		// rule labels		// rule refs in alts with rewrites		if ( backtracking == 0 ) {		}	}	return;}// $ANTLR end QIDStar- (void) mTYPE{	// token labels	// token+rule list labels	// rule labels	// rule list labels	// rule refs in alts with rewrites	@try {		ruleNestingLevel++;		// FuzzyJava.gl:72:9: ( QID ( '[]' )? ) // ruleBlockSingleAlt		// FuzzyJava.gl:72:9: QID ( '[]' )? // alt		{		[self mQID];		if (failed) return ;		// FuzzyJava.gl:72:13: ( '[]' )? // block		int alt36=2;		{			int LA36_0 = [input LA:1];			if ( LA36_0=='[' ) {				alt36 = 1;			}		}		switch (alt36) {			case 1 :			    // FuzzyJava.gl:72:13: '[]' // alt			    {			    [self matchString:@"[]"];			    if (failed) return ;			    }			    break;		}		}	}	@finally {		ruleNestingLevel--;        // rule cleanup		// token labels		// token+rule list labels		// rule labels		// rule refs in alts with rewrites		if ( backtracking == 0 ) {		}	}	return;}// $ANTLR end TYPE- (void) mARG{	// token labels	// token+rule list labels	// rule labels	// rule list labels	// rule refs in alts with rewrites	@try {		ruleNestingLevel++;		// FuzzyJava.gl:76:9: ( TYPE WS ID ) // ruleBlockSingleAlt		// FuzzyJava.gl:76:9: TYPE WS ID // alt		{		[self mTYPE];		if (failed) return ;		[self mWS];		if (failed) return ;		[self mID];		if (failed) return ;		}	}	@finally {		ruleNestingLevel--;        // rule cleanup

⌨️ 快捷键说明

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