Footnotes

...is:
As usual, { a } means 0 or more a's, [ a ] means an optional a and { a }+ means one or more a's.
...functions
Actually, a function definition is an assignment to a global variable; see Section 3.
...game
BTW, Lua means moon in Portuguese.