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

布尔表达式的翻译程序设计

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

{ char *fplace; fplace=new char[8];

if ((strcmp(token,\ { strcpy(fplace,token); scaner();

}

if(strcmp(token,\

{strcpy(fplace,newtemp());qemit(fplace,\ if(strcmp(token,\ {

scaner();

strcpy(fplace,expression()); if (syn==28){return fplace;}

}

if(strcmp(token,\ { char *fplace1=new char[8]; scaner();

if (strcmp(token,\ strcpy(fplace1,expression()); else strcpy(fplace1,token);

strcpy(fplace,newtemp());qemit(fplace,\ if (syn==28){return fplace;}

}

// else{error(4);} return fplace;

}

17

void main() { interpreter in;

cout<<\请输入源代码:\ in.read(); in.run();

cout<<\推导过程为:\ for(int i=0;i

cout<<\分析的单词为:\ for (i=0;i

wr[i].print();

cout<

cout<<\四元式为:\

in.reset();

// cout<<\ in.run1();

for(i=0;i

q[i].print();

cout<<\逆波兰式为:\ bolan();

for(i=head;i

}

6.2全局变量设计

int tear=51;//逆波兰式尾部

18

int head=50;//逆波兰是首部 int numberoftemp=0;//临时变量个数 int numberofquad=0;//四元式个数

6.3递归下降得到推导过程

根据递归下降的思想,对于文法中的每个非终结符编写一个函数,每个函数的

功能是识别由该非终结符所表示的语法成分。由于描述语言的文法常常是递归定义的,因此相应的这组函数必然以相互递归的方式进行调用。该过程的基本思想为每执行一个非终结符对应的函数就根据读入的单词符号来写入该非终结符对应的推出式。

该功能的入口函数run1的流程图如下:

开始 scaner() B() end

非终结符B对应的函数B()

该函数首先要写入B=>TB’,然后执行T()与B1() 流程图为

19

非终结符T对应的函数T()

该函数首先要写入T=>FT’,然后执行F()与T1() 流程图为:

非终结符B’对应的函数B1()

在该函数中如果读入的下一个单词是“and”则写入B’=>and T B’.否则,要写入B’推出了空串。

20

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