Описание тега lua-5.1
Lua - это мощный, быстрый, легкий встраиваемый язык сценариев.
Lua объединяет простой процедурный синтаксис с мощными конструкциями описания данных, основанными на ассоциативных массивах и расширяемой семантике. Lua имеет динамическую типизацию, запускается путем интерпретации байт-кода для виртуальной машины на основе регистров и имеет автоматическое управление памятью с инкрементной сборкой мусора, что делает его идеальным для настройки, написания сценариев и быстрого прототипирования.
Lua - это язык программирования расширений, предназначенный для поддержки общего процедурного программирования со средствами описания данных. Он также предлагает хорошую поддержку объектно-ориентированного программирования, функционального программирования и программирования, управляемого данными. Lua предназначен для использования в качестве мощного и легкого языка сценариев для любой программы, которая в нем нуждается. Lua реализован в виде библиотеки, написанной на чистом C (то есть в общем подмножестве ANSI C и C++).
Будучи языком расширения, Lua не имеет понятия "основная" программа: он работает только встроенным в хост-клиент, называемый программой встраивания или просто хостом. Эта основная программа может вызывать функции для выполнения части кода Lua, может записывать и читать переменные Lua и может регистрировать функции C для вызова кодом Lua. Благодаря использованию функций C, Lua может быть расширен, чтобы справиться с широким спектром различных доменов, тем самым создавая настраиваемые языки программирования, разделяющие синтаксическую структуру. Дистрибутив Lua включает пример хост-программы под названием lua, которая использует библиотеку Lua, чтобы предложить полный, автономный интерпретатор Lua.
Lua является бесплатным программным обеспечением и предоставляется, как обычно, без каких-либо гарантий, как указано в его лицензии. Реализация, описанная в этом руководстве, доступна на официальном веб-сайте Lua.