Я ищу виртуальную машину с открытым исходным кодом, которая:
Lua славится тем, что его смехотворно легко встраивать в C / C ++.Его виртуальная машина с открытым исходным кодом и кроссплатформенная, очень маленькая (и размер exe, и набор инструкций байт-кода) и в то же время довольно быстрая.Но его байт-код может не подходить для вашего языка. Формат байт-кода задокументирован здесь.
NekoVM - это язык программирования и облегченная виртуальная машина, разработанная как общая цель для разработчиков компиляторов. Документация позволяет очень легко встроить виртуальную машину в приложение на C или C ++, но кажется, что API-интерфейс VM еще не задокументирован.
Зачем отфильтровывать LLVM? Это набор библиотек C
Я полагаю, что это не так просто внедрить, как Lua, но LLVM настолько хорош, что, вероятно, преодолеет трудности его интеграции. См. этот ТАК вопрос , это помогает?
Другой возможный ответ: почему бы не выводить ассемблер вместо этого?это быстро и легко, и вам вообще не нужна виртуальная машина.Поскольку вы ориентируетесь только на x86, это может иметь смысл, в зависимости от того, что вы пытаетесь сделать.