Some feedback: I loved it. It’s simple, lightweighted and reminded me of some terminology long forgotten.
Nitpicking, my only criticism would be at the
argument “level”, there’s a big white space (
'argument' display:hidden) and then there’s below the selector for
argument and the other 2 options. Maybe you could multiply the selector for both occurrences instead of leaving the first occurrence of ‘argument’ hidden?
Also, your definition of statement is: “Statements: The statements comprising the body of the function.” This seems circular, maybe you could expand on it, saying “a statement is composed by expressions” etc.
Maybe you could also move the ‘function declaration’ example upwards (it is now located below the ‘function expression’ definition, which I find a misleading position), but this is for you to decide according to your taste.
This is not a worthy criticism, but there’s not much to criticize.
Great stuff, thanks for the comprehensive feedback JJ