📄 guseparser.java
字号:
} case LPAREN: case IDENT: case LITERAL_iterate: case LITERAL_oclAsType: case LITERAL_oclIsKindOf: case LITERAL_oclIsTypeOf: case LITERAL_if: case LITERAL_true: case LITERAL_false: case INT: case REAL: case STRING: case HASH: case LITERAL_Set: case LITERAL_Sequence: case LITERAL_Bag: case LITERAL_oclEmpty: case LITERAL_oclUndefined: case LITERAL_Tuple: { n=postfixExpression(); break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } catch (RecognitionException ex) { reportError(ex); consume(); consumeUntil(_tokenSet_27); } return n; } public final ASTExpression postfixExpression() throws RecognitionException, TokenStreamException { ASTExpression n; boolean arrow; n = null; try { // for error handling n=primaryExpression(); { _loop128: do { if ((LA(1)==ARROW||LA(1)==DOT)) { { switch ( LA(1)) { case ARROW: { match(ARROW); arrow = true; break; } case DOT: { match(DOT); arrow = false; break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } n=propertyCall(n, arrow); } else { break _loop128; } } while (true); } } catch (RecognitionException ex) { reportError(ex); consume(); consumeUntil(_tokenSet_27); } return n; } public final ASTExpression primaryExpression() throws RecognitionException, TokenStreamException { ASTExpression n; Token id1 = null; n = null; try { // for error handling switch ( LA(1)) { case LITERAL_true: case LITERAL_false: case INT: case REAL: case STRING: case HASH: case LITERAL_Set: case LITERAL_Sequence: case LITERAL_Bag: case LITERAL_oclEmpty: case LITERAL_oclUndefined: case LITERAL_Tuple: { n=literal(); break; } case LPAREN: { match(LPAREN); n=expression(); match(RPAREN); break; } case LITERAL_if: { n=ifExpression(); break; } default: if ((_tokenSet_28.member(LA(1))) && (_tokenSet_29.member(LA(2))) && (_tokenSet_30.member(LA(3)))) { n=propertyCall(null, false); } else if ((LA(1)==IDENT) && (LA(2)==DOT) && (LA(3)==LITERAL_allInstances)) { id1 = LT(1); match(IDENT); match(DOT); match(LITERAL_allInstances); n = new ASTAllInstancesExpression((MyToken) id1); } else { throw new NoViableAltException(LT(1), getFilename()); } } } catch (RecognitionException ex) { reportError(ex); consume(); consumeUntil(_tokenSet_31); } return n; } public final ASTExpression propertyCall( ASTExpression source, boolean followsArrow ) throws RecognitionException, TokenStreamException { ASTExpression n; n = null; try { // for error handling switch ( LA(1)) { case LITERAL_iterate: { n=iterateExpression(source); break; } case LITERAL_oclAsType: case LITERAL_oclIsKindOf: case LITERAL_oclIsTypeOf: { n=typeExpression(source, followsArrow); break; } default: if (((LA(1)==IDENT) && (LA(2)==LPAREN) && (_tokenSet_32.member(LA(3))) && (_tokenSet_33.member(LA(4))) && (_tokenSet_34.member(LA(5))))&&( isQueryIdent(LT(1)) )) { n=queryExpression(source); } else if ((LA(1)==IDENT) && (_tokenSet_29.member(LA(2))) && (_tokenSet_35.member(LA(3))) && (_tokenSet_36.member(LA(4))) && (_tokenSet_37.member(LA(5)))) { n=operationExpression(source, followsArrow); } else { throw new NoViableAltException(LT(1), getFilename()); } } } catch (RecognitionException ex) { reportError(ex); consume(); consumeUntil(_tokenSet_31); } return n; } public final ASTExpression literal() throws RecognitionException, TokenStreamException { ASTExpression n; Token t = null; Token f = null; Token i = null; Token r = null; Token s = null; Token enumLit = null; n = null; try { // for error handling switch ( LA(1)) { case LITERAL_true: { t = LT(1); match(LITERAL_true); n = new ASTBooleanLiteral(true); break; } case LITERAL_false: { f = LT(1); match(LITERAL_false); n = new ASTBooleanLiteral(false); break; } case INT: { i = LT(1); match(INT); n = new ASTIntegerLiteral((MyToken) i); break; } case REAL: { r = LT(1); match(REAL); n = new ASTRealLiteral((MyToken) r); break; } case STRING: { s = LT(1); match(STRING); n = new ASTStringLiteral((MyToken) s); break; } case HASH: { match(HASH); enumLit = LT(1); match(IDENT); n = new ASTEnumLiteral((MyToken) enumLit); break; } case LITERAL_Set: case LITERAL_Sequence: case LITERAL_Bag: { n=collectionLiteral(); break; } case LITERAL_oclEmpty: { n=emptyCollectionLiteral(); break; } case LITERAL_oclUndefined: { n=undefinedLiteral(); break; } case LITERAL_Tuple: { n=tupleLiteral(); break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } catch (RecognitionException ex) { reportError(ex); consume(); consumeUntil(_tokenSet_31); } return n; } public final ASTExpression ifExpression() throws RecognitionException, TokenStreamException { ASTExpression n; Token i = null; ASTExpression cond, t, e; n = null; try { // for error handling i = LT(1); match(LITERAL_if); cond=expression(); match(LITERAL_then); t=expression(); match(LITERAL_else); e=expression(); match(LITERAL_endif); n = new ASTIfExpression((MyToken) i, cond, t, e); } catch (RecognitionException ex) { reportError(ex); consume(); consumeUntil(_tokenSet_31); } return n; } public final ASTExpression queryExpression( ASTExpression range ) throws RecognitionException, TokenStreamException { ASTExpression n; Token op = null; ASTElemVarsDeclaration decls = new ASTElemVarsDeclaration(); n = null; try { // for error handling op = LT(1); match(IDENT); match(LPAREN); { if ((LA(1)==IDENT) && (LA(2)==COMMA||LA(2)==COLON||LA(2)==BAR)) { decls=elemVarsDeclaration(); match(BAR); } else if ((_tokenSet_32.member(LA(1))) && (_tokenSet_38.member(LA(2)))) { } else { throw new NoViableAltException(LT(1), getFilename()); } } n=expression(); match(RPAREN); n = new ASTQueryExpression((MyToken) op, range, decls, n); } catch (RecognitionException ex) { reportError(ex); consume(); consumeUntil(_tokenSet_31); } return n; } public final ASTExpression iterateExpression( ASTExpression range ) throws RecognitionException, TokenStreamException { ASTExpression n; Token i = null; ASTElemVarsDeclaration decls = null; ASTVariableInitialization init = null; n = null; try { // for error handling i = LT(1); match(LITERAL_iterate); match(LPAREN); decls=elemVarsDeclaration(); match(SEMI); init=variableInitialization(); match(BAR); n=expression(); match(RPAREN); n = new ASTIterateExpression((MyToken) i, range, decls, init, n); } catch (RecognitionException ex) { reportError(ex); consume(); consumeUntil(_tokenSet_31); } return n; } public final ASTOperationExpression operationExpression( ASTExpression source, boolean followsArrow ) throws RecognitionException, TokenStreamException { ASTOperationExpression n; Token name = null; Token rolename = null; ASTExpression e; n = null; try { // for error handling name = LT(1); match(IDENT); n = new ASTOperationExpression((MyToken) name, source, followsArrow); { switch ( LA(1)) { case LBRACK: { match(LBRACK); rolename = LT(1); match(IDENT); match(RBRACK); n.setExplicitRolename((MyToken) rolename); break; } case EOF: case LPAREN: case COMMA: case RPAREN: case IDENT: case EQUAL: case LITERAL_in: case LITERAL_implies: case LITERAL_or: case LITERAL_xor: case LITERAL_and: case NOT_EQUAL: case LESS: case GREATER: case LESS_EQUAL: case GREATER_EQUAL: case PLUS: case MINUS: case STAR: case SLASH: case LITERAL_div: case ARROW: case DOT: case BAR: case SEMI: case AT: case LITERAL_pre: case LITERAL_then: case LITERAL_else: case LITERAL_endif: case RBRACE: case DOTDOT: case LITERAL_constraints: case LITERAL_abstract: case LITERAL_class: case LITERAL_end: case LITERAL_associationClass: case LITERAL_associationclass: case LITERAL_aggregation: case LITERAL_composition: case LITERAL_association: case LITERAL_context: case LITERAL_inv: case LITERAL_post: { break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } { switch ( LA(1)) { case AT: { match(AT); match(LITERAL_pre); n.setIsPre(); break; } case EOF: case LPAREN: case COMMA: case RPAREN: case IDENT: case EQUAL: case LITERAL_in: case LITERAL_implies: case LITERAL_or: case LITERAL_xor: case LITERAL_and: case NOT_EQUAL: case LESS: case GREATER: case LESS_EQUAL: case GREATER_EQUAL: case PLUS: case MINUS: case STAR: case SLASH: case LITERAL_div: case ARROW: case DOT: case BAR: case SEMI: case LITERAL_pre: case LITERAL_then: case LITERAL_else: case LITERAL_endif: case RBRACE: case DOTDOT: case LITERAL_constraints: case LITERAL_abstract: case LITERAL_class: case LITERAL_end: case LITERAL_associationClass: case LITERAL_associationclass: case LITERAL_aggregation: case LITERAL_composition: case LITERAL_association: case LITERAL_context: case LITERAL_inv: case LITERAL_post: { break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } { switch ( LA(1)) { case LPAREN: { match(LPAREN); n.hasParentheses(); { switch ( LA(1)) { case LPAREN: case IDENT: case LITERAL_let: case PLUS: case MINUS: case LITERAL_not: case LITERAL_iterate: case LITERAL_oclAsType: case LITERAL_oclIsKindOf: case LITERAL_oclIsTypeOf: case LITERAL_if: case LITERAL_true: case LITERAL_false: case INT: case REAL: case STRING: case HASH: case LITERAL_Set: case LITERAL_Sequence: case LITERAL_Bag: case LITERAL_oclEmpty: case LITERAL_oclUndefined: case LITERAL_Tuple: { e=expression(); n.addArg(e); { _loop140: do { if ((LA(1)==COMMA)) { match(COMMA); e=expression(); n.addArg(e); } else { break _loop140; } } while (true); } break; } case RPAREN: { break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } match(RPAREN); break; } case EOF: case COMMA: case RPAREN: case IDENT: case EQUAL: case LITERAL_in: case LITERAL_implies: case LITERAL_or: case LITERAL_xor: case LITERAL_and: case NOT_EQUAL: case LESS: case GREATER: case LESS_EQUAL: case GREATER_EQUAL: case PLUS: case MINUS: case STAR: case SLASH: case LITERAL_div: case ARROW: case DOT: case BAR: case SEMI: case LITERAL_pre: case LITERAL_then: case LITERAL_else: case LITERAL_endif: case RBRACE: case DOTDOT: case LITERAL_constraints: case LITERAL_abstract: case LITERAL_class: case LITERAL_end: case LITERAL_associationClass: case LITERAL_associationclass: case LITERAL_aggregation: case LITERAL_composition: case LITERAL_association: case LITERAL_context: case LITERAL_inv: case LITERAL_post: { break; } default: { throw new NoViableAltException(LT(1), getFilename()); } } } } catch (RecognitionException ex) { reportError(ex); consume(); consumeUntil(_tokenSet_31); } return n; } public final ASTTypeArgExpression typeExpression( ASTExpression source, boolean followsArrow ) throws RecognitionException, TokenStreamException { ASTTypeArgExpression n; ASTType t = null; n = null; try { // for error handling MyToken opToken = (MyToken) LT(1); { switch ( LA(1)) { case LITERAL_oclAsType: { match(LITERAL_oclAsType); break; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -