Implemented most of the rest: parser, tree searcher, dual stack algorithm