semantic_parser refactored, all green with new tests