Examples of IValueFactory


Examples of org.eclipse.imp.pdb.facts.IValueFactory

    }
    return prevMap;
  }
 
  public static IValue toRascalKey(KeyEvent e,IEvaluatorContext ctx){
    IValueFactory vf = VF;
    if(e.keyCode >= ' ' && e.keyCode < '~'){
      String keySym = "" + (char)e.keyCode;
      return vf.constructor(KeySym_keyPrintable, vf.string(keySym));
    } else {
      Type cons = unPrintableKeyName(e);
      if(cons == KeySym_keyUnknown){
        return vf.constructor(KeySym_keyUnknown,vf.integer(e.keyCode));
      } else {
        return vf.constructor(cons);
      }
    }
   
  }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IValueFactory

    Execute.setTestResultListener(testResultListener);
  }

  public void test(String moduleName, int nTests) {
    testResultListener.start(nTests);
    IValueFactory vf = eval.getValueFactory();
    ISourceLocation src = null;
    try {
      src = vf.sourceLocation("rascal", "", moduleName.replaceAll("::""/") + ".rsc");
      System.err.println("TestExecutor.test: testing " + moduleName + ", " + nTests + " tests");
      eval.call("executeTests", src);
      //System.err.println("TestExecutor.test: testing " + moduleName + " ... done");
    } catch (URISyntaxException e) {
      // TODO Auto-generated catch block
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IValueFactory

    return bool(that.value.getInstant() != this.value.getInstant(), ctx);
  }

  @Override
  public <U extends IValue> Result<U> fieldAccess(String name, TypeStore store) {
    IValueFactory vf = getValueFactory();
    IDateTime dt = getValue();

    try {

      if (name.equals("year")) {
        if (!dt.isTime()) {
          return makeResult(getTypeFactory().integerType(), vf.integer(dt.getYear()), ctx);
        }
        throw new UnsupportedOperation("Can not retrieve the year on a time value",ctx.getCurrentAST());
      } else if (name.equals("month")) {
        if (!dt.isTime()) {
          return makeResult(getTypeFactory().integerType(), vf.integer(getValue().getMonthOfYear()), ctx);
        }
        throw new UnsupportedOperation("Can not retrieve the month on a time value",ctx.getCurrentAST());
      } else if (name.equals("day")) {
        if (!dt.isTime()) {
          return makeResult(getTypeFactory().integerType(), vf.integer(getValue().getDayOfMonth()), ctx);
        }
        throw new UnsupportedOperation("Can not retrieve the day on a time value",ctx.getCurrentAST());
      } else if (name.equals("hour")) {
        if (!dt.isDate()) {
          return makeResult(getTypeFactory().integerType(), vf.integer(getValue().getHourOfDay()), ctx);
        }
        throw new UnsupportedOperation("Can not retrieve the hour on a date value",ctx.getCurrentAST());
      } else if (name.equals("minute")) {
        if (!dt.isDate()) {
          return makeResult(getTypeFactory().integerType(), vf.integer(getValue().getMinuteOfHour()), ctx);
        }
        throw new UnsupportedOperation("Can not retrieve the minute on a date value",ctx.getCurrentAST());
      } else if (name.equals("second")) {
        if (!dt.isDate()) {
          return makeResult(getTypeFactory().integerType(), vf.integer(getValue().getSecondOfMinute()), ctx);
        }
        throw new UnsupportedOperation("Can not retrieve the second on a date value",ctx.getCurrentAST());
      } else if (name.equals("millisecond")) {
        if (!dt.isDate()) {
          return makeResult(getTypeFactory().integerType(), vf.integer(getValue().getMillisecondsOfSecond()), ctx);
        }
        throw new UnsupportedOperation("Can not retrieve the millisecond on a date value",ctx.getCurrentAST());
      } else if (name.equals("timezoneOffsetHours")) {
        if (!dt.isDate()) {
          return makeResult(getTypeFactory().integerType(), vf.integer(getValue().getTimezoneOffsetHours()), ctx);
        }
        throw new UnsupportedOperation("Can not retrieve the timezone offset hours on a date value",ctx.getCurrentAST());
      } else if (name.equals("timezoneOffsetMinutes")) {
        if (!dt.isDate()) {
          return makeResult(getTypeFactory().integerType(), vf.integer(getValue().getTimezoneOffsetMinutes()), ctx);
        }
        throw new UnsupportedOperation("Can not retrieve the timezone offset minutes on a date value",ctx.getCurrentAST());
      } else if (name.equals("century")) {
        if (!dt.isTime()) {
          return makeResult(getTypeFactory().integerType(), vf.integer(getValue().getCentury()), ctx);
        }
        throw new UnsupportedOperation("Can not retrieve the century on a time value",ctx.getCurrentAST());
      } else if (name.equals("isDate")) {
        return makeResult(getTypeFactory().boolType(), vf.bool(getValue().isDate()), ctx);
      } else if (name.equals("isTime")) {
        return makeResult(getTypeFactory().boolType(), vf.bool(getValue().isTime()), ctx);
      } else if (name.equals("isDateTime")) {
        return makeResult(getTypeFactory().boolType(), vf.bool(getValue().isDateTime()), ctx);
      } else if (name.equals("justDate")) {
        if (!dt.isTime()) {
          return makeResult(getTypeFactory().dateTimeType(),
              vf.date(dt.getYear(), dt.getMonthOfYear(), dt.getDayOfMonth()), ctx);
        }
        throw new UnsupportedOperation("Can not retrieve the date component of a time value",ctx.getCurrentAST());
      } else if (name.equals("justTime")) {
        if (!dt.isDate()) {
          return makeResult(getTypeFactory().dateTimeType(),
              vf.time(dt.getHourOfDay(), dt.getMinuteOfHour(), dt.getSecondOfMinute(),
                  dt.getMillisecondsOfSecond(), dt.getTimezoneOffsetHours(),
                  dt.getTimezoneOffsetMinutes()), ctx);
        }
        throw new UnsupportedOperation("Can not retrieve the time component of a date value",ctx.getCurrentAST());
      }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IValueFactory

    return (Result<T>) type.accept(new Visitor(type, null, null));
  }
 

  public static Result<IBool> bool(boolean b, IEvaluatorContext ctx) {
    IValueFactory vf = ctx.getValueFactory();
    IBool result = vf.bool(b);
    return new BoolResult(result.getType(), result, ctx);
  }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IValueFactory

      constraintsJ.add(convertConstraint((IConstructor)v));
    }
    LinearObjectiveFunction fJ = convertLinObjFun(f);
    GoalType goal = minimize.getValue() ?
            GoalType.MINIMIZE : GoalType.MAXIMIZE;
    IValueFactory vf = values;
    boolean nonNegativeJ =  nonNegative.getValue();
    try {
      RealPointValuePair res =
          solver.optimize(fJ, constraintsJ, goal,nonNegativeJ);
      return vf.constructor(Maybe.Maybe_just,
          vf.constructor(
              LLSolution_llSolution, convertToRealList(res.getPoint(), vf),
              vf.real(res.getValue()) )
          );
    } catch (Exception e) {
      return  vf.constructor(Maybe.Maybe_nothing);
    }

  }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IValueFactory

  }
 
  public IList getProfileData(){
    TypeFactory TF = TypeFactory.getInstance();
    Type elemType = TF.tupleType(TF.sourceLocationType(), TF.integerType());
    IValueFactory VF = ValueFactoryFactory.getValueFactory();
    IListWriter w = VF.listWriter(elemType);
    for(Map.Entry<ISourceLocation, Count> e : sortData()){
      w.insert(VF.tuple(e.getKey(), VF.integer(e.getValue().getTicks())));
    }
    return w.done();
  }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IValueFactory

      public Result<IValue> interpret(IEvaluator<Result<IValue>> __eval) {
        Accumulator target = getTarget(__eval);
       
        // TODO refactor this: pull up to Append
        Result<IValue> result = this.getStatement().interpret(__eval);
        IValueFactory vf = ValueFactoryFactory.getValueFactory();
        IValue v = result.getValue();
        if (!(v instanceof IString)) {
          // Ensure that values that are trees are yielding the appropriate string value
          StringBuilder sb = new StringBuilder(500);
          appendToString(v, sb);
          v = vf.string(sb.toString());
        }
        java.lang.String fill = __eval.getCurrentIndent();
        IString content = ((IString)v);
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < content.length(); i++) {
          int ch = content.charAt(i);
          sb.appendCodePoint(ch);
          if (ch == '\n') {
            sb.append(fill);
          }
        }
        v = vf.string(sb.toString());
        target.appendString((IString) v);
        return result;
      }
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IValueFactory

        fromName = fromName.substring(0, fni);
     
      String vname =  fromName + "_" + to.name + "[" + (from.layer + delta) + "]";
      if(debug)System.err.println("Creating virtual node " + vname + " between " + fromName + " and " + to.name);
      LayeredGraphNode virtual = new LayeredGraphNode(this, vname, hgap/2, vgap);
      IValueFactory vf = ValueFactoryFactory.getValueFactory();
      IString vfVname = vf.string(vname);
      nodes.add(virtual);
     
      registerNodeId(vname, virtual);
     
      LinkedList<LayeredGraphNode> vlayer = layers.get(from.layer+delta);
      virtual.layer = from.layer + delta;
      virtual.pos = vlayer.size();

      virtual.in.add(from);
      virtual.out.add(to);
      from.out.set(from.out.indexOf(to), virtual);
      to.in.set(to.in.indexOf(from), virtual);

      vlayer.add(virtual);

      LayeredGraphEdge old = null;
      for(LayeredGraphEdge e : edges){
        if(debug)System.err.println("Consider edge " + e.getFrom().name + " -> " + e.getTo().name);
        if(e.getFrom() == from && e.getTo() == to){
          old = e;
          if(from == orgFrom){
            orgEdgeLabel = e.getLabel();
          }

          if(debug)System.err.println("Removing old edge " + from.name + " -> " + to.name);
          break;
        }
      }
      //if(old == null)
      //  throw RuntimeExceptionFactory.figureException("Internal error in insertVirtualNode", vfVname, fpa.getRascalContext().getCurrentAST(), fpa.getRascalContext().getStackTrace());

      IString vfGname = vf.string(from.name);
      IString vfOname = vf.string(to.name);
      if(old != null){
        if(old.isReversed()){
          LayeredGraphEdge e1 = new LayeredGraphEdge(this, fpa, old.prop, vfGname, vfVname, old.fromArrow, old.toArrow);
          LayeredGraphEdge e2 = new LayeredGraphEdge(this, fpa, old.prop, vfVname, vfOname, old.fromArrow, old.toArrow);
          e2.label = orgEdgeLabel;
View Full Code Here

Examples of org.eclipse.imp.pdb.facts.IValueFactory

  public IMap getSyntaxDefinition() {
    List<String> todo = new LinkedList<String>();
    Set<String> done = new HashSet<String>();
    todo.add(getName());
   
    IValueFactory VF = ValueFactoryFactory.getValueFactory();
    IMapWriter result = VF.mapWriter();
   
    while(!todo.isEmpty()){
      String m = todo.get(0);
      todo.remove(0);
     
      if(done.contains(m))
        continue;
     
      done.add(m);
     
      /* This allows the current module not to be loaded on the heap, for
       * parsing in the IDE
       */
      ModuleEnvironment env = m.equals(getName()) ? this : heap.getModule(m);
     
      if(env != null){
        ISetWriter importWriter = VF.setWriter();
        for(String impname : env.getImports()){
          if(!done.contains(impname)) todo.add(impname);
         
          importWriter.insert(VF.string(impname));
        }
       
        ISetWriter extendWriter = VF.setWriter();
        for(String impname : env.getExtends()){
          if(!done.contains(impname)) todo.add(impname);
         
          extendWriter.insert(VF.string(impname));
        }
       
        ISetWriter defWriter = VF.setWriter();
        for(IValue def : env.productions){
          defWriter.insert(def);
        }
       
        ITuple t = VF.tuple(importWriter.done(), extendWriter.done(), defWriter.done());
        result.put(VF.string(m), t);
      }else if(m.equals(getName())) { // This is the root scope.
        ISetWriter importWriter = VF.setWriter();
        for(String impname : importedModules){
          if(!done.contains(impname)) todo.add(impname);
         
          importWriter.insert(VF.string(impname));
        }
       
        ISetWriter extendWriter = VF.setWriter();
        for(String impname : getExtends()){
          if(!done.contains(impname)) todo.add(impname);
         
          extendWriter.insert(VF.string(impname));
        }
       
        ISetWriter defWriter = VF.setWriter();
        for(IValue def : productions){
          defWriter.insert(def);
        }
       
        ITuple t = VF.tuple(importWriter.done(), extendWriter.done(), defWriter.done());
        result.put(VF.string(m), t);
      }
    }
   
   
    return result.done();
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.