Я створив компілятор на мові C (використовуючи lex & bison) для динамічної набраної мови програмування, що підтримує цикли, оголошення оголошень всередині функцій, рекурсивні виклики тощо. Я також створив віртуальну машину, яка запускає проміжний код, створений компілятором.
Зараз я думав, замість того, щоб компілювати свій власний проміжний код, скомпілювати його в байт-код Java.
Я побачив, що питання про створення мови JVM вже було задане, але я не знаходжу відповідь дуже інформативною.
Тож ось мої запитання:
- Я думаю, щоб створити мову для JVM обов’язково - це прочитати специфікацію JVM , які ще книги ви можете запропонувати (крім, звичайно, Книги драконів)? Мене здебільшого турбують книги чи навчальні посібники про те, як створити мову JVM, а не компілятор загалом.
- Є багато бібліотек Java для читання, запису та зміни файлів .class , таких як jclasslib , bcel , gnu bytecode тощо. Яку з них ви б запропонували? Крім того, чи знаєте ви про бібліотеки C, які виконують ту саму роботу?
- Я думав про те, щоб поглянути на іншу мову, націлену на JVM, таку як Clojure, Jython чи JRuby. Але всі ці мови дуже високі і складні (створити для них компілятор). Я шукав простішу (я не заперечую, якщо вона невідома чи невикористана) мови програмування, яка націлена на JVM, а її компілятор є відкритим кодом. Будь-які ідеї?