加载中...
| 类别 | 计算理论 |
| 领域 | 计算机科学 |
语法分析是编译过程中紧接词法分析的阶段,又称解析。它接收词法分析器输出的记号序列,依据语言的上下文无关文法判断这些记号是否构成合法的程序结构,并将其组织成语法分析树。完成这一工作的程序称为语法分析器或解析器。
语法分析方法主要分两大类。自顶向下分析从起始符出发逐步推导,典型代表是递归下降法与 LL 分析;自底向上分析从输入记号开始逐步归约到起始符,典型代表是 LR 分析。分析过程中若记号无法匹配任何文法规则,便报告语法错误并尝试恢复,以便一次扫描发现尽可能多的问题。
语法分析确立了程序的层次结构,把线性的记号流变为反映嵌套关系的树形表示,为语义分析和代码生成提供基础。它能精确定位括号不匹配、语句缺失等结构性错误。Yacc 与 Bison 等解析器生成工具可根据文法自动产出高效的语法分析器,是编译器前端不可或缺的核心组件。
| 类别 | 计算理论 |
| 领域 | 计算机科学 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