《程序设计语言与编译》课程PPT教学课件(高职)第十四讲 预测分析程序

三.预测分析程序 构成下推栈预测分析表控制程序输入串 1.预测分析表 ●形式M[A,a矩阵,A∈Va∈V{$} 内容A◇或出错标志(空白)
三. 预测分析程序 构成:下推栈,预测分析表,控制程序,输入串 1. 预测分析表 •形式:M[A,a]矩阵, AVN,a VT{$} •内容:A→α或出错标志(空白)

预测分析表 EE→TE E→TE E E”→+TE E→E E→E T T→FT T→FT T T→E T→*FT T→8 F F→→1 F→→(E)
预测分析表 E E’ T T’ F i + * ( ) $ E→TE’ E→TE’ E’→+TE’ T→FT’ T→FT’ T’→*FT’ F→i F→(E) E’→ε E’→ε T’→ε T’→ε T’→ε

2.分析方法 初始时$和开始符入栈,输入指针指 向第一个符号然后根据下推栈栈顶 符x和当前输入符a进行工作 ①x=a=$,成功 ②x-a≠$,匹配 ③x∈V查表
2. 分析方法 初始时,$和开始符入栈,输入指针指 向第一个符号,然后根据下推栈栈顶 符x和当前输入符a进行工作: ①x=a=$, 成功 ②x=a$, 匹配 ③xVN, 查表

例计i*i的分析过程 下推栈 输入串查分析表 SE i+*i$E→TE SET i+i*i$T→FT SETF i+i*i$F→i SETi i+i*iS SET +i*i$ T→E SE +i*i$E,→+TE SET+ +i*i$ SET i*i$T→FT
例:i+i*i的分析过程 下推栈 输入串 查分析表 $E i+i*i$ $E’T $E’T’F $E’T’ $E’T’i $E’ $E’T $E’T+ i+i*i$ +i*i$ i+i*i$ i+i*i$ +i*i$ +i*i$ i*i$ E→TE’ T→FT’ T→FT’ F→i T’→ε E’→+TE’

SETF *iS F SETi SET *i$T→*FT SETF* SETF F→→1 SET SET SE E→E 结束
$E’T’F $E’T’i i*i$ $E’T’ $E’T’F* $E’T’i $E’T’F $E’T’ $ $E’ *i$ i$ *i$ i$$$$ T’→*FT’ 结束F→i T’→ε i*i$ F→i E’→ε

四LL(1)文法 1. FIRST集 (1)定义对a∈(V八V)*有 FIRST (a)=(a@=a.,, ae VT) 若a→>E,则∈ FIRST(a) (2对文法符号X∈VN (3)当0=X1X2X时
四. LL(1)文法 1.FIRST集 (1)定义:对α(VTVN)*,有 FIRST(α)={a|αa. . . , aVT} 若αε,则εFIRST(α) (2)对文法符号XVTVN (3)当α=X1X2…Xn时 * *

X∈V则 FIRST(X){X} X∈V,分三种情形 Ⅹ→>a. Ⅹ→Y →Y1Y2..Yk
XVT , 则FIRST(X)={X}; XVN, 分三种情形: X→a… X→Y… X→Y1Y2…Yk

2. FOLLOW集 (1)定义对A∈V有 FOLLOW(Aa s3.Aa.,aEVT) 若S→.A,则$∈ FOLLOW(A)其中S为开始符号
2. FOLLOW集 (1)定义:对AVN ,有 FOLLOW(A)={a│S . . .Aa. . . ,aVT} 若S ...A, 则$FOLLOW(A),其中S为开始符号 * *

(2)求法 $∈ FOLLOW(S) A→OBβ将 FIRST(β)-{}加入 FOLLOW(B) A→0B或者AB且B将 FOLLOW(A加入 FOLLOW(B) 注意:求 FOLLOW(B实际上是考察B在产生式右 端的每一次出现
(2)求法 $ FOLLOW(S) A→αBβ: 将FIRST()-{}加入FOLLOW(B) A→αB 或 者 A→αBβ 且 βε: 将 FOLLOW(A) 加 入 FOLLOW(B) 注意: 求FOLLOW(B)实际上是考察B在产生式右 端的每一次出现 *

例:G(EE→TE E→+TE T→FT T*FTe F→(E)i
例: G(E) E→TE’ E’→+TE’│ε T→FT’ T’→*FT’ │ε F→(E)│i
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《程序设计语言与编译》课程PPT教学课件(高职)第十三讲 自顶向下语法分析.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十七讲 LR分析法.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十六讲 优先关系表的构造.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十九讲 代码生成和代码优化.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十讲 程序设计语言和编译程序.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十二讲 编译概述.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十八讲 SLR分析表的构造.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第三讲 程序单元.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第七讲 抽象数据类型.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第六讲 类型检查.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第九讲 SIMULA 67协同程序.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十一讲 一类说明语句的翻译.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十五讲 循环优化.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十四讲 代码优化.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十三讲 控制语句也可采用改写文法的方法.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十七讲 栈式分配.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十六讲 运行时存储空间管理.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十讲 含数组元素的赋值语句的翻译.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二十二讲 一类控制语句的翻译.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第二讲 强制式语言.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十五讲 自底向上语法分析.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第十一讲 自动机.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第四讲 用户定义类型.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第五讲 组合类型.ppt
- 《程序设计语言与编译》课程PPT教学课件(高职)第一讲 绪论(主编:王晓斌).ppt
- 宜宾职业技术学院:《实用组网技术》课程教学资源_期末一.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_实践考试方案.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_期末二.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_期末三.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_网络工程方案设计.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_OSPF 路由协议配置.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_RIP 路由协议配置.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_网络工程方案书写.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_交换机访问.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_交换机虚划分.doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_校园网投标书实例(一).doc
- 宜宾职业技术学院:《实用组网技术》课程教学资源_校园网投标书实例(二).doc
- 《SQL基础—语句初步》第二章 SQL.ppt
- 深圳大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第二章 计算机件系统.ppt
- 深圳大学:《计算机应用基础》课程教学资源(PPT课件讲稿)第一章 计算机基础知识.ppt