Semantic grammar: An engineering technique for constructing natural language understanding systems