// C++/Java assignment statement grammar // supports multiple assignment operators within the same expression // // Remember that syntactically, it's ok to have // while (a = b = c) // It's a pretty good bet this isn't what you actually want, // but it's legal. Thus, we have a separate production for // , the case where we want to end with a ";" ::= ; ::= = | = ::= | ::=