Size: a a a

2020 June 12

ПФ

Паша Финкельштейн... in graalvm_ru
Oleg Shelajev
[opc@shelajev-playground brainfuck-jvm]$ cat HelloPolyglot.java
import org.graalvm.polyglot.*;
import org.graalvm.polyglot.proxy.*;

public class HelloPolyglot {
   public static void main(String[] args) {
       System.out.println("Hello Java!");
       try (Context context = Context.create()) {
           context.eval("bf", "+[-[<<[+[--->]-[<<<]]]>>>-]>-.---.>..>.<<<<-.<+.>>>>>.>.<<.<-.");
       }
   }
}
ну я же не могу 14-мегабайтный литерал заихнуть в джаву. Я хочу кли-тулзой запустить
источник

ПФ

Паша Финкельштейн... in graalvm_ru
А можешь выложить такой е граф, сгенерированный для моего кода, пожалуйста? Прям интересно
источник

ПФ

Паша Финкельштейн... in graalvm_ru
Хотя если оно само генерирует — то свалится, наверное
источник

ПФ

Паша Финкельштейн... in graalvm_ru
14 метров — это больше почти 14 мегабайт узлов
источник

ПФ

Паша Финкельштейн... in graalvm_ru
Oleg Shelajev
строго у тебя там просто с модулями бардак в 11
ну я же официальный билд беру и ничего кроме bf туда не ставил
источник

OS

Oleg Shelajev in graalvm_ru
[opc@shelajev-playground brainfuck-jvm]$ cat HelloPolyglot.java
import org.graalvm.polyglot.*;
import org.graalvm.polyglot.proxy.*;
import java.io.*;

public class HelloPolyglot {
   public static void main(String[] args)  throws Exception {
       System.out.println("Hello Java!");

 File f = new File("1.bf");
       Source s = Source.newBuilder("bf", f).build();
       try (Context context = Context.create()) {
           context.eval(s);
       }
   }
}
источник

OS

Oleg Shelajev in graalvm_ru
оно генерит дотфайл графвиза
источник

OS

Oleg Shelajev in graalvm_ru
источник

ПФ

Паша Финкельштейн... in graalvm_ru
Oleg Shelajev
оно генерит дотфайл графвиза
там написано типа To visualise the AST, run your program with -Dbrainfuck.ast.dump=true, но у меня на восьмёрке так не работает
источник

ПФ

Паша Финкельштейн... in graalvm_ru
или недостаточно долго жду
источник

ПФ

Паша Финкельштейн... in graalvm_ru
там нет какого-то способа посмотреть чем вообще интерпретатор занимается?
источник

OS

Oleg Shelajev in graalvm_ru
Не появилось .dot файла?
источник

OS

Oleg Shelajev in graalvm_ru
Это не наша функциональность это вот этот интерпретатор сам
источник

ПФ

Паша Финкельштейн... in graalvm_ru
❯ /usr/lib/jvm/java-8-graalvm/bin/bf /tmp/c2bf/nqueens.bf -Dbrainfuck.ast.dump=true
Source file to execute is already specified, overriding it
источник

OS

Oleg Shelajev in graalvm_ru
А ты так
источник

OS

Oleg Shelajev in graalvm_ru
Попробуй bf --vm.brainfuck.ast.dump=true nqueens.bf
источник

ПФ

Паша Финкельштейн... in graalvm_ru
❯ /usr/lib/jvm/java-8-graalvm/bin/bf -Dbrainfuck.ast.dump=true /tmp/c2bf/nqueens.bf
Source file to execute is already specified, overriding it
The given source file /tmp/brainfuck-jvm/-Dbrainfuck.ast.dump=true can't be read
источник

OS

Oleg Shelajev in graalvm_ru
Не факт что получится но обычно launcher так воспринимает наши так сделаны
источник

OS

Oleg Shelajev in graalvm_ru
Сделай из джавы как у меня было
источник

ПФ

Паша Финкельштейн... in graalvm_ru
ну я сначала так и сделал, да )
источник