电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

编译原理_词法分析器实验报告

编译原理_词法分析器实验报告_第1页
1/8
编译原理_词法分析器实验报告_第2页
2/8
编译原理_词法分析器实验报告_第3页
3/8
一. 实验题目和要求。 题目:设计 PL / 0 语言的词法分析器。 要求: 单词(关键字); begin end if then else while write read do call const var procedure repeat until 运算符:+ - * / := = <>(#) < <= > >= 界符: , . ; ( ) 标识符:字母打头的字母数字串,长度不超过 10. 常数:整数,所含数字的个数不超过 14. 返回单词形式: 二元式(种别,属性值) 二. 实验平台。 PC 机: Windows XP 操作系统 编程环境: Turbo C 2.0 编程语言: C 语言 三. 实验算法说明。 定义 2 个全局变量 char ch 和char strtoken 分别用来存放最新读入的源 程序字符和构成单词符号的字符串。然后用各个子函数的功能和读文件内容的操作,实现对源程序的词法分析,分别进行关键字,标识符,常数,运算符和界符的分析确认,然后将对应的二元式结果输出。 首先用户输入要读文件的名称,然后程序会把文件的内容读到定义的够大的字符数组 str(相当于词法分析的一个缓冲区)里,然后开始从str 里一个一个的读出字符并放在专门用来暂时存放单词数组 strtoken 里进行词法分析,若符合语言的规则,则打印出相关的说明信息,即该字符或字符串的二元式信息,可以清楚的明白该字符的种别和属性值。如果读入的字符或字符串是 非 法的,即不是 语法规定或是 没 有 意 义的字符或字符串,程序会提 示 相关的错 误 信息并进行一定的说明。 四 . 程序子函数功能说明。 1. void getChar( ) 将下 一个输入字符读到 ch 中 ,搜 索 指 示 器前 移 一个字符的位 置 。 2. void getBc( ) 检 查ch 中 的字符是 否 为 空 白,若是 ,则调 用 getChar( ),直 到 ch 中 进入一个非 空 的字符。 3. void retract( ) 将搜 索 指 示 器回调 一个字符位 置 ,将 ch 置 为 空 白字符。 4. void concat( ) 将 ch 中 的字符连 接 到 strtoken 之 后。 5.int Isletter( ) 子函数过程,判 断ch 中 的字符是 否 为 字母。 6.int Isdigit( ) 子函数过程,判 断ch 中 的字符是 否 为 数字。 7. int Iskey_ch( ) 子函数过程,判 断strtoken 中 的字符串是 否 为 程序设计语言的关键字,若是 ,打印并返回它 的二元式。 8. void Isident( ) 子函数过程,判 断strtoken 中 的字符串是...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

编译原理_词法分析器实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部