// $ANTLR start "propertyExpr" // nu/cotentin/parsing/cotentinel/CotentinELTree.g:67:1: propertyExpr returns [ExprNode result] : // (id= ID (acc= accessor )? (prop= propertyExpr )? ) ; public final ExprNode propertyExpr() throws RecognitionException { ExprNode result = null; CommonTree id = null; ExprNode acc = null; ExprNode prop = null; try { // nu/cotentin/parsing/cotentinel/CotentinELTree.g:67:39: ( (id= ID (acc= accessor )? (prop= // propertyExpr )? ) ) // nu/cotentin/parsing/cotentinel/CotentinELTree.g:68:2: (id= ID (acc= accessor )? (prop= // propertyExpr )? ) { // nu/cotentin/parsing/cotentinel/CotentinELTree.g:68:2: (id= ID (acc= accessor )? (prop= // propertyExpr )? ) // nu/cotentin/parsing/cotentinel/CotentinELTree.g:68:2: id= ID (acc= accessor )? (prop= // propertyExpr )? { id = (CommonTree) match(input, ID, FOLLOW_ID_in_propertyExpr246); if (state.failed) return result; // nu/cotentin/parsing/cotentinel/CotentinELTree.g:68:11: (acc= accessor )? int alt7 = 2; switch (input.LA(1)) { case NUMBER: case STRING: { alt7 = 1; } break; } switch (alt7) { case 1: // nu/cotentin/parsing/cotentinel/CotentinELTree.g:68:11: acc= accessor { pushFollow(FOLLOW_accessor_in_propertyExpr250); acc = accessor(); state._fsp--; if (state.failed) return result; } break; } // nu/cotentin/parsing/cotentinel/CotentinELTree.g:68:26: (prop= propertyExpr )? int alt8 = 2; switch (input.LA(1)) { case ID: { alt8 = 1; } break; } switch (alt8) { case 1: // nu/cotentin/parsing/cotentinel/CotentinELTree.g:68:26: prop= propertyExpr { pushFollow(FOLLOW_propertyExpr_in_propertyExpr255); prop = propertyExpr(); state._fsp--; if (state.failed) return result; } break; } } if (state.backtracking == 0) { result = new IdentifierNode(id.getText()); ExprNode cur = result; if (acc != null) { result.getChildren().add(acc); cur = acc; } if (prop != null) { cur.getChildren().add(prop); } } } } catch (RecognitionException re) { reportError(re); recover(input, re); } finally { // do for sure before leaving } return result; }
// $ANTLR start "expr1" // nu/cotentin/parsing/cotentinel/CotentinELTree.g:42:1: expr1 returns [ExprNode result] : (left= // atom (op= op2 right= atom )* ) ; public final ExprNode expr1() throws RecognitionException { ExprNode result = null; ExprNode left = null; ExprNode op = null; ExprNode right = null; try { // nu/cotentin/parsing/cotentinel/CotentinELTree.g:42:32: ( (left= atom (op= op2 right= atom // )* ) ) // nu/cotentin/parsing/cotentinel/CotentinELTree.g:43:2: (left= atom (op= op2 right= atom )* ) { // nu/cotentin/parsing/cotentinel/CotentinELTree.g:43:2: (left= atom (op= op2 right= atom )* // ) // nu/cotentin/parsing/cotentinel/CotentinELTree.g:43:2: left= atom (op= op2 right= atom )* { pushFollow(FOLLOW_atom_in_expr1106); left = atom(); state._fsp--; if (state.failed) return result; if (state.backtracking == 0) { result = left; } // nu/cotentin/parsing/cotentinel/CotentinELTree.g:43:30: (op= op2 right= atom )* loop2: do { int alt2 = 2; switch (input.LA(1)) { case OP_ADD: case OP_SUB: { alt2 = 1; } break; } switch (alt2) { case 1: // nu/cotentin/parsing/cotentinel/CotentinELTree.g:43:31: op= op2 right= atom { pushFollow(FOLLOW_op2_in_expr1113); op = op2(); state._fsp--; if (state.failed) return result; pushFollow(FOLLOW_atom_in_expr1117); right = atom(); state._fsp--; if (state.failed) return result; if (state.backtracking == 0) { op.getChildren().add(result); op.getChildren().add(right); result = op; } } break; default: break loop2; } } while (true); } } } catch (RecognitionException re) { reportError(re); recover(input, re); } finally { // do for sure before leaving } return result; }
// $ANTLR start "objExpr" // nu/cotentin/parsing/cotentinel/CotentinELTree.g:56:1: objExpr returns [ExprNode result] : ( // (loc= LOCATOR )? prop= propertyExpr ) ; public final ExprNode objExpr() throws RecognitionException { ExprNode result = null; CommonTree loc = null; ExprNode prop = null; try { // nu/cotentin/parsing/cotentinel/CotentinELTree.g:56:34: ( ( (loc= LOCATOR )? prop= // propertyExpr ) ) // nu/cotentin/parsing/cotentinel/CotentinELTree.g:57:2: ( (loc= LOCATOR )? prop= propertyExpr // ) { // nu/cotentin/parsing/cotentinel/CotentinELTree.g:57:2: ( (loc= LOCATOR )? prop= // propertyExpr ) // nu/cotentin/parsing/cotentinel/CotentinELTree.g:57:2: (loc= LOCATOR )? prop= propertyExpr { // nu/cotentin/parsing/cotentinel/CotentinELTree.g:57:5: (loc= LOCATOR )? int alt6 = 2; switch (input.LA(1)) { case LOCATOR: { alt6 = 1; } break; } switch (alt6) { case 1: // nu/cotentin/parsing/cotentinel/CotentinELTree.g:57:5: loc= LOCATOR { loc = (CommonTree) match(input, LOCATOR, FOLLOW_LOCATOR_in_objExpr223); if (state.failed) return result; } break; } pushFollow(FOLLOW_propertyExpr_in_objExpr228); prop = propertyExpr(); state._fsp--; if (state.failed) return result; } if (state.backtracking == 0) { result = prop; if (loc != null) { result = new ContextNode(); result.getChildren().add(prop); } else { result = prop; } } } } catch (RecognitionException re) { reportError(re); recover(input, re); } finally { // do for sure before leaving } return result; }
// $ANTLR start "expr" // nu/cotentin/parsing/cotentinel/CotentinELTree.g:39:1: expr returns [ExprNode result] : (left= // expr1 (op= op1 right= expr1 )* ) ; public final ExprNode expr() throws RecognitionException { ExprNode result = null; ExprNode left = null; ExprNode op = null; ExprNode right = null; try { // nu/cotentin/parsing/cotentinel/CotentinELTree.g:39:31: ( (left= expr1 (op= op1 right= expr1 // )* ) ) // nu/cotentin/parsing/cotentinel/CotentinELTree.g:40:2: (left= expr1 (op= op1 right= expr1 )* // ) { // nu/cotentin/parsing/cotentinel/CotentinELTree.g:40:2: (left= expr1 (op= op1 right= expr1 // )* ) // nu/cotentin/parsing/cotentinel/CotentinELTree.g:40:2: left= expr1 (op= op1 right= expr1 // )* { pushFollow(FOLLOW_expr1_in_expr76); left = expr1(); state._fsp--; if (state.failed) return result; if (state.backtracking == 0) { result = left; } // nu/cotentin/parsing/cotentinel/CotentinELTree.g:40:31: (op= op1 right= expr1 )* loop1: do { int alt1 = 2; switch (input.LA(1)) { case OP_DIV: case OP_MUL: { alt1 = 1; } break; } switch (alt1) { case 1: // nu/cotentin/parsing/cotentinel/CotentinELTree.g:40:32: op= op1 right= expr1 { pushFollow(FOLLOW_op1_in_expr83); op = op1(); state._fsp--; if (state.failed) return result; pushFollow(FOLLOW_expr1_in_expr87); right = expr1(); state._fsp--; if (state.failed) return result; if (state.backtracking == 0) { op.getChildren().add(result); op.getChildren().add(right); result = op; } } break; default: break loop1; } } while (true); } } } catch (RecognitionException re) { reportError(re); recover(input, re); } finally { // do for sure before leaving } return result; }