欢迎来到天天文库
浏览记录
ID:24234875
大小:51.00 KB
页数:3页
时间:2018-11-13
《编译原理实验报告词法分析器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、编译原理实验报告词法分析器编译原理实验报告(词法分析器语法分析器)编译原理实验报告实验一一、实验名称:词法分析器的设计二、实验目的:1,词法分析器能够识别简单语言的单词符号2,识别出并输出简单语言的基本字.标示符.无符号整数.运算符.和界符。三、实验要求:给出一个简单语言单词符号的种别编码词法分析器四、实验原理:1、词法分析程序的算法思想算法的基本任务是从字符串表示的源程序中识别出具有独立意义的单词符号,其基本思想是根据扫描到单词符号的第一个字符的种类,拼出相应的单词符号。2、程序流程图(1(2)扫描子程序3五、实验内容:1、实验分析
2、编写程序时,先定义几个全局变量a[]、token[](均为字符串数组),c,s(char型),i,j,k(int型),a[]用来存放输入的字符串,token[]另一个则用来帮助识别单词符号,s用来表示正在分析的字符。字符串输入之后,逐个分析输入字符,判断其是否‘#’,若是表示字符串输入分析完毕,结束分析程序,若否则通过intdigit(charc)、intletter(charc)判断其是数字,字符还是算术符,分别为用以判断数字或字符的情况,算术符的判断可以在sath.h>#include<string.h>inti
3、,j,k;charc,s,a[20],token[20]={'0'};intletter(chars){}if((s>=97)(s<=122))return(1);elsereturn(0);intdigit(chars){if((s>=48)(s<=57))return(1);elsereturn(0);}voidget(){s=a[i];}i=i+1;voidretract(){i=i-1;}intlookup(chartoken[20]){if(strcmp(token,p(token,i
4、f)==0)return(2);elseif(strcmp(token,else)==0)return(3);elseif(strcmp(token,sp(token,case)==0)return(5);elsereturn(0);}voidmain(){printf(pleaseinputstring:);i=0;do{i=i+1;scanf(%c,a[i]);}emset(token,0,20);s':case'n':case'o':case'p':case'q
5、':case'r':case's':case't':case'u':case'v':case'g">任意一个,是学生将理论与实际应用结合其,起来,受到软件设计等开发过程的全面训练,从而提高学生软件开发的能力。2.2设计内容及要求:2.2.1课程设计内容设计词法分析器2.2.2设计词法分析器设计各单词的状态转换图,并为不同的单词设计种别码。将词法分析器设计成供语法分析器调用的子程序。功能包括:具备预处理功能。将不翻译的
此文档下载收益归作者所有