词法分析器

2026/4/24 16:29:06

课 程 设 计 说 明 书

设计题目: 词法分析器的实现

专业: 班级:

设计人:

山 东 科 技 大 学 2014年 6 月 24日

课 程 设 计 任 务 书

学院:信息科学与工程学院 专业: 班级: 姓名:

一、课程设计题目: 词法分析器的实现 二、课程设计主要参考资料

(1) 编译原理 韩太鲁、孙忠林著 (2) 三、课程设计应解决的主要问题

(1) 词法分析器的实现 (2) (3)

四、任务发出日期: 2014-4-21 课程设计完成日期: 2014-6-24

指导教师签字: 系主任签字 :

指导教师对课程设计的评语

成绩:

指导教师签字:

年 月 日

词法分析器的实现

一、 设计目的

1.熟悉词法分析的基本原理,词法分析的过程以及词法分析中要注意的问题。 2.复习高级语言,进一步加强用高级语言来解决实际问题的能力。 3.通过完成词法分析程序,了解词法分析的过程。

二、 设计要求

1.根据状态转换图直接编程 编写一个词法分析程序,它从左到右逐个字符的对源程序进行扫描,产生一个个的单词的二元式,形成二元式(记号)流文件输出。在此,词法分析程序作为单独的一遍,如下图所示。

处理过程:在扫描源程序字符串时,一旦识别出关键字、分隔符、标识符、无符号常数中之一,即以单词形式(各类单词均采用相同的结构,即二元式编码形式)输出。每次调用词法分析程序,它均能自动继续扫描下去,形成下一个单词,直至整个源程序全部扫描完毕,并形成相应的单词串形式的源程序。

具体任务有:

(1)组织源程序的输入

(2)拼出单词并查找其类别编号,形成二元式输出,得到单词流文件 (3)删除注释、空格和无用符号

(4)发现并定位词法错误,需要输出错误的位置在源程序中的第几行。将错误信息输出到屏幕上。

(5)对于普通标识符和常量,分别建立标识符表和常量表(使用线性表存储),当遇到一个标识符或常量时,查找标识符表或常量表,若存在,则返回位置,否则返回0并且填写符号表或常量表。

标识符表结构:变量名,类型(整型、实型、字符型),分配的数据区地址

注:词法分析阶段只填写变量名,其它部分在语法分析、语义分析、代码生成等阶段逐步填入。

常量表结构:常量名,常量值 2.编写DFA模拟程序 算法如下:

DFA(S=S0,MOVE[][],F[],ALPHABET[]) /*S为状态,初值为DFA的初态,MOVE[][]为状态转换矩阵,F[] 为终态集,ALPHABET[] 为字母表,其中的字母顺序与MOVE[][] 中列标题的字母顺序一致。*/ {

Char Wordbuffer[10]=“”//单词缓冲区置空 Nextchar=getchar();//读 i=0;

while(nextchar!=NULL)//NULL代表此类单词 {

源程序 词法分析程序 记号文件


词法分析器.doc 将本文的Word文档下载到电脑
搜索更多关于: 词法分析器 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219