Let A and B be sets. A function f from A to B is an assignment of exactly one element of B to each element of A. We write f(a) = b if b is the unique element of B assigned by the function f to the element a of A. If f is a function from A to B, we write f : A→B
One parse tree only a The role of the grammar a distinguish between syntactically legal and illegal programs a But that's not enough: it must also define a parse tree a the parse tree conveys the meaning of the program What if a string can be parsed with multiple parse trees? a we say the grammar is ambiguous a must fix the grammar(the problem is not in the parser) a Note: often a string can be derived in more than one way D ie, with more than one derivation sequence o this does not mean the grammar is ambiguous