Exemple 5.12 avec l’entr´ ee : a − 4 + c
Production R` egles S´ emantiques E → T E
′E .node := E
′. syn
E
′. inh := T .node
E
′→ + T E
1′E
1′. inh := new Node(‘+’, E
′. inh, T .node ) E
′. syn := E
1′. syn
E
′→ −T E
1′E
1′. inh := new Node(‘ − ’, E
′. inh, T .node ) E
′. syn := E
1′. syn
E
′→ ǫ E
′. syn := E
′. inh
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.12 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques E → T E′ E.node := E′.syn
E′.inh := T.node
E′ → +T E1′ E1′.inh := new Node(‘+’, E′.inh, T.node) E′.syn := E1′.syn
E′ → −T E1′ E1′.inh := new Node(‘−’, E′.inh, T.node) E′.syn := E1′.syn
E′ → ǫ E′.syn := E′.inh 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
T
1E
1′id
1 −num
a T
2E
2′4 +
T
3E
3′Exemple 5.12 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques E → T E′ E.node := E′.syn
E′.inh := T.node
E′ → +T E1′ E1′.inh := new Node(‘+’, E′.inh, T.node) E′.syn := E1′.syn
E′ → −T E1′ E1′.inh := new Node(‘−’, E′.inh, T.node) E′.syn := E1′.syn
E′ → ǫ E′.syn := E′.inh 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
T
1E
1′id
1 −num id a
N
4a
N
4E
2′T
24 +
T
3E
3′Exemple 5.12 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques E → T E′ E.node := E′.syn
E′.inh := T.node
E′ → +T E1′ E1′.inh := new Node(‘+’, E′.inh, T.node) E′.syn := E1′.syn
E′ → −T E1′ E1′.inh := new Node(‘−’, E′.inh, T.node) E′.syn := E1′.syn
E′ → ǫ E′.syn := E′.inh 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
T
1E
1′id
1 −num id a
N
4a
N
4N
4E
2′T
24 +
T
3E
3′Exemple 5.12 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques E → T E′ E.node := E′.syn
E′.inh := T.node
E′ → +T E1′ E1′.inh := new Node(‘+’, E′.inh, T.node) E′.syn := E1′.syn
E′ → −T E1′ E1′.inh := new Node(‘−’, E′.inh, T.node) E′.syn := E1′.syn
E′ → ǫ E′.syn := E′.inh 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
T
1E
1′id
1 −num id a num
4N
4N
5a
N
4N
4E
2′T
2N
54 +
T
3E
3′Exemple 5.12 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques E → T E′ E.node := E′.syn
E′.inh := T.node
E′ → +T E1′ E1′.inh := new Node(‘+’, E′.inh, T.node) E′.syn := E1′.syn
E′ → −T E1′ E1′.inh := new Node(‘−’, E′.inh, T.node) E′.syn := E1′.syn
E′ → ǫ E′.syn := E′.inh 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
T
1E
1′id
1 −num
−
id a num
4N
2N
4N
5a
N
4N
4E
2′T
2N
5N
24 +
T
3E
3′Exemple 5.12 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques E → T E′ E.node := E′.syn
E′.inh := T.node
E′ → +T E1′ E1′.inh := new Node(‘+’, E′.inh, T.node) E′.syn := E1′.syn
E′ → −T E1′ E1′.inh := new Node(‘−’, E′.inh, T.node) E′.syn := E1′.syn
E′ → ǫ E′.syn := E′.inh 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
T
1E
1′id
1 −num
id
−
c
id a num
4N
2N
3N
4N
5a
N
4N
4E
2′T
2N
5N
24 +
T
3N
3E
3′Exemple 5.12 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques E → T E′ E.node := E′.syn
E′.inh := T.node
E′ → +T E1′ E1′.inh := new Node(‘+’, E′.inh, T.node) E′.syn := E1′.syn
E′ → −T E1′ E1′.inh := new Node(‘−’, E′.inh, T.node) E′.syn := E1′.syn
E′ → ǫ E′.syn := E′.inh 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
T
1E
1′id
1 −num
+
id
−
c
id a num
4N
1N
2N
3N
4N
5a
N
4N
4E
2′T
2N
5N
24 +
T
3N
3N
1E
3′Exemple 5.12 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques E → T E′ E.node := E′.syn
E′.inh := T.node
E′ → +T E1′ E1′.inh := new Node(‘+’, E′.inh, T.node) E′.syn := E1′.syn
E′ → −T E1′ E1′.inh := new Node(‘−’, E′.inh, T.node) E′.syn := E1′.syn
E′ → ǫ E′.syn := E′.inh 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
T
1E
1′id
1 −num
+
id
−
c
id a num
4N
1N
2N
3N
4N
5a
N
4N
4E
2′T
2N
5N
24 +
T
3N
3N
1E
3′N
1Exemple 5.12 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques E → T E′ E.node := E′.syn
E′.inh := T.node
E′ → +T E1′ E1′.inh := new Node(‘+’, E′.inh, T.node) E′.syn := E1′.syn
E′ → −T E1′ E1′.inh := new Node(‘−’, E′.inh, T.node) E′.syn := E1′.syn
E′ → ǫ E′.syn := E′.inh 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
T
1E
1′id
1 −num
+
id
−
c
id a num
4N
1N
2N
3N
4N
5a
N
4N
4E
2′N
1T
2N
5N
24 +
T
3N
3N
1E
3′N
1Exemple 5.12 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques E → T E′ E.node := E′.syn
E′.inh := T.node
E′ → +T E1′ E1′.inh := new Node(‘+’, E′.inh, T.node) E′.syn := E1′.syn
E′ → −T E1′ E1′.inh := new Node(‘−’, E′.inh, T.node) E′.syn := E1′.syn
E′ → ǫ E′.syn := E′.inh 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
T
1E
1′id
1 −num
+
id
−
c
id a num
4N
1N
2N
3N
4N
5N
1a
N
4N
4E
2′N
1T
2N
5N
24 +
T
3N
3N
1E
3′N
1Exemple 5.12 avec l’entr´ ee : a − 4 + c
Production R`egles S´emantiques E → T E′ E.node := E′.syn
E′.inh := T.node
E′ → +T E1′ E1′.inh := new Node(‘+’, E′.inh, T.node) E′.syn := E1′.syn
E′ → −T E1′ E1′.inh := new Node(‘−’, E′.inh, T.node) E′.syn := E1′.syn
E′ → ǫ E′.syn := E′.inh 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
T
1E
1′id
1 −num
+
id
−
c
id a num
4N
1N
2N
3N
4N
5N
1N
1a
N
4N
4E
2′N
1T
2N
5N
24 +