Programming by Demonstration with Situated Semantic Parsing