V>>0) Есть ли какие-то языки, которые можно успешно компилировать в байткоды для форт-машины ( двухстековая машина, произвольного доступа к
V>>элементам стека — нет, доступ к памяти есть, но дороговато обходится) ?
C>Scheme?
Хотелось бы для начала увидеть компиляцию Scheme во что-нибудь вообще. Честно говоря, не слишком представляю как устроен лисп — он
точно нормально ляжет на двухстековую машину? Или придется писать какой-то менеджер хипа для работы со списками, а стек данных
будет просто простаивать?
V>>1) Есть ли какие-то хорошо специфицированные, несложные (в принципе любая несложная, если в ней не более сотни инструкций) виртуальные машины,
V>>с компактными опкодами? Желательно, что бы были готовые компиляторы, которые генерировали для них код. LUA5, Python — некомпактны, Java — хороша,
V>>но писать компилятор и VM сложно (много инструкций, разрядность и тп) ?
C>JVM можно не всю реализовывать. Посмотри на http://en.wikipedia.org/wiki/Java_Card — оно очень близко.
Вроде смотрел, посмотрю еще раз. Если JVM реализовать не всю, но как быть с консистентностью компилятора и VM? Как ее хотя бы проверять при компиляции?
Свой компилятор писать не хочется, а если уж его писать, то уж не джаву точно.