LR(0)分析

字的前缀,活前缀

image-20201031162828878

构造能够识别活前缀的DFA

文法的拓广

image-20201031175401730

LR(0)项目

image-20201031180310637

示例

image-20201031181333640

写出所有项目,按以下步骤构造识别活前缀的DFA

image-20201031181401266

image-20201031182002767

将NFA转换成DFA(子集法)...

LR(0)项目集规范族

image-20201031182925046

通过计算项目集规范族构造识别活前缀的DFA

有效项目

image-20201031183535930

image-20201031184113735

有效项目的性质

image-20201031185055910

项目集的闭包CLOSURE

image-20201031185857045

状态转换函数

image-20201031192339738

hint:项目集的闭包CLOSURE和状态转换函数GO(I,X)可与前面学习的将NFA转换为DFA中的子集法对照理解

AC4A7BB77B69CC5705898740F1559838

image-20201031192316214

算法提炼:

image-20201031193211874

示例:

image-20201031194151708

两种方法本质上一样

LR(0)分析表的构造

ACTION和GOTO子表的构造

image-20201031195437789

示例:

已知DFA,构造LR(0)分析表(P136)

image-20201031200416963

利用构造完成的LR(0)分析表分析输入串bccd#(P137)

小结

image-20201031201135037

posted @ 2020-10-31 20:13  盐盐盐の锅  阅读(763)  评论(0编辑  收藏  举报