Подтвердить что ты не робот

Спецификация байт-кода Lua

Может ли кто-нибудь сказать мне, где найти спецификацию байт-кода Lua? Я искал 15 минут, и ничего не могу найти.

4b9b3361

Ответ 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 работает как пример вашего собственного любопытства, см. Другие ответы.