In your answer , you mention the new rule:
expression → conditional ;
conditional → equality ( "?" expression ":" conditional )? ;
// Other rules...
However, the right-most operand does not need to be a conditional. The ? outside the bracket already accounts for chaining, we don't need to use conditional as the right-most operand for it. It makes things a bit confusing since every other rule uses operands of higher precedence as their "components"
In your answer , you mention the new rule:
expression → conditional ;
conditional → equality ( "?" expression ":" conditional )? ;
// Other rules...
However, the right-most operand does not need to be a conditional. The ? outside the bracket already accounts for chaining, we don't need to use conditional as the right-most operand for it. It makes things a bit confusing since every other rule uses operands of higher precedence as their "components"