文档详情

词法分析实验报告.pdf

发布:2025-04-04约9.11千字共11页下载文档
文本预览下载声明

计科101—左朝阳

词法分析器

一、实验目的:

通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对

程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。

编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、

标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码及单词符号自身值。

二、实验要求

如源程序为C语言。输入如下一段:

(1,”main”)

main()

(5,”(“)

{

(5,”)“)

inta,b;(5,”{“)

a=10;(1,”int”)

b=a+20;(2,”a”)

}#(5,”,”)

(2,”b”)

要求输出如右图。

(5,”;”)

要求:(2,”a”)

1、将单词分为五种(4,”=”)

识别关键字:main、if、int、for、while、do、return、break、continue;(3,”10”)

单词种别码为1。(5,”;”)

(2,”b”)

标识符;单词种别码为2。

(4,”=”)

常数为无符号整形数;单词种别码为3。(2,”a”)

运算符包括:+、-、*、/、=、、、=、=、!=;(4,”+”)

单词种别码为4。(3,”20”)

分隔符包括:,、;、{、}、(、);单词种别码为5。(5,”;”)

(5,”}“)

2、使用一符一种的分法

关键字、运算符和分界符可以每一个均为一种

标识符和常数仍然一类一种

三、实验内容

1、功能描述

改程序是一个实现词法分析的功能,能识别5种单词,其他单词报错。

2、程序结构描述

intIsKey(char*Word)关键字匹配函数,查询是否为关键字,若是,返回值为1,否则为0。

intIsAlpha(charc)查看是否为字母,若是,返回值为1,否则为0。

intI

显示全部
相似文档