The Lua-Syntax is defined as follows:
chunk -> { stat [ ‘;’ ] }
block -> chunk
stat -> varlist1 ‘=’ explist1
| functioncall
| do block end
| while exp do block end
| repeat block until exp
| if exp then block { elseif exp then block } [ else block ] end
| return [ explist1 ]
| break
| for Name ‘=’ exp ‘,’ exp [ ‘,’ exp ] do block end
| for Name { ‘,’ Name } in explist1 do block end
| function funcname funcbody
| local function Name funcbody
| local namelist [ init ]
funcname -> Name { ‘.’ Name } [ ‘:’ Name ]
varlist1 -> var { ‘,’ var }
var -> Name | prefixexp ‘[’ exp ‘]’ | prefixexp ‘.’ Name
namelist -> Name { ‘,’ Name }
init -> ‘=’ explist1
explist1 -> { exp ‘,’ } exp
exp -> nil | false | true | Number | Literal
| function | prefixexp | tableconstructor | exp binop exp | unop exp
prefixexp -> var | functioncall | ‘(’ exp ‘)’
functioncall -> prefixexp args | prefixexp ‘:’ Name args
args -> ‘(’ [ explist1 ] ‘)’ | tableconstructor | Literal
function -> function funcbody
funcbody -> ‘(’ [ parlist1 ] ‘)’ block end
parlist1 -> Name { ‘,’ Name } [ ‘,’ ‘...’ ] | ‘...’
tableconstructor -> ‘{’ [ fieldlist ] ‘}’
fieldlist -> field { fieldsep field } [ fieldsep ]
field -> ‘[’ exp ‘]’ ‘=’ exp | name ‘=’ exp | exp
fieldsep -> ‘,’ | ‘;’
binop -> ‘+’ | ‘-’ | ‘*’ | ‘/’ | ‘^’ | ‘..’
| ‘<’ | ‘<=’ | ‘>’ | ‘>=’ | ‘==’ | ‘~=’
| and | or
unop -> ‘-’ | not
I tried to build this Syntax of Lua int Rail-Diagramms . The result can be found in the PDF-Dokument.
Please correct me, if there are errors. It's more ore less a beta-version.