The two grammar productions can be ambiguous, and they can look exactly the same, for example: functionfoo() {}// FunctionDeclaration0,functionfoo() {}// FunctionExpression The parser knows if it's aFunctionDeclarationor aFunctionExpression, depending on thecontextwhere it appears. In the abov...