考虑这个表达式:
3 + 2 + 2 * 2 =?
它会是14吗?
答案 0 :(得分:2)
没有。这就是你从左到右的评价中得到的结果。 LL解析器将构建与LR解析器相同的解析树,
+
/ \
3 +
/ \
2 *
/ \
2 2
并将其评估为
(+ 3 (+ 2 (* 2 2))
这是9,正如您所期望的那样。
LL解析器的特殊之处在于,对于受限制的语法,它们总是能够以有限的前瞻从左到右进行。这使它们易于描述和易于解析;一些Pascal是最常见的LL语言之一。
您可以查看leftmost derivation上的Wiki文章。