compiler5_语法分析
第五章 语法分析 5.1 语法分析概述 5.2 自顶向下分析法 5.2.1 自顶向下分析的一般过程 5.2.2 自顶向下分析方法特点 5.2.3 自顶向下分析存在的问题及解决方法 5.2.4 递归子程序法(递归下降分析法) 5.3 自底向上分析法 5.3.1 自底向上分析的一般过程(移进-归约分析) 5.3.2 算符优先分析法 5.3.3 LR分析法 5.2 自顶向下分析 5.2.1 自顶向下分析的一般过程 5.2.2 自顶向下分析方法特点 5.2.3 自顶向下分析存在的问题及解决方法 5.2.4 递归子程序法(递归下降分析法) 5.2.1 自顶向下分析的一般过程 5.2.2 自顶向下分析方法特点 5.2.3 自顶向下分析存在的问题及解决方法 1. 左递归文法: 2. 回溯问题 3.文法的两个条件 5.2.4 递归子程序法(递归下降分析法) 5.2.5 用递归子程序法构造语法分析程序的例子 5.2.6 LL分析法 1、LL分析程序构造及分析过程 例:设有文法G[S]: S→aBc | bAB A→aAb | b B →b | ε 5.3 自底向上分析 5.3.1 移进-归约分析 (自底向上分析的一般过程) 5.3.2 算符优先分析法 5.3.3 LR分析法 5.3 自底向上分析 基本算法思想: 5.3.1 移进—规约分析(Shift-reduce parsing) 要点:建立符号栈,用来纪录分析的历史和现状,并根据所面临的状态,确定下一步动作是移进还是规约。 5.3.2 算符优先分析(Operator-Precedence Parsing) 5.3.3 算符优先分析法的进一步讨论 (1)算符优先文法(OPG) (2)构造优先关系矩阵 (3)算符优先分析算法的设计 5.3.4 LR分析法 5.3.4.1 LR分析法的概述 5.3.4.2 LR分析 5.3.4.1 LR分析法的概述 (1)LR分析法的优缺点 (2)LR分析器有三部分: 状态栈、分析表、控制程序 (3)分析表的种类 (4)补充说明 (1) LR分析法的优缺点: 1) 适合文法类足够大,适用于所有上下文无关文法 2) 分析效率高 3) 报错及时 4) 可以自动生成 5) 手工实现工作量大 5.3.4.2 LR分析 (1)逻辑结构 (2) LR分析过程 ACTION表 GOTO表 文法G[E] :(1)E::=E+T (2)E::=T (3)T ::=T*F (4)T::=F (5)F::=(E) (6)F::=i 5.3.4.3 构造SLR分析表 构造LR分析表的方法是: (1)根据文法构造识别规范句型活前缀的有穷自动机DFA (2)由DFA构造SLR分析表 第五章 语法分析小结 * * 于是算符优先分析法:如何确定当前句型的最左素短语? 设有OPG文法句型为: #N1a1N2a2…NnanNn+1# 其中Ni为非终结符(可以为空), ai为终结符 定理:一个OPG句型的最左素短语是满足下列条件的 最左子串:aj-1Njaj…NiaiNi+1ai+1 其中 aj-1aj aj=aj+1, aj+1= aj+2 ,…, ai-2= ai-1, ai-1= ai ai ai+1 . . . . . . * * 根据该定理,要找句型的最左素短语就是要找满足 上述条件的最左子串. 注意:出现在aj左端和a i右端的非终结符号一定属于这个素短语,因为我们的运算是中缀形式给出的(OPG文法的特点)NaNaNaN ?NaWaN 例: 文法G[E] E::=E+T|T T::=T*F|F F::=(E)|i 分析文法的句型T+T*F+i * * 可以看出: 1. 每次规约最左子串,确实是当前句型的最左素短语(语法树) 2. 规约的不都是真句柄(仅i规约为F是句柄,但它是最左短语) 3. 没有完全按规则进行规约,因为素短语不一定是简单短语 步骤 句型 关系 最左子串 规约符号 1 2 3 4 #T+T*F+i# #T+T+i# #E+i# #E+F# #+*+i# #++i# #+i#
您可能关注的文档
- 人教版化学必修一第四章 第二节 富集在海水中的元素 课件 (共22张PPT).ppt
- 人教版六年级上3草虫的村落ppt.ppt
- 81加权平均数.ppt
- 人教版化学必修一第四章 第四节 氨 硝酸 硫酸 课件.ppt
- CLX 高级课程_new.ppt
- 8205工作面安装措施.doc
- CM椅产品手册.ppt
- CNAS-CL52解读.doc
- 正比例和反比例公开课何鹏程.ppt
- 81规范少先队礼仪.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)