Lua

Sintaxes completas representadas por Diagrama Sintático - Diagrama de Sintaxe (ver convenções) ou BNF (ver convenções).
Diagrama Sintático - Diagrama de Sintaxe | Diagrama Sintático - Diagrama de Sintaxe e BNF | BNF
1. lua lua : [(stat [';'])+] [(return [exp {',' exp}] | break ) [';']]
Diagrama Sintático - Diagrama de Sintaxe Lua lua
2. stat stat : var {',' var} '=' exp {',' exp} | functioncall | repeat block until exp | if exp then block [(elseif exp then block)+] [else block] end | [(for (Name '=' exp ',' exp [',' exp]|Name {',' Name} in exp {',' exp})|while exp)] do block end | function funcname funcbody | local function Name funcbody | local (Name {',' Name}) ['=' exp {',' exp}]
Diagrama Sintático - Diagrama de Sintaxe Lua stat
3. funcname funcname : Name {'.' Name} [':' Name]
Diagrama Sintático - Diagrama de Sintaxe Lua funcname
4. var var : Name | prefixexp '[' exp ']' | prefixexp '.' Name
Diagrama Sintático - Diagrama de Sintaxe Lua var
5. exp exp : nil | false | true | Number | String | '...' | function | prefixexp | tableconstructor | exp binop exp | unop exp
Diagrama Sintático - Diagrama de Sintaxe Lua exp
6. prefixexp prefixexp : var | functioncall | '(' exp ')'
Diagrama Sintático - Diagrama de Sintaxe Lua prefixexp
7. functioncall functioncall : prefixexp [ ':' Name] '(' [exp {',' exp}] ')' | tableconstructor | String
Diagrama Sintático - Diagrama de Sintaxe Lua functioncall
8. function function : 'function' funcbody
Diagrama Sintático - Diagrama de Sintaxe Lua function
9. funcbody funcbody : '(' [parlist] ')' block end
Diagrama Sintático - Diagrama de Sintaxe Lua funcbody
10. parlist parlist : namelist [',' '...'] | '...'
Diagrama Sintático - Diagrama de Sintaxe Lua parlist
11. tableconstructor tableconstructor : '{' [([('[' exp ']' | Name) '='] exp (',' | ';'|''))+] '}'
Diagrama Sintático - Diagrama de Sintaxe Lua tableconstructor
12. binop binop : '+' | '-' | '*' | '/' | '^' | '%' | '..' | '<' | '<=' | '>' | '>=' | '==' | '~=' | and | or
Diagrama Sintático - Diagrama de Sintaxe Lua binop
13. unop unop : '-' | not | '#'
Diagrama Sintático - Diagrama de Sintaxe Lua unop