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

📄 fuzzyjavalexer.m

📁 antlr最新版本V3源代码
💻 M
📖 第 1 页 / 共 4 页
字号:
			    	    int alt14=2;			    	    {			    	    	int LA14_0 = [input LA:1];			    	    	if ( (LA14_0>='\t' && LA14_0<='\n')||LA14_0==' ' ) {			    	    		alt14 = 1;			    	    	}			    	    }			    	    switch (alt14) {			    	    	case 1 :			    	    	    // FuzzyJava.gl:20:56: WS // alt			    	    	    {			    	    	    [self mWS];			    	    	    if (failed) return ;			    	    	    }			    	    	    break;			    	    }			    	    }			    	    break;			    	default :			    	    goto loop15;			        }			    } while (YES); loop15: ;			    }			    break;		}		[self matchChar:')'];		if (failed) return ;		// FuzzyJava.gl:20:69: ( WS )? // block		int alt17=2;		{			int LA17_0 = [input LA:1];			if ( (LA17_0>='\t' && LA17_0<='\n')||LA17_0==' ' ) {				alt17 = 1;			}		}		switch (alt17) {			case 1 :			    // FuzzyJava.gl:20:69: WS // alt			    {			    [self mWS];			    if (failed) return ;			    }			    break;		}		// FuzzyJava.gl:21:8: ( 'throws' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* )? // block		int alt22=2;		{			int LA22_0 = [input LA:1];			if ( LA22_0=='t' ) {				alt22 = 1;			}		}		switch (alt22) {			case 1 :			    // FuzzyJava.gl:21:9: 'throws' WS QID ( WS )? ( ',' ( WS )? QID ( WS )? )* // alt			    {			    [self matchString:@"throws"];			    if (failed) return ;			    [self mWS];			    if (failed) return ;			    [self mQID];			    if (failed) return ;			    // FuzzyJava.gl:21:25: ( WS )? // block			    int alt18=2;			    {			    	int LA18_0 = [input LA:1];			    	if ( (LA18_0>='\t' && LA18_0<='\n')||LA18_0==' ' ) {			    		alt18 = 1;			    	}			    }			    switch (alt18) {			    	case 1 :			    	    // FuzzyJava.gl:21:25: WS // alt			    	    {			    	    [self mWS];			    	    if (failed) return ;			    	    }			    	    break;			    }			    do {			        int alt21=2;			        {			        	int LA21_0 = [input LA:1];			        	if ( LA21_0==',' ) {			        		alt21 = 1;			        	}			        }			        switch (alt21) {			    	case 1 :			    	    // FuzzyJava.gl:21:30: ',' ( WS )? QID ( WS )? // alt			    	    {			    	    [self matchChar:','];			    	    if (failed) return ;			    	    // FuzzyJava.gl:21:34: ( WS )? // block			    	    int alt19=2;			    	    {			    	    	int LA19_0 = [input LA:1];			    	    	if ( (LA19_0>='\t' && LA19_0<='\n')||LA19_0==' ' ) {			    	    		alt19 = 1;			    	    	}			    	    }			    	    switch (alt19) {			    	    	case 1 :			    	    	    // FuzzyJava.gl:21:34: WS // alt			    	    	    {			    	    	    [self mWS];			    	    	    if (failed) return ;			    	    	    }			    	    	    break;			    	    }			    	    [self mQID];			    	    if (failed) return ;			    	    // FuzzyJava.gl:21:42: ( WS )? // block			    	    int alt20=2;			    	    {			    	    	int LA20_0 = [input LA:1];			    	    	if ( (LA20_0>='\t' && LA20_0<='\n')||LA20_0==' ' ) {			    	    		alt20 = 1;			    	    	}			    	    }			    	    switch (alt20) {			    	    	case 1 :			    	    	    // FuzzyJava.gl:21:42: WS // alt			    	    	    {			    	    	    [self mWS];			    	    	    if (failed) return ;			    	    	    }			    	    	    break;			    	    }			    	    }			    	    break;			    	default :			    	    goto loop21;			        }			    } while (YES); loop21: ;			    }			    break;		}		[self matchChar:'{'];		if (failed) return ;		if ( backtracking==1 ) {		  NSLog(@"found method %@", [_name 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		[_name release];		// token+rule list labels		// rule labels		// rule refs in alts with rewrites		if ( backtracking == 0 ) {		}	}	return;}// $ANTLR end METHOD- (void) mFIELD{	// token labels	ANTLRToken * _name = nil;	// token+rule list labels	// rule labels	// rule list labels	// rule refs in alts with rewrites	@try {		ruleNestingLevel++;		int _type = FuzzyJavaLexer_FIELD;		int _start = [self charIndex];		int _line = [self line];		int _charPosition = [self charPositionInLine];		int _channel = [ANTLRToken defaultChannel];		// FuzzyJava.gl:26:9: ( TYPE WS name= ID ( '[]' )? ( WS )? (';'|'=')) // ruleBlockSingleAlt		// FuzzyJava.gl:26:9: TYPE WS name= ID ( '[]' )? ( WS )? (';'|'=') // alt		{		[self mTYPE];		if (failed) return ;		[self mWS];		if (failed) return ;		int _nameStart = [self charIndex];		[self mID];		if (failed) return ;		_name = [[ANTLRCommonToken alloc] initWithInput:input tokenType:ANTLRTokenTypeInvalid channel:ANTLRTokenChannelDefault start:_nameStart stop:[self charIndex]];		[_name setLine:[self line]];		// FuzzyJava.gl:26:25: ( '[]' )? // block		int alt23=2;		{			int LA23_0 = [input LA:1];			if ( LA23_0=='[' ) {				alt23 = 1;			}		}		switch (alt23) {			case 1 :			    // FuzzyJava.gl:26:25: '[]' // alt			    {			    [self matchString:@"[]"];			    if (failed) return ;			    }			    break;		}		// FuzzyJava.gl:26:31: ( WS )? // block		int alt24=2;		{			int LA24_0 = [input LA:1];			if ( (LA24_0>='\t' && LA24_0<='\n')||LA24_0==' ' ) {				alt24 = 1;			}		}		switch (alt24) {			case 1 :			    // FuzzyJava.gl:26:31: WS // alt			    {			    [self mWS];			    if (failed) return ;			    }			    break;		}		if ([input LA:1]==';'||[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;		}		if ( backtracking==1 ) {		  NSLog(@"found var %@", [_name 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		[_name release];		// token+rule list labels		// rule labels		// rule refs in alts with rewrites		if ( backtracking == 0 ) {		}	}	return;}// $ANTLR end FIELD- (void) mSTAT{	// token labels	// token+rule list labels	// rule labels	// rule list labels	// rule refs in alts with rewrites	@try {		ruleNestingLevel++;		int _type = FuzzyJavaLexer_STAT;		int _start = [self charIndex];		int _line = [self line];		int _charPosition = [self charPositionInLine];		int _channel = [ANTLRToken defaultChannel];		// FuzzyJava.gl:30:7: ( ( 'if' | 'while' | 'switch' | 'for' ) ( WS )? '(' ) // ruleBlockSingleAlt		// FuzzyJava.gl:30:7: ( 'if' | 'while' | 'switch' | 'for' ) ( WS )? '(' // alt		{		// FuzzyJava.gl:30:7: ( 'if' | 'while' | 'switch' | 'for' ) // block		int alt25=4;		switch ([input LA:1]) {			case 'i':				alt25 = 1;				break;			case 'w':				alt25 = 2;				break;			case 's':				alt25 = 3;				break;			case 'f':				alt25 = 4;				break;		default:		 {			if (backtracking > 0) {failed=YES; return ;}		    ANTLRNoViableAltException *nvae = [ANTLRNoViableAltException exceptionWithDecision:25 state:0 stream:input];			@throw nvae;			}}		switch (alt25) {			case 1 :			    // FuzzyJava.gl:30:8: 'if' // alt			    {			    [self matchString:@"if"];			    if (failed) return ;			    }			    break;			case 2 :			    // FuzzyJava.gl:30:13: 'while' // alt			    {			    [self matchString:@"while"];			    if (failed) return ;			    }			    break;			case 3 :			    // FuzzyJava.gl:30:21: 'switch' // alt			    {			    [self matchString:@"switch"];			    if (failed) return ;			    }			    break;			case 4 :			    // FuzzyJava.gl:30:30: 'for' // alt			    {			    [self matchString:@"for"];			    if (failed) return ;			    }			    break;		}		// FuzzyJava.gl:30:37: ( WS )? // block		int alt26=2;		{			int LA26_0 = [input LA:1];			if ( (LA26_0>='\t' && LA26_0<='\n')||LA26_0==' ' ) {				alt26 = 1;			}		}		switch (alt26) {			case 1 :			    // FuzzyJava.gl:30:37: WS // alt			    {			    [self mWS];			    if (failed) return ;			    }			    break;		}		[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 STAT- (void) mCALL{	// token labels	ANTLRToken * _name = nil;	// token+rule list labels	// rule labels	// rule list labels	// rule refs in alts with rewrites	@try {		ruleNestingLevel++;		int _type = FuzzyJavaLexer_CALL;		int _start = [self charIndex];		int _line = [self line];		int _charPosition = [self charPositionInLine];		int _channel = [ANTLRToken defaultChannel];		// FuzzyJava.gl:33:9: (name= QID ( WS )? '(' ) // ruleBlockSingleAlt		// FuzzyJava.gl:33:9: name= QID ( WS )? '(' // alt		{		int _nameStart = [self charIndex];		[self mQID];		if (failed) return ;		_name = [[ANTLRCommonToken alloc] initWithInput:input tokenType:ANTLRTokenTypeInvalid channel:ANTLRTokenChannelDefault start:_nameStart stop:[self charIndex]];		[_name setLine:[self line]];		// FuzzyJava.gl:33:18: ( WS )? // block		int alt27=2;		{			int LA27_0 = [input LA:1];			if ( (LA27_0>='\t' && LA27_0<='\n')||LA27_0==' ' ) {				alt27 = 1;			}		}		switch (alt27) {			case 1 :			    // FuzzyJava.gl:33:18: WS // alt			    {			    [self mWS];			    if (failed) return ;			    }			    break;		}		[self matchChar:'('];		if (failed) return ;		if ( backtracking==1 ) {		  /*ignore if this/super */ NSLog(@"found call %@",[_name 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		[_name release];		// token+rule list labels		// rule labels		// rule refs in alts with rewrites		if ( backtracking == 0 ) {		}	}	return;}// $ANTLR end CALL- (void) mCOMMENT{	// token labels	// token+rule list labels	// rule labels	// rule list labels	// rule refs in alts with rewrites	@try {		ruleNestingLevel++;		int _type = FuzzyJavaLexer_COMMENT;		int _start = [self charIndex];		int _line = [self line];		int _charPosition = [self charPositionInLine];		int _channel = [ANTLRToken defaultChannel];		// FuzzyJava.gl:38:9: ( '/*' ( options {greedy=false; } : . )* '*/' ) // ruleBlockSingleAlt		// FuzzyJava.gl:38:9: '/*' ( options {greedy=false; } : . )* '*/' // alt		{		[self matchString:@"/*"];		if (failed) return ;		do {		    int alt28=2;		    {		    	int LA28_0 = [input LA:1];		    	if ( LA28_0=='*' ) {		    		{		    			int LA28_1 = [input LA:2];		    			if ( LA28_1=='/' ) {		    				alt28 = 2;		    			}		    			else if ( (LA28_1>=0x0000 && LA28_1<='.')||(LA28_1>='0' && LA28_1<=0xFFFE) ) {		    				alt28 = 1;		    			}		    		}		    	}		    	else if ( (LA28_0>=0x0000 && LA28_0<=')')||(LA28_0>='+' && LA28_0<=0xFFFE) ) {		    		alt28 = 1;		    	}		    }		    switch (alt28) {			case 1 :			    // FuzzyJava.gl:38:41: . // alt			    {			    [self matchAny];			    if (failed) return ;			    }			    break;			default :			    goto loop28;		    }		} while (YES); loop28: ;		[self matchString:@"*/"];		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 COMMENT

⌨️ 快捷键说明

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