Bonsoir,
Je suis entrain d'implémenter un analyseur syntaxique qui permet de calculer des opérations arithmétique:+,-,*,/.
note:+,- ont la même priorité
*,/ ont la même priorité
On accepte les parenthèses
Voici ma grammaire:
E → T E0
E0 → + T E0
E0 → - T E0
E0 → є{E0.valeur:=0}
T → F T0
T0 → * F T0
T0 → / F T0
T0 → є{T0.valeur:=0}
F → ( E ){F.valeur:=E.valeur}
F → 0 {F.valeur:=0}
F → 1{F.valeur:=1}
F → 2{F.valeur:=2}
F → 3{F.valeur:=3}
F → 4{F.valeur:=4}
F → 5{F.valeur:=5}
F → 6{F.valeur:=6}
F → 7{F.valeur:=7}
F → 8{F.valeur:=8}
F → 9{F.valeur:=9}
Je besoin de votre aide pour donner au reste des non-terminaux une valeur "non-terminal.valeur" .
merci d'avance
Partager