Как программно сгенерировать файлы .class?

Я хотел бы написать компилятор игрушечного языка для Java. Я хотел бы создать исполняемые файлы .class. Мне было интересно, какая библиотека или инструмент для этого лучше всего доступны? Я знаю, что могу изучить двоичный формат для всех инструкций и создать свой собственный постоянный пул и т. Д., Но это похоже на работу, которую следовало бы уже сделать: нет смысла изобретать колесо, верно?

Поискав в Интернете, я нашел два разных языка ассемблера Java, Jasmin и Jamaica , однако только Jasmin выглядит несколько поддерживаемым.

Есть ли библиотека Java для записи байтовых кодов в поток? Это то, что такое Apache BCEL ?

Является ли их инструмент для этого «стандартом» для генерации байт-кода, как Antlr для синтаксического анализа?


PS- Игрушечный язык - это Brainf *** , я хотел что-то такое, где у меня могла бы быть простая «грамматика», чтобы я мог сосредоточиться на аспекте генерации, а не на части синтаксического анализа ... что будет позже на следующем шаге.

10
задан Sled 18 July 2013 в 13:37
поделиться