第一范文网 - 专业文章范例文档资料分享平台

山东科技大学编译原理课程设计

来源:用户分享 时间:2025/5/17 20:01:08 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

山东科技大学学生课程设计

str = ch; ch=myf.get(); if(ch == '=') {

str += ch;

input.push_back(str); ch=myf.get(); str = \ } else {

input.push_back(str); } }

else if(ch=='+' || ch=='-' || ch=='*' || ch=='/') {

if(str != \ {

input.push_back(str); str = \ }

str += ch;

input.push_back(str); ch=myf.get(); str = \ } else {

str += ch; ch=myf.get(); } }

myf.close(); /*读文件结束*/

/*进行词法分析,并输出*/

for(iter = input.begin();iter != input.end();iter++) {

14

山东科技大学学生课程设计

int sign = 0;

for(int i=0;i

if(Rword[i] == *iter) {

cout<<\ sign = 1; break; } }

if(sign == 0)//判断是否为运算符 {

for(int i=0;i

if(Opear[i] == *iter) {

cout<<\ sign = 1; break; } } }

if(sign == 0)//判断是否为分隔符 {

for(int i=0;i

if(Separ[i] == (*iter)) {

cout<<\ sign = 1; break; } } }

15

山东科技大学学生课程设计

}

if(sign == 0)//判断是否为无符号型常数或者变量 {

if((*iter)[0]>'0' && (*iter)[0]<='9') cout<<\ else

cout<<\ } }

/*判断结束,程序结束*/

四、运行结果及分析 1.测试数据

测试数据为test.txt文件内的数据:

16

山东科技大学学生课程设计

2.测试输出的结果

3.设计和思考

本程序的设计是基于C++实现的词法分析程序,较为方便的使用了迭代器,对open的文件进行循环读取数据、分析、判断之后进行输出。难点在于对思路的整理和理解.

17

搜索更多关于: 山东科技大学编译原理课程设计 的文档
山东科技大学编译原理课程设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6xc4d6emw96et861e25n_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top