编译原理及实践:Kenneth C.Louden 冯博琴
5星 · 超过95%的资源 需积分: 34 38 浏览量
更新于2024-08-02
3
收藏 11.33MB PDF 举报
编译原理及实践
本书是编译原理及实践的经典著作,由Kenneth C.Louden和冯博琴合作编写。该书系统地介绍了经典的编译理论和技术,同时也包含了面向对象语言等当前较新语言的编译技术。本书更可贵之处在于提供了较完整的适用于教学实践的样例语言,是一本理论和实践内容相结合的、不可多得的好书。
编译器的基本概念
编译器是一种将一种语言翻译为另一种语言的计算机程序。编译器将源程序(source language)编写的程序作为输入,而产生用目标语言(target language)编写的等价程序。通常地,源程序为高级语言(high-level language),如C或C++,而目标语言则是目标机器的目标代码(object code),也就是写在计算机机器指令中的用于运行的代码。
编译器的结构
编译器的结构可以分为三个阶段:词法分析、语法分析和代码生成。词法分析阶段负责将源程序分解成一个个的符号,语法分析阶段负责将符号组成语法正确的程序单元,代码生成阶段负责将语法正确的程序单元翻译成目标语言。
词法分析
词法分析是编译器的第一阶段,负责将源程序分解成一个个的符号。词法分析的主要任务是将源程序中的每个字符或符号分类,例如关键字、标识符、运算符、分隔符等。词法分析的结果是一个符号流,供语法分析阶段使用。
语法分析
语法分析是编译器的第二阶段,负责将符号流组成语法正确的程序单元。语法分析的主要任务是检查源程序的语法正确性,例如检查变量的声明、函数的调用、语句的结构等。语法分析的结果是一个语法树,供代码生成阶段使用。
代码生成
代码生成是编译器的第三阶段,负责将语法正确的程序单元翻译成目标语言。代码生成的主要任务是将语法树翻译成目标机器的目标代码。代码生成的结果是一个目标代码,供计算机执行。
TINY语言和编译器
TINY语言是一个简单的编程语言,用于演示编译器的设计和实现。TINY语言的编译器是一个简单的编译器,用于演示编译器的基本结构和操作。
实践价值
编译器的设计和实现具有非常大的实践价值。不仅仅是编译器的设计和实现,还有命令解释程序和界面程序的开发,这些技术都使用了相同的技术。掌握编译器的设计和实现技术,对于计算机应用程序的开发非常重要。
自动机原理
自动机原理是编译器设计和实现的基础理论。自动机原理使编译器结构合理,自动机原理的学习是编译器设计和实现的必要条件。
结语
编译原理及实践是编译技术的基础理论和技术。本书系统地介绍了编译原理及实践,提供了较完整的适用于教学实践的样例语言,是一本理论和实践内容相结合的、不可多得的好书。
2017-08-06 上传
2013-01-30 上传
2012-05-14 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
chestthinker
- 粉丝: 3
- 资源: 55
最新资源
- 明日知道社区问答系统设计与实现-SSM框架java源码分享
- Unity3D粒子特效包:闪电效果体验报告
- Windows64位Python3.7安装Twisted库指南
- HTMLJS应用程序:多词典阿拉伯语词根检索
- 光纤通信课后习题答案解析及文件资源
- swdogen: 自动扫描源码生成 Swagger 文档的工具
- GD32F10系列芯片Keil IDE下载算法配置指南
- C++实现Emscripten版本的3D俄罗斯方块游戏
- 期末复习必备:全面数据结构课件资料
- WordPress媒体占位符插件:优化开发中的图像占位体验
- 完整扑克牌资源集-55张图片压缩包下载
- 开发轻量级时事通讯活动管理RESTful应用程序
- 长城特固618对讲机写频软件使用指南
- Memry粤语学习工具:开源应用助力记忆提升
- JMC 8.0.0版本发布,支持JDK 1.8及64位系统
- Python看图猜成语游戏源码发布