编译原理及实践:Kenneth C.Louden 冯博琴
5星 · 超过95%的资源 需积分: 34 172 浏览量
更新于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
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率