【编译原理龙书笔记】(二)一个简单的语法制导翻译器(仍未完成) | 您所在的位置:网站首页 › b翻译器 › 【编译原理龙书笔记】(二)一个简单的语法制导翻译器(仍未完成) |
这篇博客是根据自己学习龙书,因为博主习惯了英语环境,在强行从英语转化为中文的时候难免会有些不自然,请大家谅解。 配套的练习题答案可以在 https://github.com/Oh233/Dragon_book_exercise 看到。 感谢沉鱼姐姐,很多答案都是参考了她的github,虽然无缘认识,但也算是一位领路人。 正文: 一个简单的语法制导翻译器在本章中,要先给一个编译器大致的idea,而并非一开始就专注于各种编译器过程的细节。 2.1 引言首先快速浏览一下编译器的前端模型,也就是词法分析,语法分析,中间代码生成的这三个过程。 源程序通过词法分析器得到了一个个的词法单元,之后这些词法单元通过语法分析器被构造成了一棵抽象语法树。之后传给中间代码生成器,会产生树或者三地址形式的中间形式表达。 2.2 语法定义我们要介绍的是一种用于描述程序设计语言语法的表示方法——“上下文无关文法”。 2.2.1 文法定义一个上下文无关文法(context free grammar)由以下四个元素组成: 一个终结符号集合。终结符号是该文法所定义的语言的基本符号的集合。 一个非终结符号集合。每个非终结符号表示一个终结符号串的集合。 一个产生式集合。产生式的结构包括产生式头(左部)的非终结符号,一个箭头,和一个产生式体(右部)的由终结符号和非终结符号组 |
CopyRight 2018-2019 实验室设备网 版权所有 |