CLR 定义了规范的前瞻。CLR 解析使用 LR (1) 项的规范集合来构造 CLR (1) 解析表。与 SLR (1) 解析相比,CLR (1) 解析表的状态数更多。在CLR(1)中,它只能在前瞻符号中定位reduce节点。
CLR 解析器的工作
LR(1)语法项目集合的构建
它需要三样东西
增强语法
闭包函数
转到函数
增强语法 它是一个新的语法 G',其中包含一个新的产生式
S′ → S 与给定语法 G 的所有其他产生式。
关闭
程序关闭(一)
begin Repeat for each item A → α ∙ B β, a in I, each production B → γ and each terminal b ∈ FIRST (β a) If B → ∙ γ is not in I Add B → ∙ γ, b to I Until no more elements can be joined to I; end