Lua try an expansion programming language made to help common procedural programming with information description places

Lua try an expansion programming language made to help common procedural programming with information description places

It also offers close help for object-oriented programs, useful programs, and data-driven programs. Lua will probably be used as a strong, light-weight scripting vocabulary regarding program that requires one. Lua are applied as a library, printed in clean C (that will be, in common subset of ANSI C and C++).

Are an expansion words, Lua does not have any notion of a “main” regimen: they only operates inserted in a host customer, known as embedding plan or simply just the variety. This number system can invoke applications to perform a piece of Lua laws, can write and study Lua variables, and that can enter C applications becoming labeled as by Lua laws. With the use of C functionality, Lua are augmented to deal with numerous different domains, hence generating tailored programs languages revealing a syntactical framework. The Lua submission includes an example host program labeled as lua , which makes use of the Lua library to offer a total, independent Lua interpreter.

Lua is free program, and it is given as usual without guarantees, as mentioned with its license. The execution outlined within this guide can be acquired at Lua’s recognized webpage, .


Like most additional resource manual, this data was dry in places. For a topic for the conclusion behind the design of Lua, look at technical papers offered by Lua’s internet site. For a detailed introduction to development in Lua, discover Roberto’s guide, Programming in Lua (2nd Edition).

This area defines the lexis, the syntax, and the semantics of Lua. In other words, this part represent which tokens is legitimate, how they may be matched, and exactly what their unique combinations imply.

The words constructs are going to be discussed by using the typical lengthy BNF notation, whereby indicates 0 or even more a’s, and [a] means an optional a. Non-terminals include shown like non-terminal, keywords include found like kword, alongside terminal symbols are revealed like `=A?. The whole syntax of Lua are located in A§8 at the end of this manual.

2.1 Lexical Conventions

Labels (also called identifiers) in Lua can be any sequence of emails, digits, and underscores, maybe not starting with a digit. This coincides making use of definition of names in most pinalove reviews dialects. (this is of letter relies upon the current area: any dynamics regarded alphabetic of the present locale can be utilized in an identifier.) Identifiers are widely used to name variables and desk sphere.

Lua was a case-sensitive code: and it is a reserved phrase, but And and and so are two various, legitimate names. As a meeting, brands starting with an underscore followed by uppercase characters (such as for instance _VERSION ) become arranged for internal international factors used by Lua.

Literal chain tends to be delimited by complimentary single or two fold rates, and may retain the soon after C-like get away sequences: ‘ \a ‘ (bell), ‘ \b ‘ (backspace), ‘ \f ‘ (form feed), ‘ \n ‘ (newline), ‘ \r ‘ (carriage return), ‘ \t ‘ (horizontal loss), ‘ \v ‘ (vertical loss), ‘ \\ ‘ (backslash), ‘ \” ‘ (quotation tag [double quote]), and ‘ \’ ‘ (apostrophe [single quote]). Additionally, a backslash followed closely by a genuine newline creates a newline inside string. A character in a string can also be specified by their numerical advantages using the get away sequence \ddd , in which ddd was a sequence as much as three decimal digits. (remember that if a numerical escape is usually to be followed by a digit, it needs to be conveyed using precisely three digits.) Strings in Lua can contain any 8-bit price, like stuck zeros, which are often specified as ‘ \0 ‘.