Package org.drools.compiler.lang.descr

Examples of org.drools.compiler.lang.descr.BindingDescr


                  }
                } else if ( (left!=null?((DRL5Expressions.shiftExpression_return)left).result:null) instanceof BindingDescr ) {
                    if ( (left!=null?input.toString(left.start,left.stop):null).equals(((BindingDescr)(left!=null?((DRL5Expressions.shiftExpression_return)left).result:null)).getExpression()) ) {
                      result = (left!=null?((DRL5Expressions.shiftExpression_return)left).result:null);
                    } else {
                      BindingDescr bind = (BindingDescr) (left!=null?((DRL5Expressions.shiftExpression_return)left).result:null);
                      int offset = bind.isUnification() ? 2 : 1;
                      String fullExpression = (left!=null?input.toString(left.start,left.stop):null).substring( (left!=null?input.toString(left.start,left.stop):null).indexOf( ":" ) + offset ).trim();
                      result = new BindingDescr( bind.getVariable(), bind.getExpression(), fullExpression, bind.isUnification() );
                    }
                } else {
                    result = (left!=null?((DRL5Expressions.shiftExpression_return)left).result:null);
                }
                relationalExpression_stack.peek().lsd = result;
View Full Code Here


    Token var=null;
    Token COLON9=null;
    Token UNIFY10=null;
    BaseDescr left =null;

     boolean isLeft = false; BindingDescr bind = null;
    try {
      // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:489:5: ( TILDE unaryExpression | NEGATION unaryExpression | ( castExpression )=> castExpression | ( ({...}? (var= ID COLON ) ) | ({...}? (var= ID UNIFY ) ) )? left= primary ( ( selector )=> selector )* ( ( INCR | DECR )=> ( INCR | DECR ) )? )
      int alt53=4;
      switch ( input.LA(1) ) {
      case TILDE:
        {
        alt53=1;
        }
        break;
      case NEGATION:
        {
        alt53=2;
        }
        break;
      case LEFT_PAREN:
        {
        int LA53_3 = input.LA(2);
        if ( (synpred14_DRL5Expressions()) ) {
          alt53=3;
        }
        else if ( (true) ) {
          alt53=4;
        }

        }
        break;
      case BOOL:
      case DECIMAL:
      case FLOAT:
      case HEX:
      case ID:
      case LEFT_SQUARE:
      case LESS:
      case NULL:
      case STAR:
      case STRING:
      case TIME_INTERVAL:
        {
        alt53=4;
        }
        break;
      default:
        if (state.backtracking>0) {state.failed=true; return retval;}
        NoViableAltException nvae =
          new NoViableAltException("", 53, 0, input);
        throw nvae;
      }
      switch (alt53) {
        case 1 :
          // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:489:9: TILDE unaryExpression
          {
          match(input,TILDE,FOLLOW_TILDE_in_unaryExpressionNotPlusMinus2371); if (state.failed) return retval;
          pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2373);
          unaryExpression();
          state._fsp--;
          if (state.failed) return retval;
          }
          break;
        case 2 :
          // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:490:8: NEGATION unaryExpression
          {
          match(input,NEGATION,FOLLOW_NEGATION_in_unaryExpressionNotPlusMinus2382); if (state.failed) return retval;
          pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2384);
          unaryExpression();
          state._fsp--;
          if (state.failed) return retval;
          }
          break;
        case 3 :
          // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:491:9: ( castExpression )=> castExpression
          {
          pushFollow(FOLLOW_castExpression_in_unaryExpressionNotPlusMinus2398);
          castExpression();
          state._fsp--;
          if (state.failed) return retval;
          }
          break;
        case 4 :
          // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:492:9: ( ({...}? (var= ID COLON ) ) | ({...}? (var= ID UNIFY ) ) )? left= primary ( ( selector )=> selector )* ( ( INCR | DECR )=> ( INCR | DECR ) )?
          {
          if ( state.backtracking==0 ) { isLeft = helper.getLeftMostExpr() == null;}
          // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:493:9: ( ({...}? (var= ID COLON ) ) | ({...}? (var= ID UNIFY ) ) )?
          int alt50=3;
          int LA50_0 = input.LA(1);
          if ( (LA50_0==ID) ) {
            int LA50_1 = input.LA(2);
            if ( (LA50_1==COLON) ) {
              int LA50_3 = input.LA(3);
              if ( ((inMap == 0 && ternOp == 0 && input.LA(2) == DRL5Lexer.COLON)) ) {
                alt50=1;
              }
            }
            else if ( (LA50_1==UNIFY) ) {
              alt50=2;
            }
          }
          switch (alt50) {
            case 1 :
              // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:493:11: ({...}? (var= ID COLON ) )
              {
              // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:493:11: ({...}? (var= ID COLON ) )
              // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:493:12: {...}? (var= ID COLON )
              {
              if ( !((inMap == 0 && ternOp == 0 && input.LA(2) == DRL5Lexer.COLON)) ) {
                if (state.backtracking>0) {state.failed=true; return retval;}
                throw new FailedPredicateException(input, "unaryExpressionNotPlusMinus", "inMap == 0 && ternOp == 0 && input.LA(2) == DRL5Lexer.COLON");
              }
              // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:493:75: (var= ID COLON )
              // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:493:76: var= ID COLON
              {
              var=(Token)match(input,ID,FOLLOW_ID_in_unaryExpressionNotPlusMinus2426); if (state.failed) return retval;
              COLON9=(Token)match(input,COLON,FOLLOW_COLON_in_unaryExpressionNotPlusMinus2428); if (state.failed) return retval;
              if ( state.backtracking==0 ) { hasBindings = true; helper.emit(var, DroolsEditorType.IDENTIFIER_VARIABLE); helper.emit(COLON9, DroolsEditorType.SYMBOL); if( buildDescr ) { bind = new BindingDescr((var!=null?var.getText():null), null, false); helper.setStart( bind, var ); } }
              }

              }

              }
              break;
            case 2 :
              // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:495:11: ({...}? (var= ID UNIFY ) )
              {
              // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:495:11: ({...}? (var= ID UNIFY ) )
              // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:495:12: {...}? (var= ID UNIFY )
              {
              if ( !((inMap == 0 && ternOp == 0 && input.LA(2) == DRL5Lexer.UNIFY)) ) {
                if (state.backtracking>0) {state.failed=true; return retval;}
                throw new FailedPredicateException(input, "unaryExpressionNotPlusMinus", "inMap == 0 && ternOp == 0 && input.LA(2) == DRL5Lexer.UNIFY");
              }
              // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:495:75: (var= ID UNIFY )
              // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:495:76: var= ID UNIFY
              {
              var=(Token)match(input,ID,FOLLOW_ID_in_unaryExpressionNotPlusMinus2467); if (state.failed) return retval;
              UNIFY10=(Token)match(input,UNIFY,FOLLOW_UNIFY_in_unaryExpressionNotPlusMinus2469); if (state.failed) return retval;
              if ( state.backtracking==0 ) { hasBindings = true; helper.emit(var, DroolsEditorType.IDENTIFIER_VARIABLE); helper.emit(UNIFY10, DroolsEditorType.SYMBOL); if( buildDescr ) { bind = new BindingDescr((var!=null?var.getText():null), null, true); helper.setStart( bind, var ); } }
              }

              }

              }
              break;

          }

          pushFollow(FOLLOW_primary_in_unaryExpressionNotPlusMinus2514);
          left=primary();
          state._fsp--;
          if (state.failed) return retval;
          if ( state.backtracking==0 ) { if( buildDescr ) { retval.result = left; } }
          // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:499:9: ( ( selector )=> selector )*
          loop51:
          while (true) {
            int alt51=2;
            int LA51_0 = input.LA(1);
            if ( (LA51_0==DOT) && (synpred15_DRL5Expressions())) {
              alt51=1;
            }
            else if ( (LA51_0==LEFT_SQUARE) && (synpred15_DRL5Expressions())) {
              alt51=1;
            }

            switch (alt51) {
            case 1 :
              // src/main/resources/org/drools/compiler/lang/DRL5Expressions.g:499:10: ( selector )=> selector
              {
              pushFollow(FOLLOW_selector_in_unaryExpressionNotPlusMinus2531);
              selector();
              state._fsp--;
              if (state.failed) return retval;
              }
              break;

            default :
              break loop51;
            }
          }

          if ( state.backtracking==0 ) {
                      if( buildDescr ) {
                          String expr = input.toString(retval.start,input.LT(-1));
                          if( isLeft ) {
                              helper.setLeftMostExpr( expr );
                          }
                          if( bind != null ) {
                              if( bind.isUnification() ) {
                                  expr = expr.substring( expr.indexOf( ":=" ) + 2 ).trim();
                              } else {
                                  expr = expr.substring( expr.indexOf( ":" ) + 1 ).trim();
                              }
                              bind.setExpressionAndBindingField( expr );
                              helper.setEnd( bind );
                              retval.result = bind;
                          }
                      }
                  }
View Full Code Here

        assertEquals( ConnectiveType.AND,
                      result.getConnective() );
        assertEquals( 1,
                      result.getDescrs().size() );

        BindingDescr bind = (BindingDescr) result.getDescrs().get( 0 );
        assertEquals( "$x",
                      bind.getVariable() );
        assertEquals( "property",
                      bind.getExpression() );
    }
