The concrete syntax for Lfun says
def ... stmt ...
The ast says the same and it is explained like this in the text.
However, the interpreter assumes that there are only definitions and invokes the main function.
Ahh, that's because the interpreter only gets run after the shrink pass. But we should also be able to interpreter the source Lfun language. So yeah, the interpreter needs fixing.
The concrete syntax for Lfun says
def ... stmt ...
The ast says the same and it is explained like this in the text. However, the interpreter assumes that there are only definitions and invokes themain
function.