Examples of Unit


Examples of loop.ast.script.Unit

    Parser parser = new LexprParser(new Tokenizer(
        "lower(obj) ->\n" +
        "  obj.toLowerCase().toLowerCase()\n" +
        "\n"
    ).tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

    Class<?> generated = new AsmCodeEmitter(unit).write(unit);

    // Inspect.
    inspect(generated);
View Full Code Here

Examples of loop.ast.script.Unit

    Parser parser = new LexprParser(new Tokenizer("compute() ->\n" +
        "  day: 24\n" +
        "  week: 7 * day\n" +
        "  year: 52 * week\n" +
        "  3 * year\n").tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

    Class<?> generated = new AsmCodeEmitter(unit).write(unit);

    // Inspect.
    inspect(generated);
View Full Code Here

Examples of loop.ast.script.Unit


  @Test
  public final void emitMapIndexInto() throws Exception {
    Parser parser = new LexprParser(new Tokenizer("slice(map) ->\n  map['num']\n").tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

    Class<?> generated = new AsmCodeEmitter(unit).write(unit);

    // Inspect.
    inspect(generated);
View Full Code Here

Examples of loop.ast.script.Unit


  @Test
  public final void emitInterpolatedString() throws Exception {
    Parser parser = new LexprParser(new Tokenizer("fun(name) ->\n  \"Hi, @{name.toUpperCase()}! @{name.toLowerCase()}\"\n").tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

    Class<?> generated = new AsmCodeEmitter(unit).write(unit);

    // Inspect.
    inspect(generated);
View Full Code Here

Examples of loop.ast.script.Unit

  }

  @Test
  public final void emitJavaConstructor() throws Exception {
    Parser parser = new LexprParser(new Tokenizer("main() ->\n  new java.util.Date(1)\n").tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

    Class<?> generated = new AsmCodeEmitter(unit).write(unit);

    // Inspect.
    inspect(generated);
View Full Code Here

Examples of loop.ast.script.Unit

        "  mass\n" +
        "  nebula: false\n" +
        "\n" +
        "main() ->\n" +
        "  new Star(name: 'Proxima', mass: 123)\n").tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

    Class<?> generated = new AsmCodeEmitter(unit).write(unit);

    // Inspect.
    inspect(generated);
View Full Code Here

Examples of loop.ast.script.Unit


  @Test
  public final void emitJavaNullaryConstructor() throws Exception {
    Parser parser = new LexprParser(new Tokenizer("main() ->\n  new java.util.Date()\n").tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

    Class<?> generated = new AsmCodeEmitter(unit).write(unit);

    // Inspect.
    inspect(generated);
View Full Code Here

Examples of loop.ast.script.Unit

    if (null == module)
      module = ModuleDecl.DEFAULT;

    chewEols();

    Unit unit = new Unit(file, module);
    scope = unit;
    RequireDecl require;
    do {
      require = require();
      chewEols();

      if (null != require) {
        if (unit.imports().contains(require) && require.alias == null) {
          addError("Duplicate module import: " + require.toSymbol(),
              require.sourceLine, require.sourceColumn);
          throw new LoopCompileException();
        }

        unit.declare(require);
      }
    } while (require != null);

    FunctionDecl function;
    ClassDecl classDecl = null;
    do {
      function = functionDecl();
      if (function == null) {
        classDecl = classDecl();
      }

      chewEols();

      if (null != function) {
        if (unit.resolveFunction(function.name(), false) != null) {
          addError("Duplicate function definition: " + function.name(),
              function.sourceLine,
              function.sourceColumn);
          throw new LoopCompileException();
        }

        unit.declare(function);
      } else if (null != classDecl) {
        if (unit.getType(classDecl.name) != null) {
          addError("Duplicate type definition: " + classDecl.name,
              classDecl.sourceLine, classDecl.sourceColumn);
          throw new LoopCompileException();
        }

        unit.declare(classDecl);
      }

    } while (function != null || classDecl != null);

    // Now slurp up any freeform expressions into the module initializer.
    Node expression;
    while ((expression = computation()) != null) {
      unit.addToInitializer(expression);
      if (match(Kind.EOL) == null)
        break;
      chewEols();
    }
View Full Code Here

Examples of loop.ast.script.Unit


  @Test
  public final void emitJavaBeanPropertyCall() throws Exception {
    Parser parser = new LexprParser(new Tokenizer("main() ->\n  new java.util.Date(1).time\n").tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

    Class<?> generated = new AsmCodeEmitter(unit).write(unit);

    // Inspect.
    inspect(generated);
View Full Code Here

Examples of loop.ast.script.Unit


  @Test
  public final void emitListComprehension() throws Exception {
    Parser parser = new LexprParser(new Tokenizer("sum(ls) ->\n  i for i in ls if i < 25\n").tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

    Class<?> generated = new AsmCodeEmitter(unit).write(unit);

    // Inspect.
    inspect(generated);
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.