Recursive descent parser for a toy search engine query language