C语言词法分析.doc

C语言词法分析.doc

ID:55550248

大小:348.00 KB

页数:16页

时间:2020-05-16

C语言词法分析.doc_第1页
C语言词法分析.doc_第2页
C语言词法分析.doc_第3页
C语言词法分析.doc_第4页
C语言词法分析.doc_第5页
资源描述:

《C语言词法分析.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、南华大学计算机科学与技术学院实验报告(2015~2016学年度第2学期)课程名称程序语言设计与编译实验名称C语言词法分析器的设计与实现姓名鲍广明学号专业数媒班级2地点教师罗江琴1.实验目的及要求软件、硬件环境Win7,Visual Studio C++6.02.实验步骤实验分析:(1)关键字:ifelsewhiledocaseintbreak等所有的关键字都是小写。(2)运算符和界符:=+-*/<<=<>>>==;()等(3)其他单词是标识符(ID)和整型常数(SUM),通过以下正规式定义:ID=_

2、letter(letter

3、digi

4、t)*NUM=digitdigit*(4)空格有空白、制表符和换行符组成。空格一般用来分隔ID、SUM、运算符、界符和关键字,词法分析阶段通常被忽略。(5)注释被忽略(6)各种单词符号对应的种别码(如下):单词符号种别码单词符号种别码auto1double2int3struct4break5else6long7switch8case9enum10register11typedef12char13extern14return15union16const17float18short19unsigned20continue21for22sig

5、ned23void24default25goto26sizeof27volatile28do29while30static31if32a33b34f3536t37v38\39?40’41”4243ddd44xhh45数字46标识符47#48(49)50[51]52{53}54‘55*56:57~58%59^60+61?62=63

6、64&65!66<67>68>=69==70>>71!=72<<73&&74<=75

7、

8、76++77?=78-79--80->81“82%A(A可为d’s’c)83;84_85/8

9、68788899091其他类别993.实验内容实验流程图源代码:#include#include#include#includevoidmain(){FILE*fp,*fp1;inthanjsq=1;intguanjz(charch1[]);charch,infile[15],outfile[15];printf("*****************Entertheinfilename*******************");scanf("%s",infi

10、le);printf("*****************Entertheoutfilename******************");scanf("%s",outfile);if((fp=fopen(infile,"r"))==NULL){printf("cannotopenfile");exit(0);}if((fp1=fopen(outfile,"w"))==NULL){printf("cannotopenfile");exit(0);}printf("******************************

11、***************************");printf("*》开始进行词法分析《*");printf("*********************************************************");printf("*********************************************************");printf("行号字符串种别码");printf("*******************************************

12、**************");fprintf(fp1,"*********************************************************");fprintf(fp1,"行号字符串种别码");fprintf(fp1,"*********************************************************");while(!feof(fp)){ch=fgetc(fp);if(ch==10)hanjsq++;/**********************扫描头文

13、件单词及保留字***********************/if(isalpha(ch)

14、

15、ch=='_'){inti=0;charch1[30];ch1[i++]=ch;while(!feof(fp))

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。