slides 05 03 derivations annotated
TRANSCRIPT
-
8/13/2019 Slides 05 03 Derivations Annotated
1/22
CompilersDerivations
-
8/13/2019 Slides 05 03 Derivations Annotated
2/22
-
8/13/2019 Slides 05 03 Derivations Annotated
3/22
Derivation
Grammar
E E + E | E E | (E) | id
String
id
id + id
-
8/13/2019 Slides 05 03 Derivations Annotated
4/22
Derivation
E
E+E
E E+E
id E + E
id id + E
id id + id
E
E
E E
+
*
idid
-
8/13/2019 Slides 05 03 Derivations Annotated
5/22
Derivation
E
E
-
8/13/2019 Slides 05 03 Derivations Annotated
6/22
Derivation
E
E+E
E
E +
-
8/13/2019 Slides 05 03 Derivations Annotated
7/22
Derivation
E E
E
E+E
E +
E
E
E E
+
*
-
8/13/2019 Slides 05 03 Derivations Annotated
8/22
Derivation
E
E+E
E E+E
id E + E
E
E
E E
+
*
id
-
8/13/2019 Slides 05 03 Derivations Annotated
9/22
Derivation
E
E+E
E E+E
id E +
id id +
E
E
E
E
E E
+
*
idid
-
8/13/2019 Slides 05 03 Derivations Annotated
10/22
Derivation
E
E+E
E E+E
id E + E
id id + E
id id + id
E
E
E E
+
*
idid
-
8/13/2019 Slides 05 03 Derivations Annotated
11/22
Derivation
A parse tree has
Terminals at the leaves
Non-terminals at the interior nodes
An in-order traversal of the leaves is the original
The parse tree shows the association of operatio
input string does not
-
8/13/2019 Slides 05 03 Derivations Annotated
12/22
The example is a left-most
derivation
At each step, replace the left-
most non-terminal
There is an equivalent
notion of a right-most
derivation
E
E+E
E+id
E E + iE id +
id id +
Derivation
-
8/13/2019 Slides 05 03 Derivations Annotated
13/22
Derivation
E
E
D i i
-
8/13/2019 Slides 05 03 Derivations Annotated
14/22
Derivation
E
E+E
E
E +
D i ti
-
8/13/2019 Slides 05 03 Derivations Annotated
15/22
Derivation
id
E
E+E
E+
E
E +
D i ti
-
8/13/2019 Slides 05 03 Derivations Annotated
16/22
Derivation
E
E+E
E+id
E E + id
E
E
E E
+
*
D i ti
-
8/13/2019 Slides 05 03 Derivations Annotated
17/22
Derivation
E
E+E
E+id
E E
E
+ id
id + id
E
E
E E
+
*
id
Deri ation
-
8/13/2019 Slides 05 03 Derivations Annotated
18/22
Derivation
E
E+E
E+id
E E + id
E id + id
id id + id
E
E
E E
+
*
idid
Derivation
-
8/13/2019 Slides 05 03 Derivations Annotated
19/22
Derivation
Note that right-most and left-most derivations
same parse tree
Derivation
-
8/13/2019 Slides 05 03 Derivations Annotated
20/22
Derivation
SaXa
abYa
acXca
acca
Which of the following is a valid
derivation of the given grammar? S
X
Y
SaXa
abYa
abcXca
abcbYca
abcbdca
S
aXa
abYa
abcXcda
abccda
S
aa
Derivation
-
8/13/2019 Slides 05 03 Derivations Annotated
21/22
DerivationWhich of the following is a valid
parse tree for the given grammar? S
X
Y
S
a
b Y
aX
c cX
S
a
b Y
aX
c cX d
S
a
b Y
aX
c cX d
S
a
b Y
aX
Derivation
-
8/13/2019 Slides 05 03 Derivations Annotated
22/22
Derivation
We are not just interested in whether s L(G
We need a parse tree for s
A derivation defines a parse tree
But one parse tree may have many derivat
Left-most and right-most derivations are impin parser implementation