Exemple 5.11 avec l’entr´ ee : a − 4 + c
Production R` egles S´ emantiques
E → E
1+ T E .node := new Node(‘+’, E
1.node, T .node) E → E
1− T E .node := new Node(‘ − ’, E
1.node , T .node ) E → T E .node := T .node
T → ( E ) T .node := E .node
T → id T .node := new Leaf( id , id .entry )
T → num T .node := new Leaf( num , num .val )
Exemple 5.11 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques
E → E1 + T E.node := new Node(‘+’, E1.node, T.node) E → E1 − T E.node := new Node(‘−’, E1.node, T.node) E → T E.node := T.node
T → (E) T.node := E.node
T → id T.node := new Leaf(id, id.entry) T → num T.node := new Leaf(num, num.val)
E
1E
2E
3T
2T
1−
num
id(c) +
T
34
Exemple 5.11 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques
E → E1 + T E.node := new Node(‘+’, E1.node, T.node) E → E1 − T E.node := new Node(‘−’, E1.node, T.node) E → T E.node := T.node
T → (E) T.node := E.node
T → id T.node := new Leaf(id, id.entry) T → num T.node := new Leaf(num, num.val)
E
1E
2E
3T
2T
1−
num
id(c) +
N
4T
3N
44
~ a
id
Exemple 5.11 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques
E → E1 + T E.node := new Node(‘+’, E1.node, T.node) E → E1 − T E.node := new Node(‘−’, E1.node, T.node) E → T E.node := T.node
T → (E) T.node := E.node
T → id T.node := new Leaf(id, id.entry) T → num T.node := new Leaf(num, num.val)
E
1E
2E
3T
2T
1−
num
id(c) +
id N
4T
3N
44
N
4~ a
Exemple 5.11 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques
E → E1 + T E.node := new Node(‘+’, E1.node, T.node) E → E1 − T E.node := new Node(‘−’, E1.node, T.node) E → T E.node := T.node
T → (E) T.node := E.node
T → id T.node := new Leaf(id, id.entry) T → num T.node := new Leaf(num, num.val)
E
1E
2E
3T
2T
1−
num
id(c) +
id
N
4N
5N
4T
3N
44
num 4 N
5~ a
Exemple 5.11 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques
E → E1 + T E.node := new Node(‘+’, E1.node, T.node) E → E1 − T E.node := new Node(‘−’, E1.node, T.node) E → T E.node := T.node
T → (E) T.node := E.node
T → id T.node := new Leaf(id, id.entry) T → num T.node := new Leaf(num, num.val)
E
1E
2E
3T
2T
1−
num
id(c) +
id num 4
N
2N
4N
5N
5N
4T
3N
4−
N
24
~ a
Exemple 5.11 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques
E → E1 + T E.node := new Node(‘+’, E1.node, T.node) E → E1 − T E.node := new Node(‘−’, E1.node, T.node) E → T E.node := T.node
T → (E) T.node := E.node
T → id T.node := new Leaf(id, id.entry) T → num T.node := new Leaf(num, num.val)
E
1E
2E
3T
2T
1−
num
id(c)
−+
id num 4
N
2N
3N
4N
5N
5N
4N
2T
3N
44
N
3id
~ a
~ c
Exemple 5.11 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques
E → E1 + T E.node := new Node(‘+’, E1.node, T.node) E → E1 − T E.node := new Node(‘−’, E1.node, T.node) E → T E.node := T.node
T → (E) T.node := E.node
T → id T.node := new Leaf(id, id.entry) T → num T.node := new Leaf(num, num.val)
E
1E
2E
3T
2T
1−