Я хочу создать свой язык программирования на JVM
для первого шага я пытаюсь написать очень простое выражение (добавляя, например, 3 + 7)
поэтому я создал лексер и парсер с Antlr
grammar gr;
formula : Digit Add Digit Equal;
Digit
: '0'..'9'
;
Add : '+';
Equal : '=';
WS : [\t\r\n]+ -> skip ;
тогда
Antlr сгенерировал Lexer, Parser и Listener
я использовал их
import java.io.IOException;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.tree.*;
public class gr {
public static void main(String[] args) throws IOException {
String str = "7+8=";
ANTLRInputStream input = new ANTLRInputStream(str);
grLexer lexer = new grLexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
grParser parser = new grParser(tokens);
ParseTree tree = parser.formula();
System.out.println(tree.toStringTree(parser));
}
}
Результат :
(formula 7 + 8 =)
теперь моя проблема здесь !!!
Как я могу выполнить эту строку (7 + 8 =) на JVM??? (получить результат 15)
кажется, я должен использовать библиотеку ASM? Да ???
Если ваш ответ да, пожалуйста, помогите мне для очень простого примера
пожалуйста, помогите мне, как использовать JVM для создания моего собственного языка