词法分析程序说明

词法分析程序说明

ID:43607496

大小:49.00 KB

页数:4页

时间:2019-10-11

词法分析程序说明_第1页
词法分析程序说明_第2页
词法分析程序说明_第3页
词法分析程序说明_第4页
资源描述:

《词法分析程序说明》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、词法分析程序说明1源程序为文档下的cffx文件夹内2测试文件为cffx文件夹内test1.txt和test2.txt3测试流程为运行程序,输入结果文件名如resultl.txt,再按要求输入待分析的文件名,如test1.txto4显示结果按顺序为a源程序重现b不可识别的字符报错c保留字,标识符,字符串,数字,符号,注禅分类表5结果按输入的要求存入cffx文件夹下指定文档内程序在基本词法分析要求的基础上加了注释,字符串,出错处理该程序可识别的内容如下程序-PROGRAM标识符;说明BEGIN语句串END.说明一CONST常量定义:丨变量说I函数或过程说明常量定义一标识符=常量丨标识符=常量;

2、常量定义常量一整数丨实数ITRUEIFALSE变量说明一类型:标识符表丨类型:数纽说明表I类型:标识符表;变量说明丨类型:数组说明表;变虽说明类型一INTEGERIREALIBOOLEAN标识符表〜标识符丨标识符,标识符表数组说明表-ARRAY标识符[维说明]IARRAY标识符[维说明],数组说明表维说明一正整常数丨正整常数,维说明语句串f语句丨语句;语句串语句一变量:=表达式IIF表达式THEN语句丨IF表达式THEN语句ELSE语句丨WHILE表达式DO语句IREPEAT语句串UNTIL表达式IFOR标识符:=表达式TO表达式DO语句丨BEGIN语句串ENDIREAD标识符表丨WRIT

3、E表达式表丨过程调用表达式表表达式丨表达式,表达式表算术运算符:+、一、*、/等逻辑运算符:AND、OR、NOT关系运算符:V、<=^二、<>>>=、>农达式:包括含返冋值的函数function调用具体内容查看静态字符表以下是程序中具体内容说明数组结构定义说明structreservewords保留字的结构{charresword[15J;//存放保留字的内容intrescode;//存放保留字的识别码};structidwords标识符structfigurewords数字structsignwords符号structstringswords字符串同上定义//定义保留字的数组struct

4、reservewordsreservew[28J={{"",0},{nbeginH,1},{Hend",2},{"integer",3},{“if”,4},{“then",5},{“else",6},{“const”,7},{“read",8},{“write”,9},{“while”,10},「'do”,11},{"array12},{“for",13},{*'boolean”,14},{“real”,15},{“false",16},{“true”,17},{HnotM,18},{••or11,19},{Mandu,20},{"repeat",21},{“until”,22},{''t

5、o”,23},{“program”,24},{“function”,25},{“sti*ing”,26}};//定义字符的数组structsignwordssignw[20]={{”“,01},{叮;2},{”*”,3},{“/”,4},{”C,5},{”)“,6},{V7},y”,8},{”v>”,9},1()},{“>=“,11},{7,12},{“=“,13},{”;”,14},{丁,15},{“[”,16},{”]”,17},{”:“,18}};以上为程序可识别的保留字和字符structidwordsidw[N];structfigurewordsfigwfN];structstr

6、ingswordsstringsw[N];标识符和数字字符串在程序运行中动态创建intresused[N];intsignused[N];intidused[N];intfigused[N];intstringsused[N];五种情况程序中出现的频率charillustration[20][100];存放所有注释intno=0;//用来计算有多少注释<20FILE*fp,*fpout;//输入输岀文件的指针主函数1.读入结果文件的名称2.读入源文件的名称3・读字符非空格类字符到下一个状态getnbc(ch)ffl来判断空格类字符4.判断字符类型kinddigit(ch)判断字符类型•1的

7、话为字母,继续读入肓到非字母或数字退出concat(j,token,ch)将读入的字符合成字符串存在token里reserve(token,reservew)S保留字符表,返冋typel为保留字2为标识符return_token(type,token)将分析的结果保存到数组输出结果到结果文件•0的话为数字,继续读入直到非数字类型出现concat(j,token,ch)将数字字符组合return_token(4,token

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

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

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