Справочное руководство по языку Lua 5.1 :: 2.4.1 - Управляющие конструкции



2.4.1 – Порции

Единица исполнения Lua называется chunk (порция). Порция – это любая последовательность операторов Lua. Операторы в порции могут разделяться запятыми:


     chunk ::= {stat [';']}

Пустого оператора в языке нет, поэтому выражение ';;' не допустимо.

Lua воспринимает порцию как неименованную функцию с произвольным набором параметров (смотрите §2.5.9). Порция может определять локальные переменные и возвращать значения.

Порция может храниться в файле или в строке базовой программы. В момент запуска порции на выполнение осуществляется компиляция ее в промежуточный байт-код (инструкции для виртуальной машины). Затем полученный код исполняется виртуальной машиной.

Порции могут быть компилированы в бинарный вид; подробнее в описании программы luac. Текстовые файлы с кодом и двоичные прекомпилированные части кода равноправны; Lua автоматически определяет тип файла и действует соответственно.