script
stat
stat
stat
assignment_stat
assignment_stat
do_stat
do_stat
while_stat
while_stat
repeat_stat
repeat_stat
for_loop_stat
for_loop_stat
for_seq_stat
for_seq_stat
func_call_stat
func_call_stat
if_stat
if_stat
function_def
function_def
assignment_stat
LOCAL
LOCAL
varlist1
varlist1
EQ
EQ
explist1
explist1
varlist1
var
var
','
[suppress]
var
var
var
var_part
var_part
'.'
[suppress]
var_part
var_part
var_part
var_atom
var_atom
index_ref
index_ref
functioncall
functioncall
name
name
exp_group
exp_group
var_atom
functioncall
functioncall
name
name
exp_group
exp_group
functioncall
prefixexp
prefixexp
COLON
COLON
name
name
args
args
prefixexp
name
name
exp_group
exp_group
name
keyword
keyword
[NOT]
identifier
identifier
'.'
keyword
keyword
[NOT]
identifier
identifier
[combine]
keyword
'return'
'break'
'do'
'end'
'while'
'if'
'then'
'elseif'
'else'
'for'
'in'
'function'
'local'
'repeat'
'until'
'nil'
'false'
'true'
'and'
'or'
'not'
identifier
W:(A-Z_a-zªµºÀ-Ö..., 0-9A-Z_a-zªµ·...)
exp_group
LPAR
LPAR
exp
exp
RPAR
RPAR
exp
'or' operations
'or' operations
'or' operations
'and' operations
'and' operations
OR
OR
'and' operations
'and' operations
'and' operations
'and' operations
'and' operations
<= | < | >= | > | ~= | == operations
<= | < | >= | > | ~= | == operations
AND
AND
<= | < | >= | > | ~= | == operations
<= | < | >= | > | ~= | == operations
<= | < | >= | > | ~= | == operations
<= | < | >= | > | ~= | == operations
<= | < | >= | > | ~= | == operations
'|' operations
'|' operations
<= | < | >= | > | ~= | ==
<= | < | >= | > | ~= | ==
'|' operations
'|' operations
'|' operations
'|' operations
'|' operations
'~' operations
'~' operations
'|'
'~' operations
'~' operations
'~' operations
'~' operations
'~' operations
'&' operations
'&' operations
'~'
'&' operations
'&' operations
'&' operations
'&' operations
'&' operations
<< | >> operations
<< | >> operations
'&'
<< | >> operations
<< | >> operations
<< | >> operations
<< | >> operations
<< | >> operations
'..' operations
'..' operations
<< | >>
<< | >>
'..' operations
'..' operations
'..' operations
'..' operations
'..' operations
+ | - operations
+ | - operations
'..'
+ | - operations
+ | - operations
+ | - operations
+ | - operations
+ | - operations
* | // | / | % operations
* | // | / | % operations
+ | -
+ | -
* | // | / | % operations
* | // | / | % operations
* | // | / | % operations
* | // | / | % operations
* | // | / | % operations
not op operations
not op operations
* | // | / | %
* | // | / | %
not op operations
not op operations
not op operations
not op operations
not op operations
not op
not op
not op operations
not op operations
'^' operations
'^' operations
not op
NOT
NOT
# | - | ~
# | - | ~
NOT
'not'
# | - | ~
[#\-~]
'^' operations
NIL
NIL
FALSE
FALSE
TRUE
TRUE
real number with scientific notation
real number with scientific notation
real number
real number
signed integer
signed integer
string enclosed in "'"
string enclosed in '"'
multiline_string
multiline_string
ELLIPSIS
ELLIPSIS
functioncall
functioncall
var
var
tableconstructor
tableconstructor
nested_exp_atom
nested_exp_atom
'^'
NIL
NIL
FALSE
FALSE
TRUE
TRUE
real number with scientific notation
real number with scientific notation
real number
real number
signed integer
signed integer
string enclosed in "'"
string enclosed in '"'
multiline_string
multiline_string
ELLIPSIS
ELLIPSIS
functioncall
functioncall
var
var
tableconstructor
tableconstructor
nested_exp_atom
nested_exp_atom
NIL
NIL
FALSE
FALSE
TRUE
TRUE
real number with scientific notation
real number with scientific notation
real number
real number
signed integer
signed integer
string enclosed in "'"
string enclosed in '"'
multiline_string
multiline_string
ELLIPSIS
ELLIPSIS
functioncall
functioncall
var
var
tableconstructor
tableconstructor
nested_exp_atom
nested_exp_atom
tableconstructor
LBRACE
LBRACE
field_list
field_list
RBRACE
RBRACE
LBRACE
'{'
[suppress]
field_list
field
field
fieldsep
fieldsep
[suppress]
field
field
fieldsep
fieldsep
[suppress]
field
LBRACK
LBRACK
exp
exp
RBRACK
RBRACK
EQ
EQ
exp
exp
name
name
EQ
EQ
exp
exp
exp
exp
fieldsep
COMMA
COMMA
SEMI
SEMI
RBRACE
'}'
[suppress]
nested_exp_atom
'('
[suppress]
exp
exp
')'
[suppress]
NIL
'nil'
FALSE
'false'
TRUE
'true'
real number with scientific notation
[+-]?(?:\d+(?:[eE][+-]?\d+)|(?:\d+\.\d*|\.\d+)(?:[eE][+-]?\d+)?)
real number
[+-]?(?:\d+\.\d*|\.\d+)
signed integer
[+-]?\d+
* | // | / | %
\*|//|/|%
+ | -
[+\-]
<< | >>
<<|>>
<= | < | >= | > | ~= | ==
<=|<|>=|>|\~=|==
AND
'and'
OR
'or'
args
LPAR
LPAR
explist1
explist1
RPAR
RPAR
tableconstructor
tableconstructor
string enclosed in "'"
string enclosed in '"'
multiline_string
multiline_string
explist1
exp
exp
','
[suppress]
exp
exp
multiline_string
quoted string, starting with [[ ending with ]]
index_ref
LBRACK
LBRACK
exp
exp
RBRACK
RBRACK
LBRACK
'['
[suppress]
RBRACK
']'
[suppress]
do_stat
DO
DO
block
block
END
END
block
stat
stat
OPT_SEMI
OPT_SEMI
laststat
laststat
OPT_SEMI
OPT_SEMI
OPT_SEMI
SEMI
SEMI
[suppress]
SEMI
';'
[suppress]
laststat
RETURN
RETURN
explist1
explist1
BREAK
BREAK
RETURN
'return'
BREAK
'break'
while_stat
WHILE
WHILE
exp
exp
block
block
END
END
WHILE
'while'
repeat_stat
REPEAT
REPEAT
block
block
UNTIL
UNTIL
exp
exp
REPEAT
'repeat'
UNTIL
'until'
for_loop_stat
FOR
FOR
name
name
EQ
EQ
exp
exp
COMMA
COMMA
exp
exp
COMMA
COMMA
exp
exp
DO
DO
block
block
END
END
EQ
'='
for_seq_stat
FOR
FOR
namelist
namelist
IN
IN
explist1
explist1
DO
DO
block
block
END
END
FOR
'for'
namelist
name
name
','
[suppress]
name
name
IN
'in'
DO
'do'
func_call_stat
LOCAL
LOCAL
functioncall
functioncall
if_stat
IF
IF
exp
exp
THEN
THEN
block
block
ELSEIF
ELSEIF
exp
exp
THEN
THEN
block
block
ELSE
ELSE
block
block
END
END
IF
'if'
ELSEIF
'elseif'
THEN
'then'
ELSE
'else'
function_def
LOCAL
LOCAL
FUNCTION
FUNCTION
funcname
funcname
LPAR
LPAR
parlist
parlist
RPAR
RPAR
block
block
END
END
LOCAL
'local'
FUNCTION
'function'
funcname
name
name
COLON
COLON
name
name
name
name
COLON
':'
[suppress]
LPAR
'('
[suppress]
parlist
namelist
namelist
COMMA
COMMA
ELLIPSIS
ELLIPSIS
ELLIPSIS
ELLIPSIS
COMMA
','
[suppress]
ELLIPSIS
'...'
RPAR
')'
[suppress]
END
'end'