Moved the surface-syntax compiler into the parser