- 79
- 0
- 约4.1千字
- 约 8页
- 2021-03-21 发布于天津
- 举报
专题 4_ 算符优先语法分析
李若森计科 1301
一、 理论传授
语法分析的设计方法和实现原理;算符优先文法、 最左素短语、算符优先矩阵、优先函 数的基本概念;算符优先文法句型最左素短语的确定;算符优先分析算法的实现。
二、 目标任务
实验项目
实现算符优先分析算法, 完成以下描述算术表达式的算符优先文法的算符优先分析过程。
G[E]:
Et E+T|E-T|T
Tt T*F|T/F|F
Ft(E)|i
设计说明
终结符号 i 为用户定义的简单变量,即标识符的定义。加减乘除即运算符。
设计要求
构造该算符优先文法的优先关系矩阵或优先函数;
输入串应是词法分析的输出二元式序列, 即某算术表达式 “专题 1 ”的输出结果, 输出为输入串是否为该文法定义的算术表达式的判断结果;
算符优先分析程序应能发现输入串出错;
设计两个测试用例(尽可能完备,正确和出错) ,并给出测试结果。
任务分析
重点解决算符优先矩阵的构造和算符优先算法的实现。
能力培养
深入理解理论对实践的指导作用;基本原理、实现技术和方法的正确运用。
三、实现过程
OPG优先关系
设G是一 0G (简单优先)文法, a,b € Vt , U,V,W € Vn
(1) a = b 当且仅当OG有
形如….ab….或….aVb….的规则
⑵a b 当且仅当0G有
形如….aW….的规则,而且 W=+b??.或 W=+Vb….. ⑶a b 当且仅当0G有
形如….Wb….的规则,而且 W=+….a 或 W=+ - .aV
若a,b之间至多存在上述三种优先关系之一, 0G为OPG(算符优先)文法。
FIRSTVT 集和 LASTVT 集
a) FIRSTVT 集
? 两条原则
若有规则 LR b…或U^ Vb…,贝U b € FIRSTVT(U)
若有规则 UR V…且 b € FIRSTVT(V),贝U b € FIRSTVT(U)
? 过程描述
数据结构:STACK栈
布尔数组 F(U,b) U € Vn, b € Vt
F(U,b)真 b € FIRSTVT(U)
假 b FIRSTVT(U)
算法分析
初始:F(U,b)初值(根据原则①)
F(U,b) 为真的(U,b)对进STACK栈
循环:直至STACK空(根据原则②)
弹出栈顶元素,记(V,b)
对每一个形如 Ur V…的规则
若F(U,b) 为假,变为真,进 STACK栈
若F(U,b) 为真,再循环
结果:FIRSTVT(U)={b I F(U,b)=TRUE}
FIRSTVT(E)={ +, -, *, /, (, i }
FIRSTVT(T)={ *, /, (, i }
FIRSTVT(F)={ (, i }
表3-1
U、
U、J
+
-
*
E
T
T
T
T
T
F
/
(
)
i
T
T
T
T :
T
T :
T
T
b) LASTVT 集? 两条原则①若有规则 …a或 X…aV,则a
b) LASTVT 集
? 两条原则
①若有规则 …a或 X…aV,则a € LASTVT (U)
②若有规则 …V 且 a € LASTVT (V),贝U a € LASTVT (U) ? 过程描述
数据结构:STACK栈
布尔数组 F(U,a) U € Vn,a € Vt
F(U,a)真 a € LASTVT (U) 假 a LASTVT (U)
算法分析
初始:F(U,a)初值(根据原则①)
F(U,a) 为真的(U,a)对进STACK栈
循环:直至STACK空(根据原则②)
弹出栈顶元素,记(V,a)
对每一个形如Uf V…的规则
若F(U,a) 为假,变为真,进 STACK栈
若F(U,a)为真,再循环
结果:LASTVT (U)={a I F(U,a)=TRUE}
LASTVT(E)={ +,-,*, /, ), i }
LASTVT(T)={ *, /, ), i }
LASTVT(F)={ ), i }
表3-2
U、J
+
-
*
E
T
T
T
T
T
F
/
(
)
i
T
T
T
T亍
T
T「
T
T
最左素短语
算符优先文法句型的一般形式:
#N1a1N2a2 nfanNn+1 # a i € Vt N i € V1(可有可无)
最左素短语的确定:
一个OPG句型的最左素短语是满足以下条件的最左子串:
N aj ….Nai N+1 其中:aj-1 a j
a j = a j+1 =…=a / = a i
a i a i+1
a j-1 a j = a j+1 = ???= a / = a i a i+1
所以,
夠 …NjB| N|9jNh1^1 anNh
构造OPG优先矩阵算法
FOR 每一条规则UfXiX才…片 Do
\
IF晋和X田均庚斗
您可能关注的文档
最近下载
- 【高考真题】2022年新高考物理真题试卷——湖南卷(含答案).pdf VIP
- 毕业设计论文-江苏工程职业技术学院.doc VIP
- 新人教版八年级物理下册第七章练习题.docx VIP
- 2022电网企业文化、电力与能源战略题库.pptx VIP
- 索尼A7RM3A使用说明书+入门帮助指南【完整电子版】.pdf VIP
- 【武汉市生鲜农产品的冷链物流发展现状、问题及对策探究16000字(论文)】 .pdf
- 2026版教师职称-山西-山西教师职称(基础知识、综合素质、高中信息技术)历年参考题库含答案解析5套.docx VIP
- 2020-2021学年江苏省淮安市淮阴中学八年级(上)期末物理试卷含解析.doc VIP
- 变压器油中溶解气体在线监测装置.docx VIP
- 2026年春新版二年级道德与法治下册教学计划(含教学进度表).pdf VIP
原创力文档

文档评论(0)