A syntax directed definition for constructing syntax tree
E E 1 + T |
E.ptr = mknode(+, E 1 .ptr, T.ptr)
|
E T |
E.ptr = T.ptr
|
T T 1 * F |
T.ptr := mknode(*, T 1 .ptr, F.ptr)
|
T F |
T.ptr := F.ptr
|
F (E) |
F.ptr := E.ptr
|
F id |
F.ptr := mkleaf(id, entry.id)
|
F num |
F.ptr := mkleaf(num,val)
|
|
|
Now we have the syntax directed definitions to construct the parse tree for a given grammar. All the rules mentioned in slide 29 are taken care of and an abstract syntax tree is formed.
|