Weakly Supervised Semantic Parsing with Execution-based Spurious Program Filtering