Search in sources :

Example 1 with PolyglotEngine

use of com.oracle.truffle.api.vm.PolyglotEngine in project TrufflePascal by Aspect26.

the class CompilerMain method executeSource.

private static void executeSource(Source source, InputStream input, OutputStream output) throws Exception {
    PolyglotEngine engine = PolyglotEngine.newBuilder().setIn(input).setOut(output).setErr(System.err).build();
    assert engine.getLanguages().containsKey(PascalLanguage.MIME_TYPE);
    System.out.println(Truffle.getRuntime().getName());
    if (settings.usesTPExtension()) {
        UnitEvaluator.evalUnits(engine, settings.getIncludeDirectories());
    }
    engine.eval(source);
    engine.dispose();
}
Also used : PolyglotEngine(com.oracle.truffle.api.vm.PolyglotEngine)

Example 2 with PolyglotEngine

use of com.oracle.truffle.api.vm.PolyglotEngine in project sieve by jtulach.

the class Main method main.

public static void main(String[] args) throws Exception {
    System.err.println("Setting up PolyglotEngine");
    PolyglotEngine vm = PolyglotEngine.newBuilder().build();
    vm.eval(Source.fromText("", "warmup.R").withMimeType("text/x-r"));
    URL url = Main.class.getProtectionDomain().getCodeSource().getLocation();
    File local = new File(url.toURI());
    for (; ; ) {
        File sieveInR = new File(local, "sieve.R");
        if (sieveInR.exists()) {
            break;
        }
        local = local.getParentFile();
    }
    System.err.println("engine is ready");
    Source r = Source.fromFileName(new File(local, "sieve.R").getPath());
    vm.eval(r);
}
Also used : File(java.io.File) PolyglotEngine(com.oracle.truffle.api.vm.PolyglotEngine) URL(java.net.URL) Source(com.oracle.truffle.api.source.Source)

Example 3 with PolyglotEngine

use of com.oracle.truffle.api.vm.PolyglotEngine in project sieve by jtulach.

the class Main method main.

public static void main(String[] args) throws Exception {
    System.err.println("Setting up PolyglotEngine");
    PolyglotEngine vm = PolyglotEngine.newBuilder().build();
    URL url = Main.class.getProtectionDomain().getCodeSource().getLocation();
    File local = new File(url.toURI());
    for (; ; ) {
        File sieveInRuby = new File(local, "sieve.R");
        if (sieveInRuby.exists()) {
            break;
        }
        local = local.getParentFile();
    }
    Source r = Source.fromFileName(new File(local, "sieve.R").getPath());
    Source js = Source.fromFileName(new File(local, "sieve.js").getPath());
    vm.eval(r);
    vm.eval(js);
}
Also used : File(java.io.File) PolyglotEngine(com.oracle.truffle.api.vm.PolyglotEngine) URL(java.net.URL) Source(com.oracle.truffle.api.source.Source)

Aggregations

PolyglotEngine (com.oracle.truffle.api.vm.PolyglotEngine)3 Source (com.oracle.truffle.api.source.Source)2 File (java.io.File)2 URL (java.net.URL)2