全文预览

实验一:词法分析

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

文档介绍
r, bool, if, then, else, while, do, for, to, when, return, printf, float, function, not, and, or, dim, stop, endР1Р分隔符Р( ) . { } , ; ’Р2Р运算符Р+ - * / < > <= >= == =Р3Р整数РIntconstР4Р字符串РSconstР5Р浮点数РfconstР6Р布尔数РbconstР8Р界符和注释符Р\ // /* */Р7Р在C/C++语言中,使用结构数组定义,在pascal 中可以使用记录数组定义,也可以使用其它方法来定义,如直接定义成链表的形式,可根据所设计的总体结构自行选择定义方法,具体内容可以根据程序编写的方式采取初值输入方式或后期使用时再输入的方式。Р上述结构数组可以定义成一个整体,也可以分成关键字、界符和各种常数表等多个部分分别定义。Р(2) 编写查找函数iskeyword(char * str)和isdelimeter(char * str)判断Р给定的符号串是否是关键字和界符iskeyword(char * str)函数的功能是:在上述给定的关键字表中查找指定的字符串str 是否存在,若存在,返回其种别码(token 值),否则返回0。Р查找函数可以使用顺序查找,也可以使用折半查找。Р例如:使用顺序查找方法查找给定单词key 是否是关键字的函数原型和算法描述如下:Рint iskeyword (char * str)/*设keyword 为所有关键字列表*/Р/*该函数返回0 表示str 不是关键字,不为0 表示str 是关键字*/Р{Рwhile (关键字表没有结束)Рif (str = keyword[i].word )Р返回keyword.token; /* 表示str 是关键字*/Рelse i++;

收藏

分享

举报
下载此文档