Package loop.ast.script

Examples of loop.ast.script.Unit


        "  (a: '--' :b)         : a + b\n" +
        "  ''                   : ''\n" +
        "  *                    | str == 'yoyo'  : 'ma'\n" +
        "                       | else           : 'nothing'\n"
    ).tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

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

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


        "  5                    : 'five'\n" +
        "  *         | ls == 1  : 'one'\n" +
        "            | ls == 2  : 'two'\n" +
        "            | else     : 'other'\n"
    ).tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

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

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

    Parser parser = new LexprParser(new Tokenizer(
        "reverse(ls) =>\n" +
        "  []         : []\n" +
        "  [x:xs]     : reverse(xs) + [x]\n"
    ).tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

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

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

        "  [x]                : [x]\n" +
        "  [one, two] | true  : [two, one]\n" +
        "             | else  : []\n" +
        "  [x:xs]             : reverse(xs) + [x]\n"
    ).tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

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

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

  public final void emitMapPatternMatchingFunction() throws Exception {
    Parser parser = new LexprParser(new Tokenizer(
        "lower(obj) =>\n" +
        "  [ x <- obj.name]         : x.toLowerCase()\n"
    ).tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

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

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

        "\n" +
        "lower(obj) =>\n" +
        "  List[ x <- obj.name]        : x.toUpperCase()\n" +
        "  Map[ x <- obj.name]         : x.toLowerCase()\n"
    ).tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

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

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

        "\n" +
        "lower(obj) =>\n" +
        "  List        : obj.name.toUpperCase()\n" +
        "  Map         : obj.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

        "main ->\n" +
        "  lower(@() ->\n" +
        "          'two')\n" +
        "\n"
    ).tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

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

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

    return new Variable(token.value);
  }

  @Override
  public Unit script(String file) {
    Unit unit = new Unit(file, ModuleDecl.DEFAULT);
    Node parse = parse();
    for (Node child : parse.children()) {
      if (child instanceof FunctionDecl)
        unit.declare((FunctionDecl) child);
      else
        unit.addToInitializer(child);
    }

    return unit;
  }
View Full Code Here

        "main ->\n" +
        "  lower(@(a, b) ->\n" +
        "          a + b)\n" +
        "\n"
    ).tokenize());
    Unit unit = parser.script(file);
    unit.reduceAll();

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

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

TOP

Related Classes of loop.ast.script.Unit

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.