全文预览

词法分析器的设计与实现 编译原理实验报告

上传者:你的雨天 |  格式:doc  |  页数:11 |  大小:369KB

文档介绍
((fp=fopen(in_fn,"r"))!=NULL) break; // 读取文件内容,并返回文件指针,该指针指向文件的第一个字符 else printf(" 文件路径错误! 请重新输入:"); } printf("\n 词法分析结果如下:\n"); do{ ch=fgetc(fp); if(ch=='$') break; // 文件以# 结尾,作为扫描结束条件 else if(ch==' '||ch=='\t'||ch=='\n'){} // 忽略空格,空白,和换行 else{ fseek(fp,-1,1); // 回退一个字节开始识别单词流 scanner(fp); } }while(ch!='$'); system("pause"); return(0); } //test.cpp 测试程序路径: D:\ test.cpp main() { int score; char grade; printf("please input a score\n"); scanf("%d",amp;score); grade=score>=90?'A':(scoregt;=60?'B':'C'); printf("%d belongs to %c",score,grade); }$ 7、测试及结果 1 、登陆界面: 2 、出错异常处理: 3 、结果分析: 8 、心得在本次实验中, 我纠正了一个一直以来的概念错误: main 不是关键字, 它定义为程序的入口,是主函数!在本实验中,虽然我把 main 初始化在关键字表(字符指针类型数组) *Key[10] 中, 当与该数组中字符串进行比较时, 若与 main 匹配成功, 则返回 2 ,若为其他关键字则返回 1 ,以此来把 main 从关键字中区别出来。在本实验中的关键字表只初始化了几个常用的关键字, 还可继续扩充( 只需扩大数组,

收藏

分享

举报
下载此文档