c语言编写的词法分析程序.doc

c语言编写的词法分析程序.doc

ID:60789562

大小:35.50 KB

页数:12页

时间:2020-12-18

c语言编写的词法分析程序.doc_第1页
c语言编写的词法分析程序.doc_第2页
c语言编写的词法分析程序.doc_第3页
c语言编写的词法分析程序.doc_第4页
c语言编写的词法分析程序.doc_第5页
资源描述:

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

1、#include#include#include#include#defineSPACE0x20//空格键#defineCHANGE'c'//转义字符#defineSTRING'S'//引号里的字符串#defineBOUNDARY'B'//界符#defineOPERATION'O'//运算符#defineWORD'I'//标识符#defineKEY_WORD'K'//关键字#defineDIGIT'n'//数字,包括小数#defineDOTH'

2、d'//头文件,“.h”文件#defineINT't'#defineVOID'v'#defineIF'f'#defineELSE'e'#defineWHILE'w'#defineFOR'r'#defineMAIN'm'#definePRINTF'p'#defineINCLUDE'u'#defineFLOAT'l'#defineKEYNUM10#defineBOUNDNUM8#defineOPERNUM7#defineVALUENUM100/****************************************

3、********************************//*datatype*//************************************************************************/structbianliang{intid;charname[20];intvalue;};structchangliang{intdata;};charKeyWord[KEYNUM][8]={"int","void","if","else","while","for","main",

4、"printf","include","float"};charBoundary[BOUNDNUM]={'"',';',',','(',')','#','{','}'};charOperation[OPERNUM]={'+','-','*','/','=','<','>'};charLogogram[KEYNUM]={INT,VOID,IF,ELSE,WHILE,FOR,MAIN,PRINTF,INCLUDE,FLOAT};charValue[VALUENUM][8];intValue_n=0;intErrorLine

5、=0;intQuotationCount=0;//计算引号的数量intQuotationFlag=0;//引号数量为奇数时为1,偶数时为0charLastOpera=0;//用于判断"=="号存前一个"="号/************************************************************************//*functiondescribe*//***************************************************************

6、*********/intisKeyWord(char*s)//是关键字返回1,否则返回0{inti;for(i=0;i

7、=l){return1;}else{if('.'==s[i]){i++;for(;i=l)return1;elseretu

8、rn0;}}intisDotH(char*s)//是头文件{inti,l=strlen(s);for(i=0;i=l){return0;}else{if('.'==s[i]){i++;if(s[i]=='h')return1;elsereturn0;}

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

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

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