编译原理及实践:Kenneth C.Louden 冯博琴

5星 · 超过95%的资源 需积分: 34 111 下载量 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语言的编译器是一个简单的编译器,用于演示编译器的基本结构和操作。 实践价值 编译器的设计和实现具有非常大的实践价值。不仅仅是编译器的设计和实现,还有命令解释程序和界面程序的开发,这些技术都使用了相同的技术。掌握编译器的设计和实现技术,对于计算机应用程序的开发非常重要。 自动机原理 自动机原理是编译器设计和实现的基础理论。自动机原理使编译器结构合理,自动机原理的学习是编译器设计和实现的必要条件。 结语 编译原理及实践是编译技术的基础理论和技术。本书系统地介绍了编译原理及实践,提供了较完整的适用于教学实践的样例语言,是一本理论和实践内容相结合的、不可多得的好书。