Как проект в школе, я должен сделать интерпретатор JavaScript.(Все, включая весь бэкэнд, должен быть сделан мной).
Все должно быть написано на Java - я использую ANTLR для анализа и генерации AST.
в настоящее время я могу разобрать некоторые.JS код в AST - и, следовательно, необходимо перевести этот AST в сом-вид промежуточного представления, который может быть выполнен на машине с байт-кодом.
У меня есть некоторый опыт написания компиляторов для статически типизированных языков, но я оченьв сомнениях, как поступить отсюда, поскольку JS является динамически типизированным языком.
Если бы вы могли дать мне несколько хороших советов о том, как действовать, я был бы признателен!
Лично я считаю, что сначала мне нужно сделать машину с байт-кодом, а затем настроить ИК на эту машину впоследствии.,К сожалению, я не могу найти какие-либо хорошие учебники о том, как написать байт-код машины.
PS.Я знаком со следующими книгами по этой теме:
"Современная реализация компилятора в Java (Appel)", "Процессоры языка программирования в Java (Watt & Brown)", "Шаблоны языковой реализации (Parr)"
С уважением, Сьюн