什么是最左派的意思?

时间:2013-03-04 03:28:35

标签: parsing language-agnostic compiler-construction

请帮助我理解Left Most Derivation LLL Parser {{1}}的含义。

用最简单的例子解释一下。

我看到下面的图片解释最左派的,但我不明白:

enter image description here

1 个答案:

答案 0 :(得分:10)

语法规则显示在左侧,带有非终结符号和终端符号。非终结符号应为大写字母,其他所有符号通常为终结符号。在示例中,N和D是非终结的,0-9是终端。左派最左派总是使最左边的非终结符合语法规则。尝试格式化下面的示例。

N
=> N D   --Replaces the first/left most/only (which is "N") with the N => N D rule
=> N D D --Replaces the first/left most nonterminal (which is "N") with the N => N D rule
=> D D D --Replaces the first nonterminal (which is "N") with the N => D rule
=> 1 D D --Replaces the first nonterminal ("D") with the D => 1 rule(our first terminal character!)
=> 1 2 D --Replaces the first nonterminal ("D") with the D => 2 rule
=> 1 2 3 --Replaces the first nonterminal ("D") with the D => 3 rule
-- Only terminal characters remain, derivation/reduction is complete.