Si vous avez la grammaire comme ceci:Quand les parenthèses sont-elles utilisées dans EBNF?
<assign> → <id> = <expr>
<id> → A | B | C
<expr> → <expr> + <term>
| <term>
<term> → <term> * <factor>
| <factor>
<factor> → (<expr>)
| <id>
Et puis la phrase A = B + C * A, vous obtenez cette gauche dérivation:
<assign> => <id> = <expr>
=> A = <expr>
=> A = <expr> + <term>
=> A = <term> + <term>
=> A = <factor> + <term>
=> A = <id> + <term>
=> A = B + <term>
=> A = B + <term> * <factor>
=> A = B + <factor> * <factor>
=> A = B + <id> * <factor>
=> A = B + C * <factor>
=> A = B + C * <id>
=> A = B + C * A
Mais qu'en est-A = B + (C * UNE)?
Je ne peux pas trouver une faille dans le code de James alors je dois me tromper –