1、 3、加深对有穷自动机模型的理解。 三、主要函数void load ( ) void char_search (char *word)void main ( ) void intb_search(char *word)void scan ( ) void c_search(char *word)void inta_search(char *word) void cc_search(char *word)四、设计1.主函数 void main ( )2. 初始化函数 void load ( )3. 保留字及标识符判断函数 void char_search(char *word)4. 整数类型判断
2、函数 void inta_search(char *word)5. 浮点类型判断函数 void intb_search(char *word)6. 字符串常量判断函数 void cc_search(char *word)7. 字符常量判断函数 void c_search(char *word) 同4、5函数图8.主扫描函数 void scan ( )五、关键代码#include string.hstdlib.hchar *key0= ,autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlong
3、registerreturnshortsignedsizeofstaticstructswitchtypedef_Complex_Imaginaryunionunsignedvoidvolatilewhile;/*保留字表*/char *key1=();/*分隔符表*/char *key2=+-*/%=!&|?:-+-.+=-=*=/=/*运算符表*/int xx035,xx110,xx231;int temp_key3=0,temp_c40=0,temp_c41=0,temp_c42=0,temp_c43=0;/* 初始化函数 */void load() int mm; for (mm=0;
4、mm=34;mm+) xx0mm=0; =9; xx1mm=0;=30; xx2mm=0; FILE *floading; if (floading=fopen(key0.txtw)=NULL) printf(Error! Cant create file : key0.txt); return; fclose (floading); /*建立保留字表文件:key0.txt*/key1.txt key1.txt /*建立分隔符表文件:key1.txt*/key2.txt key2.txt fclose(floading); /*建立运算符表文件:key2.txt*/key3.txt key3.
5、txt /*建立标识符表文件:key3.txt*/c40.txt c40.txt /*建立整数类型常量表文件:c40.txt*/c41.txt c41.txt /*建立浮点类型常量表文件:c41.txt*/c42.txt c42.txt /*建立字符类型常量表文件:c42.txt*/c43.txt c43.txt /*建立字符串类型常量表文件:c43.txt*/defination.txt defination.txt /*建立注释文件:defination.txt*/output.txt output.txt /*建立内部码文件:output.txt*/temp_key1 temp_key1
6、 /*建立保留字临时表文件:temp_key1*/temp_key3 temp_key3 /*建立标识符临时文件:temp_key3*/temp_c40 temp_c40 /*建立整数类型常量临时文件:temp_c40*/temp_c41 temp_c41 /*建立浮点类型常量临时文件:temp_c41*/temp_c42 temp_c42 /*建立字符类型常量临时文件:temp_c42*/temp_c43 temp_c43 /*建立字符串类型常量临时文件:temp_c43*/* 保留字及标识符判断函数 */void char_search(char *word) int m,line=0,csi=0; int value=0; int value2=0; char c,cs100; FILE *foutput,*finput; for (m=1;mm+) if (strcmp(word,key0m)=0) value=1; break; if (value=1) if (xx0m=0) foutput=fopen(a fprintf(foutput,0t%dtt%sn,m,word); fclose(foutput); xx0m=1; foutput=fopen( fprintf(foutput, fclose(foutp
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1