Может ли кто-нибудь сказать мне, где найти спецификацию байт-кода Lua? Я искал 15 минут, и ничего не могу найти.
Спецификация байт-кода Lua
Ответ 1
Возможно A-No-Frills Введение в Lua 5.1 Инструкции VM содержит то, что вы ищете?
Существует также таблица набора команд Lua 5.0 (рисунок 5) в:
Ierusalimschy, R.; Figueiredo, L.H.; Celes, W. (2005), "Реализация Lua 5.0", J. of Universal Comp. Sci. 11 (7): 1159-1176
Вы можете найти полный текст с поиском в Google Scholar, и я тоже верю на lua.org. Эта ссылка используется на странице Lua в Википедии, которая всегда является хорошим местом для поиска таких вещей.: -)
Ответ 2
Официальное определение находится в lopcodes.h.
Ответ 3
Единственными спецификациями для Lua являются язык, стандартные библиотеки и API C. Создатели Lua намеренно оставили VM неопределенными по нескольким основным причинам:
- Lua может быть полностью реализована с любой базовой архитектурой (VM, интерпретатор, компилятор и т.д.).
- Официальному дистрибутиву Lua не нужно беспокоиться о совместимости VM между версиями.
Это означает, например, что вы вообще не должны использовать Lua VM в качестве цели для компилятора. Если вы хотите узнать, как официальная дистрибутивная виртуальная машина Lua работает как пример вашего собственного любопытства, см. Другие ответы.
Ответ 4
Вы можете читать Реализация Lua 5.0 в Интернете.