Я хотел бы написать компилятор игрушечного языка для Java. Я хотел бы создать исполняемые файлы .class. Мне было интересно, какая библиотека или инструмент для этого лучше всего доступны? Я знаю, что могу изучить двоичный формат для всех инструкций и создать свой собственный постоянный пул и т. Д., Но это похоже на работу, которую следовало бы уже сделать: нет смысла изобретать колесо, верно?
Поискав в Интернете, я нашел два разных языка ассемблера Java, Jasmin и Jamaica , однако только Jasmin выглядит несколько поддерживаемым.
Есть ли библиотека Java для записи байтовых кодов в поток? Это то, что такое Apache BCEL ?
Является ли их инструмент для этого «стандартом» для генерации байт-кода, как Antlr для синтаксического анализа?
PS- Игрушечный язык - это Brainf *** , я хотел что-то такое, где у меня могла бы быть простая «грамматика», чтобы я мог сосредоточиться на аспекте генерации, а не на части синтаксического анализа ... что будет позже на следующем шаге.