View Full Code Here

        RelationalExprDescr rel = (RelationalExprDescr) result.getDescrs().get( 0 );
        assertEquals( ">",
                      rel.getOperator() );

        BindingDescr bind = (BindingDescr) rel.getLeft();
        assertEquals( "$x",
                      bind.getVariable() );
        assertEquals( "property",
                      bind.getExpression() );

        AtomicExprDescr right = (AtomicExprDescr) rel.getRight();
        assertEquals( "value",
                      right.getExpression() );
    }
View Full Code Here

        RelationalExprDescr rel = (RelationalExprDescr) result.getDescrs().get( 0 );
        assertEquals( ">",
                      rel.getOperator() );

        BindingDescr bind = (BindingDescr) rel.getLeft();
        assertEquals( "$x",
                      bind.getVariable() );
        assertEquals( "property",
                      bind.getExpression() );

        AtomicExprDescr right = (AtomicExprDescr) rel.getRight();
        assertEquals( "value",
                      right.getExpression() );
       
View Full Code Here

        assertEquals( ConnectiveType.AND,
                      result.getConnective() );
        assertEquals( 2,
                      result.getDescrs().size() );

        BindingDescr bind = (BindingDescr) result.getDescrs().get( 0 );
        assertEquals( "$x",
                      bind.getVariable() );
        assertEquals( "x.m( 1, a )",
                      bind.getExpression() );

        bind = (BindingDescr) result.getDescrs().get( 1 );
        assertEquals( "$y",
                      bind.getVariable() );
        assertEquals( "y[z].foo",
                      bind.getExpression() );
    }
