- 4
- 0
- 约2.2千字
- 约 15页
- 2019-04-17 发布于贵州
- 举报
C语言编译系统初探 计算机系01本 陈海东 2004年2月 概述 该系统是一个简易的32位C语言编译系统,可以实现C语言程序从编辑修改、编译到连接、运行等一系列过程。能够工作在Windows的各个版本下。 必须声明的是:在设计实现这个系统的时候我并未正式接触过编译原理,因此难免会有很多贻笑大方之处? 主要构成模块 编译程序 汇编程序 连接程序 运行库及启动代码 工程管理程序 集成开发环境 系统流程 编译程序 编译器是系统的核心部分,用纯面向对象的方法设计,是技术上最难实现的部分。由于本项目的目标只是做编译器的尝试且为了调试方便,因此并未使用低级语言而是采用Visual C++ 6.0来实现。 编译器以普通的C源代码文件为输入,以32位x86汇编语言代码文件为输出。 该编译器实现了一些简单的优化。如常值表达式的化简等。 编译流程 词法分析将源程序分解为按C语言规定的保留字、标识符、数字、符号、字符串等,并处理预编译指令。 代码生成进行将输入的单词归约为诸如声明、定义、语句、表达式等实体的尝试,并登记到各相关表中,如果归约失败还将记录出错信息。整个过程采用递归的方式进行逐级的分析。 类型表记录由typedef所定义的类型。 函数表直接记录目标代码。该编译程序不产生中间代码。 常量表记录字符串、浮点常数等无法由x86立即数寻址方式引用的常量。 类型表和变量表采用栈结构,这是为了方便表示非
您可能关注的文档
最近下载
- 木刻版画中“黑白灰”的规律研究-美术学专业毕业论文.pdf VIP
- 2025年中国宠物临终关怀服务市场调研报告_2025年12月.docx VIP
- 2026年公安基础知识案例分析题及答案.docx VIP
- (2026年)消防安全网格员业务能力培训PPT课件.pptx VIP
- 《人工智能促进教育发展年度报告》.pdf VIP
- CN119850600A 一种风电机组叶片内腔故障检测方法、装置、设备及介质 (运达能源科技集团股份有限公司).pdf VIP
- 给药错误及防范课件课件.ppt VIP
- T∕SZAEM 0004-2025 水质 6PPD-醌的测定 在线固相萃取-液相色谱质谱法.pdf VIP
- 广州市普格斯日用制品有限公司厂房迁建项目环境影响报告表.docx VIP
- CT增强检查知情同意书.pptx VIP
原创力文档

文档评论(0)