Bonjour on m'a donné un exo avec pour grammaire de base:
1.A->x=A|E
2)E->E+T|T
3)T->T*F|F
4)F->x|a|(A)
Cette grammaire par exemple me permet d'avoir le mot x=a+x*a.Il ne permet d'une assignation.Ici on a que 2 lettres(x et a)
La 1er question de mon exo me demande que ma grammaire doit etre capable de donner un mot du genre :
a = 2 + 2;
x = z = (10 - 5 - (y = 2 * 3) + (x = 2) / 10) ;
Donc la grammaire doit permettre plusieurs assignations
On a dit que les assignations doivent etre traités ici en tant qu'entiers(opérations et valeurs entieres).On me demande aussi d'ajouter +, -, *, / et ^(puissance) auquel je dois ajouter Cnk(nombre de combinaison)
De plus je dois ajouter les lettres z et y
Ils ont dit que Cnk a une priorité supérieure à celle des opérateurs multiplicatifs.,javoue que cette phrase je la comprends pas trop
Du coup j'ai essyé de faire ceci mais je suis pas sur:
1.A->x=A;B|E
2.B->B-C|C
3.C->B/C|C
4.E->E+T|T
5.T->T*F|F
6.F->x|a|(A)
Oui ici j'ai utilisé des lettres or dans l'enonce ils ont dit des entiers sauf que je sais pas comment m'y prendre
Votre aide me sera d'un grand secours
-----