chunk

blockEOF

block

statretstat

stat

SEMICOLONvariablestatvariablelabelbreakstatgotostatdostatwhilestatrepeatstatifstatnumericforstatgenericforstatfunctionstatlocalfunctionstatlocalvariablestat

breakstat

BREAK

gotostat

GOTONAME

dostat

DOblockEND

whilestat

WHILEexpDOblockEND

repeatstat

REPEATblockUNTILexp

ifstat

IFexpTHENblockELSEIFexpTHENblockELSEblockEND

genericforstat

FORnamelistINexplistDOblockEND

numericforstat

FORNAMEEQUALSexpCOMMAexpCOMMAexpDOblockEND

functionstat

FUNCTIONfuncnamefuncbody

localfunctionstat

LOCALFUNCTIONNAMEfuncbody

localvariablestat

LOCALattnamelistEQUALSexplist

variablestat

variablelistEQUALSexplist

attnamelist

NAMEattribCOMMANAMEattrib

attrib

LTNAMEGT

retstat

RETURNexplistSEMICOLON

label

DCOLONNAMEDCOLON

funcname

NAMEDOTNAMECOLONNAME

variablelist

variableCOMMAvariable

namelist

NAMECOMMANAME

explist

expCOMMAexp

exp

NILFALSETRUEnumberlstringDOTSfunctiondefvariabletableconstructor<assoc=right>expoperatorPowerexpoperatorUnaryexpexpoperatorMulDivModexpexpoperatorAddSubexp<assoc=right>expoperatorStrcatexpexpoperatorComparisonexpexpoperatorAndexpexpoperatorOrexpexpoperatorBitwiseexp

variable

NAMEvariableLBRACKexpRBRACKDOTNAMELPARENexpRPARENvariablenameAndArgs

nameAndArgs

COLONNAMEargs

args

LPARENexplistRPARENtableconstructorlstring

functiondef

FUNCTIONfuncbody

funcbody

LPARENparlistRPARENblockEND

parlist

namelistCOMMADOTSDOTS

tableconstructor

LBRACEfieldlistRBRACE

fieldlist

fieldfieldsepfieldfieldsep

field

LBRACKexpRBRACKEQUALSexpNAMEEQUALSexpexp

fieldsep

COMMASEMICOLON

operatorOr

OR

operatorAnd

AND

operatorComparison

LTGTLTEGTENEQEQ

operatorStrcat

STRCAT

operatorAddSub

PLUSMINUS

operatorMulDivMod

MULDIVMODDIVFLOOR

operatorBitwise

BITANDBITORBITNOTBITSHLBITSHR

operatorUnary

NOTLENMINUSBITNOT

operatorPower

POWER

number

INTHEXFLOATHEX_FLOAT

lstring

NORMALSTRINGCHARSTRINGLONGSTRING