Важно : задачу нужно решить не используя ANTLR и подобные инструменты
У меня есть язык программирования который я распарсил и получил абстрактное синтаксическое дерево. Собственно вопрос состоит в следующем : как преобразовать абстрактное синтаксическое дерево в байт-код, прошу подскажите литературу и статьи по теме которые вы знаете, ВАЖНО что бы там были примеры кода компиляции, а не только описание алгоритмов.
Если грубо, то обойти дерево, выдавая соответствующий каждому узлу байткод.
- вот в этом месте затык, как преобразовать арифметические(логические) операции в байт код я понимаю, с этим проблем нет. Работу с локальными переменными я могу закодировать.
Но как обработать к примеру классы(структуры) не понимаю, как их представить в байт коде?
Как импортировать классы из одного файла в другой, что бы можно былло создавать объекты класса в файле А, а сам класс был объявлен в файле Б.
Андрей, класс - это высокоуровневая абстракция, обычно не представленная на уровне байткода. Как и импорт - это не задача для этапа генерации байткода. Стоит предварительно сделать разрешение имён и внешних зависимостей, сформировать таблицы символов.