I've noticed that the
reference manual has a ton of statements along these lines as example code:
Code:
initz := id [= exp][',' initz]
stat := 'local' initz
memberdecl := id '=' exp [';'] | '[' exp ']' '=' exp [';'] | functionstat | 'constructor' functionexp
stat:= 'class' derefexp ['extends' derefexp] '{'
[memberdecl]
'}'
funcname := id ['::' id]
stat:= 'function' id ['::' id]+ '(' args ')'[':' '(' args ')'] stat
I remember being very perplexed by these when I first started learning Squirrel, and I have to ask, why are they here? They look nothing like what the actual language looks like.