有些语法可以通过左递归转换为明确的语法。有没有不能转换为明确语法的语法?
答案 0 :(得分:2)
大多数实用语言都有明确的上下文无关语法(忽略context-sensitive features,例如变量声明,空格敏感度等)。
但是在给定歧义语法的情况下,没有算法可以找到歧义语法。而且,甚至没有一种算法可以肯定地告诉您给定的语法是否模棱两可。这些都是undecidable problems。
而且,要回答您的问题,是的,有无上下文的语言,没有明确的语法。这类语言被称为inherently ambiguous。