TINY-C编译器的设计与实现-词法分析器的设计与实现 联系客服

发布时间 : 星期三 文章TINY-C编译器的设计与实现-词法分析器的设计与实现更新完毕开始阅读3fa538efe2bd960591c6770e

V

TINY-C编译器的设计与实现

—词法分析器的设计与实现

摘 要:

这个编译器采用TINY 语言作为源语言,构造TINY语言的编译器。项目由三人共同完成,我的工作主要是完成了词法分析器的构造,为语法分析和语义分析做准备。主要工作如下:词法分析器的设计原理,以及所使用的算法和数据结构的实现。同时还负责编译器的总体设计。词法分析的核心就是DFA的设计和实现,这是在设计词法分析器中的主要工作。

关键词

TINY,词法分析器, 状态转换图,超前搜索 ,DFA

1

Tiny-C Complier design and realization

——Lexical analysis design and realization

This compiler uses the TINY language to take the source language, the structure TINY language compiler. The project completes together by three people, my work mainly has completed the lexical analysis structure, prepared for the grammar analysis and the semantic analysis. Main work as follows: The lexical analyzer principle of design, as well as uses the algorithm and the data structure and realize. Simultaneously also is responsible for the compiler the system design. The lexical analysis core is the DFA design and the realization, this is in the design lexical analyzer main work.

Keywords

TINY ,Scanner, Appearance conversion diagram, searching forward, DFA

2

一 前 言

1.1编译系统概述

编译程序完成从源程序到目标程序的翻译工作,是一个复杂的整体的过程。从概念上来讲,一个编译程序的整个工作过程是划分成阶段进行的,每个阶段将源程序的一种表示形式转换成另一种表示形式,各个阶段进行的操作在逻辑上是紧密连接在一起的。编译过程划分成词法分析、语法分析、语义分析与中间代码生成,代码优化和目标代码生成五个阶段。另外两个重要的工作:表格管理和出错处理与上述五个阶段都有联系。

其中各阶段功能如下:

词法分析器,又称扫描器,输入源程序,进行词法分析,输出单词符号。 语法分析器,简称分析器,对单词符号串进行语法分析(根据语法规则进行推导或规约),识别除各类语法单位,最终判断输入串是否构成语法上的正确的”程序”。

语义分析与中间代码产生器,按照语义规则对语法分析器规约出的语法单位进行语义分析并把它们翻译成一定形式的中间代码。

优化器,对中间代码进行优化处理。

目标代码生成器,把中间代码翻译成目标程序。

1.2编译器的概述

编译器是将一种语言翻译为另一种语言的计算机程序。编译器将源程序编写的程序作为输入,而产生用目标语言编写的等价程序。通常地,源程序为高级语言,如C或C + +,而目标语言则是目标机器的目标代码(,也就是写在计算机机器指令中的用于运行的代码。几乎所有形式的计算均要用到编译器,而且任何一个与计算机打交道的专业人员都应掌握编译器的基本结构和操作。

3