📄 validator.java
字号:
break; case 73: { alt8=7; } break; case 72: { alt8=8; } break; case 69: { alt8=9; } break; case 74: { alt8=10; } break; case 75: { alt8=11; } break; case 76: { alt8=12; } break; case 77: { alt8=13; } break; case NEGATE: { alt8=14; } break; case NOT: { alt8=15; } break; case NUM: { alt8=16; } break; case VAR: { alt8=17; } break; case INDEX: { alt8=18; } break; case PREFIX: { alt8=19; } break; case POSTFIX: { alt8=20; } break; case CALL: { alt8=21; } break; case ASSIGN: { int LA8_22 = input.LA(2); if ( (LA8_22==DOWN) ) { int LA8_23 = input.LA(3); if ( (LA8_23==ID) ) { alt8=22; } else if ( (LA8_23==INDEX) ) { alt8=23; } else { NoViableAltException nvae = new NoViableAltException("66:1: expr : ( ^( ( 'or' | '||' ) expr expr ) | ^( ( 'and' | '&&' ) expr expr ) | ^( '==' expr expr ) | ^( '!=' expr expr ) | ^( '>' expr expr ) | ^( '<' expr expr ) | ^( '>=' expr expr ) | ^( '<=' expr expr ) | ^( '<>' expr expr ) | ^( '+' expr expr ) | ^( '-' expr expr ) | ^( '*' expr expr ) | ^( '/' expr expr ) | ^( NEGATE expr ) | ^( NOT expr ) | ^( NUM INT ) | ^( VAR ID ) | ^( INDEX ID expr ) | ^( PREFIX ^( VAR ID ) ^( NUM INT ) ) | ^( POSTFIX ^( VAR ID ) ^( NUM INT ) ) | call | ^( ASSIGN ID expr ) | ^( ASSIGN ^( INDEX ID expr ) expr ) );", 8, 23, input); throw nvae; } } else { NoViableAltException nvae = new NoViableAltException("66:1: expr : ( ^( ( 'or' | '||' ) expr expr ) | ^( ( 'and' | '&&' ) expr expr ) | ^( '==' expr expr ) | ^( '!=' expr expr ) | ^( '>' expr expr ) | ^( '<' expr expr ) | ^( '>=' expr expr ) | ^( '<=' expr expr ) | ^( '<>' expr expr ) | ^( '+' expr expr ) | ^( '-' expr expr ) | ^( '*' expr expr ) | ^( '/' expr expr ) | ^( NEGATE expr ) | ^( NOT expr ) | ^( NUM INT ) | ^( VAR ID ) | ^( INDEX ID expr ) | ^( PREFIX ^( VAR ID ) ^( NUM INT ) ) | ^( POSTFIX ^( VAR ID ) ^( NUM INT ) ) | call | ^( ASSIGN ID expr ) | ^( ASSIGN ^( INDEX ID expr ) expr ) );", 8, 22, input); throw nvae; } } break; default: NoViableAltException nvae = new NoViableAltException("66:1: expr : ( ^( ( 'or' | '||' ) expr expr ) | ^( ( 'and' | '&&' ) expr expr ) | ^( '==' expr expr ) | ^( '!=' expr expr ) | ^( '>' expr expr ) | ^( '<' expr expr ) | ^( '>=' expr expr ) | ^( '<=' expr expr ) | ^( '<>' expr expr ) | ^( '+' expr expr ) | ^( '-' expr expr ) | ^( '*' expr expr ) | ^( '/' expr expr ) | ^( NEGATE expr ) | ^( NOT expr ) | ^( NUM INT ) | ^( VAR ID ) | ^( INDEX ID expr ) | ^( PREFIX ^( VAR ID ) ^( NUM INT ) ) | ^( POSTFIX ^( VAR ID ) ^( NUM INT ) ) | call | ^( ASSIGN ID expr ) | ^( ASSIGN ^( INDEX ID expr ) expr ) );", 8, 0, input); throw nvae; } switch (alt8) { case 1 : // Validator.g:67:4: ^( ( 'or' | '||' ) expr expr ) { if ( (input.LA(1)>=63 && input.LA(1)<=64) ) { input.consume(); errorRecovery=false; } else { MismatchedSetException mse = new MismatchedSetException(null,input); recoverFromMismatchedSet(input,mse,FOLLOW_set_in_expr329); throw mse; } match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr335); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr337); expr(); _fsp--; match(input, Token.UP, null); } break; case 2 : // Validator.g:68:5: ^( ( 'and' | '&&' ) expr expr ) { if ( (input.LA(1)>=65 && input.LA(1)<=66) ) { input.consume(); errorRecovery=false; } else { MismatchedSetException mse = new MismatchedSetException(null,input); recoverFromMismatchedSet(input,mse,FOLLOW_set_in_expr347); throw mse; } match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr353); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr355); expr(); _fsp--; match(input, Token.UP, null); } break; case 3 : // Validator.g:69:5: ^( '==' expr expr ) { match(input,67,FOLLOW_67_in_expr365); match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr367); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr369); expr(); _fsp--; match(input, Token.UP, null); } break; case 4 : // Validator.g:70:5: ^( '!=' expr expr ) { match(input,68,FOLLOW_68_in_expr380); match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr382); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr384); expr(); _fsp--; match(input, Token.UP, null); } break; case 5 : // Validator.g:71:5: ^( '>' expr expr ) { match(input,70,FOLLOW_70_in_expr395); match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr397); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr399); expr(); _fsp--; match(input, Token.UP, null); } break; case 6 : // Validator.g:72:5: ^( '<' expr expr ) { match(input,71,FOLLOW_71_in_expr410); match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr412); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr414); expr(); _fsp--; match(input, Token.UP, null); } break; case 7 : // Validator.g:73:5: ^( '>=' expr expr ) { match(input,73,FOLLOW_73_in_expr425); match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr427); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr429); expr(); _fsp--; match(input, Token.UP, null); } break; case 8 : // Validator.g:74:5: ^( '<=' expr expr ) { match(input,72,FOLLOW_72_in_expr440); match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr442); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr444); expr(); _fsp--; match(input, Token.UP, null); } break; case 9 : // Validator.g:75:5: ^( '<>' expr expr ) { match(input,69,FOLLOW_69_in_expr455); match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr457); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr459); expr(); _fsp--; match(input, Token.UP, null); } break; case 10 : // Validator.g:76:5: ^( '+' expr expr ) { match(input,74,FOLLOW_74_in_expr470); match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr472); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr474); expr(); _fsp--; match(input, Token.UP, null); } break; case 11 : // Validator.g:77:5: ^( '-' expr expr ) { match(input,75,FOLLOW_75_in_expr486); match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr488); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr490); expr(); _fsp--; match(input, Token.UP, null); } break; case 12 : // Validator.g:78:5: ^( '*' expr expr ) { match(input,76,FOLLOW_76_in_expr502); match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr504); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr506); expr(); _fsp--; match(input, Token.UP, null); } break; case 13 : // Validator.g:79:5: ^( '/' expr expr ) { match(input,77,FOLLOW_77_in_expr518); match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr520); expr(); _fsp--; pushFollow(FOLLOW_expr_in_expr522); expr(); _fsp--; match(input, Token.UP, null); } break; case 14 : // Validator.g:80:5: ^( NEGATE expr ) { match(input,NEGATE,FOLLOW_NEGATE_in_expr534); match(input, Token.DOWN, null); pushFollow(FOLLOW_expr_in_expr536);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -