Parsing LL(k)是什么广泛使用的语言?

Parsing LL(k)是什么广泛使用的语言?,parsing,Parsing,好的,我所说的LL(k)语言,是指其解析器可以用LL(k)语法来描述的编程语言 以下是我的猜测: 帕斯卡 lisp xml和朋友这取决于“语言”的定义。如果你问 正确的编程语言是什么 可以用LL(k)解析器解析吗 那么就没有了,即使是pascal或xml,因为它们都是上下文敏感的。上下文无关语法无法检测未定义的标识符等错误,也无法匹配XML中的开始和结束标记。如果你问 什么是编程语言 使用LL(k)方便地解析 解析器,假设进一步分析 必须加上良好的形式 解析的顶端 然后是可以用(版本的)LL(k

好的,我所说的LL(k)语言,是指其解析器可以用LL(k)语法来描述的编程语言

以下是我的猜测:

帕斯卡
lisp

xml和朋友

这取决于“语言”的定义。如果你问

正确的编程语言是什么 可以用LL(k)解析器解析吗

那么就没有了,即使是pascal或xml,因为它们都是上下文敏感的。上下文无关语法无法检测未定义的标识符等错误,也无法匹配XML中的开始和结束标记。如果你问

什么是编程语言 使用LL(k)方便地解析 解析器,假设进一步分析 必须加上良好的形式 解析的顶端


然后是可以用(版本的)LL(k)解析器处理的证据。

此外,CFG不能描述“类型”,并且允许根据类型进行操作。@Arak:right;这可能比声明的需要更相关。有趣的是,Algol-68通过两级语法解决了这两个问题。@Martin这对编程语言语法允许或限制的内容进行了假设,并将词法分析和语义分析阶段结合起来。我认为重新构造答案会很有帮助。@Ellery:如果你想要不同的答案,也许你应该问得更清楚。@Ellery:然后你应该编辑你的问题以反映你刚才所说的,你的问题只要求可以通过LL(k)解析的语言。