1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
"Fract(A, B) + Bar(A) + Fract(ABar(B), Bar(A))"
Séparation sur le premier '+' --> 2 chaînes :
1. "Fract(A,B)"
Séparation sur '+' : on fait rien, on passe à l'opérateur suivant
Séparation sur 'Frac' : on renvoie la liste ['Frac' | R], R étant composé de l'analyse des deux chaines en paramètre :
1.1 'A'
Séparation sur '+' : rien à faire
... plus d'opérateurs, on a un singleton --> on renvoie l'élément de liste 'A'
1.2 'B'
... on renvoie l'élément de liste 'B'
1 renvoie : ['Frac','A','B']
2."Bar(A) + Fract(ABar(B), Bar(A))"
Séparation sur '+' :
2.1 "Bar(A)" --> ['Bar','A']
2.2 "Fract(ABar(B), Bar(A))"
On renvoie ['Fract' |R] avec R composé de :
2.2.1 "ABar(B)" --> ['ABar','B']
2.2.2 "Bar(A)" --> ['Bar','A'] |
Partager