Regardez la règle BNF récursive suivanteRewrite règle récursive BNF avec itération
(1) X = Xa | b
Ce produit des phrases comme
X = b
X = ba
X = baa
X = baaa
...
Cela peut être écrit comme
(2) X = b a*
où la main droite le côté n'est pas récursif
Maintenant, jetez un oeil à la règle BNF récursive suivante
(3) X = { X } | b
Cela produit des phrases comme
X = b
X = {b}
X = {{b}}
X = {{{b}}}
...
est d'une manière non récurrente, il possible de réécrire la règle (3) analogue à celle que nous avons fait quand nous avons réécrit la règle (1) à la règle (2).
Observez que X = {* b} * n'est pas bon puisque les parenthèses doivent être équilibrées.
C'est un peu deviner mais: x = (, ab) * a –
BTW: pour la règle (3): x = {ab je ne sais pas si c'est bon. –
@AdamOcsvari, vous n'avez pas les crochets. Et il n'y a pas de virgule impliquée. –