实验一、词法分析实验
专业 商软3班 姓名 陈文豪 学号 201506110196
一、实验目的
编制一个词法分析程序
二、实验内容和要求
输入:源程序字符串
输出:二元组(种别,单词符号本身)
三、实验方法、步骤及结果测试
1. 源程序名:压缩包文件(rar或zip)中源程序名词法分析.c,可执行程序名:词法分析.exe
2. 原理分析及流程图
关键过程:把输入的字符串存入数组---从数组中拿出一个字符根据它的ascii码判断出种别---判断完后输出
3. 主要程序段及其解释
1 void cwh() 2 { 3 int i,m;/*m用于记录linshi的下标*/ 4 char *guanjianzi[6]= {"begin","if","then","while","do","end"}; /*char*[]数组每个元素指向一个char型的变量,关键字数组记得zhongbie+1*/ 5 for(i=0; i<15; i++) 6 { 7 linshi[i]=NULL; /*定义一个临时存放字符串的数组用作比较*/ 8 } 9 m=0;/*初始化下标*/ 10 sum=0; 11 ch=zifu[p++]; 12 /*开始识别字符种别*/ 13 while(ch==' ') 14 { 15 ch=zifu[p++]; 16 } 17 /*识别关键字或者标识符*/ 18 if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) 19 { 20 while((ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))/*将标识符存入临时数组*/ 21 { 22 linshi[m++]=ch; 23 ch=zifu[p++]; 24 } 25 linshi[m]='