【vc++精品源码栏目提醒】:网学会员鉴于大家对vc++精品源码十分关注,论文会员在此为大家搜集整理了“【精品】词法分析器实验 - 其它资料”一文,供大家参考学习
(实验中出现的问题、错误、解决方法)测试过程: 洛阳师范学院信息技术学院 软件实验报告 专业: 软件工程 课程: 操作系统课程设计 学号: 称 词法分析实验 实验类型 设计型 实验时间 实验环境 Windows Xp,vc 实验目的与要求:实验总结: 了解词法分析器设计思想以及词法分析器的工作原理。
通过这次试验让我明白了统计系统缺页次数的确定以及对前面的知识进行了回顾和很好的复习 实验内容: 签名: 年 月 日 1. Token 字编码:(1)关键字种别码编号为自 1 至 32 (2)标示符种别码编号为 33评语与成绩: (3)数字(整数浮点数)种别码编号为 34 (4)界码及逻辑运算符种别码依次编码为 36-56 (5)注释种别码编号 教师签名: 2.函数构成:本程序主要由三个函数构成即主函数 main 和两个自定义函数 scan 和 年 月 日cmp 实验步骤:(算法描述、源程序、操作步骤和方法) (1)main 函数主要是用来判断输入文件和输出文件存在与否,并把两个文 (3)cmp 主要用于含字母的词(即关键字和标示符)区分,首先件的头指针赋给fpin fpout,用于输入调用字符串,并向外文件输出 token 字。
和个数较少的关键字比较匹配,不是关键字便是标示符。
另外主函数完成调用函数 scan 和 cmp 的功能实现 token 字的分类编码输出。
3.注意事项: (2)scan 函数是本程序的核心程序,是用来实现各种类型词的分类识别,并 (1)fseek 函数的使用保证指针能够合理的跳转,避免个别字符完成相应的种别码和 token 字向外文件的输出。
其中函数内部用到 isdigit,getc, 没有被函数判别匹配。
fprintf ,isalpha,fseek 等函数库内的实例函数。
(2)C 语言中标示符中可以含有数字字母下划线,其中第一位的 只可以是字母。
(3)数字包括浮点和整数涉及到小数点,判断是否是数字的同时 要考虑到非数字的小数点 (4)自定义的字符数组本身是字符串应该结尾是’0’不能缺省。
词法分析器的运行过程: 首先是由主函数开始判断 in.txt 是否存在,如果不存在则从键盘 输入字符串到 fpin 指向的文件中,再判断 token 字输出指向的文 件是否存在, ‘w 如果没有则在判断过程中通过 ‘创建一个 out.txt 文件。
然后调用函数 scan 开始对文件中的字符串进行判别,首先判断首 字符是否为字母是的话将根据标示符的构造准则,若是则将整个字 符串存入到 str120中,然后调用 cmp 函数进行判断是否是关键 字,是则输出关键字及其种别码,否则输出标示符及其种别码。
否则如果首字符是数字则判断其结束的标志即最后一位不是数字时 int18long19register(若是小数点存在则跳过小数点至到下一位不是数字时跳出)然后输出其种别码 34 及其数字。
其他各种字符通过 if else 嵌套判断 20return21short22signed23sizeof24static输出相应的种别码和其字符本身。
直到外循环当文件指针指到文件 25struct26switch27typedef28union29unsigned的结束指针或者是’’输入字符串时约定的文件结束符时,停止 30void31volatatile32while执行循环.最终完成输入文件的此法分析任务。
int j0 int n33 /标示符的种别码记为 33/ 词法分析程序源代码: int m34 /数字的种别码编号为 34/include int t35 /注释的种别码编号为 35/include int k /通过观察的 k 是否为 0 值判断字符串是否匹配/include char finclude FILE fpfpinfpoutinoutinclude scanFILE instruct key cmpchar str20 /首先和关键字进行匹配区别标示符/ int xuhao1 char keychar20 int i0 key321auto2break3case4char5const struct key p6continue7default8do9double10else11e pkey0num12extern13float14for15goto16if17 do kstrcmpstrp-keychar i 字符串 / whilek0pixuhao1p-keychar str1pchf chfgetcfp fprintf fpoutdsnp-xuhao1p-keychar whilechf0chfachfAchf0chf
上一篇:
【精品】出差记录管理系统
下一篇:
酒店管理系统毕业论文