我一直在编写一些递归上升解析器,而我一直在努力解决的问题之一是左递归。在我看来,右递归可以递归地表达,就像addExpr:primaryExpr'+'addExpr|primaryExpr;按照的思路parseAddExpr(){autox=parsePrimaryExpr();if(next_token=='+'){autoresult=make_unique();result->lhs=x;result->rhs=parseAddExpr();returnstd::move(result);}returnstd::move(x);}但是对于左递归,我能想出的只是一个while循环。