摘要: 一个简单的语法制导编译器: 该部分的重点是编译器的前端,特别是词法分析、语法分析和中间代码生成。从小事做起,首先建立一个能够将中缀表达式转换为后缀表达式的语法制导翻译器,然后再将其扩展,使之能将某些程序片段转换为三地址码,如图所示: 编译器再分析阶段(前端)把一个源程序划分成各个组成部分,并生成源程 阅读全文
posted @ 2020-03-04 22:53 方知有 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 1.走向高级程序设计语言 通过语言的代来分类: 第一代:机器语言 第二代:汇编语言 第三代:Fortran、Cobol、Lisp、C、C++、Java这样的一些高级程序设计语言 第四代:为特定应用设计的语言,比如用于生成报告的NOMAD,用于数据库查询的SQL和用于排版的Postscript 第五代 阅读全文
posted @ 2020-03-04 21:09 方知有 阅读(511) 评论(0) 推荐(0) 编辑
摘要: C语言的编译系统: 预处理:实现文件包含#include<stdio.h>;实现宏展开#define pi 3.1415926;条件编译#if、#ifdef 汇编器:对输入进行两遍扫描。 第一遍:汇编器扫描输入,将表示存储单元的所有标识符都存入符号表,并分配地址。 第二遍:汇编器再次扫描输入,把每个 阅读全文
posted @ 2020-03-04 12:03 方知有 阅读(343) 评论(0) 推荐(0) 编辑