Я пишу компилятор байт-кода Java в Java, скомпилировав код Jasmin и собрав его.Я создаю его с намерением, чтобы файлы исходного кода могли ссылаться на классы библиотеки Java и использовать их (вам в значительной степени это нужно для строк, печати и т. Д.).Моя проблема в том, как именно это сделать.
До сих пор я только что использовал ссылку на список всех классов библиотеки, который содержится в текстовом файле в папке установки Java (он просто перечисляет ихпакеты и имена).Я использовал его при кодировании анализатора / средства проверки типов, хотя это было далеко не идеально, поскольку средство проверки типов не могло выполнять какую-либо проверку типов при использовании библиотечных классов.
Сейчас действительно проблема в том, что яработая над генерацией кода, потому что, если вы хотите вызвать метод из класса библиотеки, вы должны дать ему полную сигнатуру метода - то, к чему у меня нет доступа.
Я бродил, что бы посоветовал людямо том, как прогрессировать.Одним из способов было бы пройти через все классы, создавая базу данных / список всех их параметров и возвращаемых типов.Это было бы чрезвычайно трудоемким, очевидно, и, вероятно, слишком нереальным.Возможны ли другие, более элегантные подходы?
Спасибо, Уилл
PS Я использую Python для кодирования этого.Я полагаю, если решение должно использовать код Java, я мог бы запустить его как подпроцесс.