编译原理-第四章 语法分析-4.1 语法分析引论
语法分析概述
一、语法分析器的作用
- 语法分析器读取词法分析器提供的记号流,检查它是否能由源语言的文法产生,输出分析树的某种表示。
- 语法错误处理:例如分号放错地方、花括号“{”,“}”多余或缺失等语法错误的处理。
二、语法分析器的类型
1.通用语法分析
- 定义:CYK算法、Earley算法
- 特点:①对任意上下文无关文法进行语法分析②效率很低,不适合编译器,主要用于自然语言处理领域
2.自顶向下语法分析
- 定义:从语法分析树的根节点开始向叶子节点构造语法分析树
- 特点:适合手工实现,如LL文法(从左向右扫描左推导、不能处理左递归、一般较小)
3.自底向上语法分析
- 定义:从叶子结点开始,逐渐向根节点方向构造语法分析树
- 特点:适合自动实现,如LR文法(从左向右扫描右推导、能处理左递归、一般较大)
三、上下文无关文法
1.定义
运算符具有结合性和优先级
2.编写的方法
- 表达式文法:左递归
- 表达式文法:右递归
3.作用
4.例
四、语法错误处理
1.语法错误恢复策略
参考——慕课-苏州大学
作者:方知有
Motto: 热爱可抵岁月漫长
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
所有评论和私信都会在第一时间处理,如有问题或建议,请多多赐教!
支持博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!