《编译与反编译技术》—第3章3.2语法分析器的功能

简介:

本节书摘来自华章出版社《编译与反编译技术》一书中的第3章,第3.2节语法分析器的功能,作者庞建民,陶红伟,刘晓楠,岳峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.2 语法分析器的功能
语法分析是编译的核心部分,其任务是检查由词法分析器给出的单词符号序列是否是给定文法的正确句子,也即是否符合源语言的语法规则。执行语法分析任务的程序称为语法分析程序,也称为语法分析器,其在编译器中的地位如图3-2所示。

                   ![360_20170524110638199](https://yqfile.alicdn.com/a713782e07e1cd81010d17c26efcfea7995d0384.jpeg)

图3-2 语法分析器在编译器中的地位
判断某个单词序列是否是源语言的句子,主要有两种方法:一种是从文法的开始符号出发,一步步推导出这个单词序列,这种分析方法称为自上而下的语法分析;另一种方法是从单词序列开始逐步归约为文法的开始符号,这种分析方法称为自下而上的语法分析。本章的剩下部分主要介绍这两种分析方法。

相关文章
|
自然语言处理
《编译与反编译技术实战 》一 第3章 词法分析器的设计与实现
词法分析是编译过程的第一步,也是编译过程必不可少的步骤。编译过程中执行词法分析的程序称为词法分析器。构造词法分析器有两种方法:一种是用手工方式,即根据识别语言的状态转换图,使用某种高级语言直接编写词法分析器;另一种是利用自动生成工具(如LEX)自动生成词法分析器。
1773 0
《编译与反编译技术实战 》一1.3 语法分析生成器YACC
。YACC(Yet Another Compiler Compiler)是一个经典的语法分析生成器。YACC最初是由AT&T公司的Steven C. Johnson为UNIX操作系统开发的,后来一些兼容的程序如Berkeley YACC、GNU Bison、MKS YACC和Abraxas YACC陆续出现,它们都是在此基础上做了少许改进或者增强,但是基本概念是相同的。
1308 0