CSE 428
Midterm 1 Solution
E ::= E "+" F | E "-" F | F F ::= F "*" F | G G ::= "-"G | H H ::= N | Id | "(" E ")"a)
x * (y--5) :
unambiguous+x * y :
cannot be generatedx * y + z * v :
unambiguous(x + z) * -u * (v) :
ambiguous-(-(x + y)) :
unambiguoussenv[f:t1->t2][g:t3->t4][x:t1] |- Ef:t2 senv[f:t1->t2][g:t3->t4][y:t3] |- Eg:t4 senv[f:t1->t2][g:t3->t4] |- e:t ---------------------------------------------------------------------------- let f(x:t1):t2 = Ef; g(y:t3):t4 = Eg in e : t