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

2026/4/30 0:20:39

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

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文档下载到电脑
搜索更多关于: 山东科技大学编译原理课程设计 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219