View Full Code Here

                      or.getDescrs().size() );

        RelationalExprDescr expr = (RelationalExprDescr) or.getDescrs().get( 0 );
        assertEquals( ">",
                      expr.getOperator() );
        BindingDescr leftBind = (BindingDescr) expr.getLeft();
        BindingDescr rightBind = (BindingDescr) expr.getRight();
        assertEquals( "$a",
                      leftBind.getVariable() );
        assertEquals( "a",
                      leftBind.getExpression() );
        assertEquals( "$b",
                      rightBind.getVariable() );
        assertEquals( "b[10].prop",
                      rightBind.getExpression() );

        expr = (RelationalExprDescr) or.getDescrs().get( 1 );
        assertEquals( "!=",
                      expr.getOperator() );
        AtomicExprDescr leftExpr = (AtomicExprDescr) expr.getLeft();
View Full Code Here

        final PatternDescr pattern = new PatternDescr( Cheese.class.getName(),
                                                       "stilton" );
        lhs.addDescr( pattern );

        BindingDescr fieldBindingDescr = new BindingDescr( "x",
                                                           "price" );
        pattern.addConstraint( fieldBindingDescr );
        fieldBindingDescr = new BindingDescr( "y",
                                              "price" );
        pattern.addConstraint( fieldBindingDescr );

        packageDescr.addGlobal( new GlobalDescr( "map",
                                                 "java.util.Map" ) );
View Full Code Here

        final PatternDescr pattern = new PatternDescr( Cheese.class.getName(),
                                                       "stilton" );
        lhs.addDescr( pattern );

        BindingDescr fieldBindingDescr = new BindingDescr( "x",
                                                           "price" );
        pattern.addConstraint( fieldBindingDescr );
        fieldBindingDescr = new BindingDescr( "y",
                                              "price" );
        pattern.addConstraint( fieldBindingDescr );

        packageDescr.addGlobal( new GlobalDescr( "map",
                                                 "java.util.Map" ) );
View Full Code Here

        final PatternDescr pattern = new PatternDescr( Cheese.class.getName(),
                                                       "stilton" );
        lhs.addDescr( pattern );

        final BindingDescr fieldBindingDescr = new BindingDescr( "x",
                                                                 "price" );
        pattern.addConstraint( fieldBindingDescr );

        final BindingDescr fieldBindingDescr2 = new BindingDescr( "y",
                                                                  "price" );
        pattern.addConstraint( fieldBindingDescr2 );

        packageDescr.addGlobal( new GlobalDescr( "map",
                                                 "java.util.Map" ) );
View Full Code Here

TOP

Related Classes of org.drools.compiler.lang.descr.BindingDescr

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.