- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理赋值语句的解释程序设计
《编译原理》课程设计赋值语句的解释程序设计设计题目:赋值语句的解释程序设计设计内容:用算符优先分析方法设计一个分析解释程序,对输入的赋值语句、输出语句、清除语句进行词法分析、语法分析、表达式求值并存储于指定变量中:若存在错误,提示错误相关信息。设计目的:了解掌握算符优先分析的基本方法、内容学会科学思考并解决问题,提高程序设计能力实现环境电脑:Windows10家庭中文版型号:雷神处理器:Intel(R) Core(TM) i7-6700HQ CPU @2.60GHz RAM:16.0GB(15.9GB可用)系统类型:64位操作系统,基于x64的处理器实现语言及环境:Java,JDK 1.8IDE:Ecpliseneon.1概要设计文法表示:S v=E|E?|clearEE+T|E-T|TTT*F|T/F|FF(E)|v|c归约规则:N v=N|N?|clearNN +N |N -N |NNN *N |N /N |NN(N)|v|c种别码设计:单词符号种别码=1?2+3-4*5/6(7)8v9c10clear11#12N13优先关系表123456789101112=?+-*/()vcclear#1=2?3+4-5*6/7(=8)9v=10c11clear12#=程序流程图详细设计单词符号二元组使用下面的类来表示:publicclass WordSymbol {publicstaticfinalintTYPE_NULL = 0; //无值publicstaticfinalintTYPE_INT = 1; //整数publicstaticfinalintTYPE_STRING = 2; //字符串intcode;//种别码inttype;//单词符号值类型Object value;//单词符号的属性值public WordSymbol() {super();}public WordSymbol(intcode, inttype, Object value) {super();this.code = code;this.type = type;this.value = value;}publicint getCode() {returncode;}publicvoid setCode(intcode) {this.code = code;}publicint getType() {returntype;}publicvoid setType(inttype) {this.type = type;}public Object getValue() {returnvalue;}publicvoid setValue(Object value) {this.value = value;}@Overridepublic String toString() {returnWordSymbol [code= + code + , type= + type + , value= + value + ];}}归约栈:用Java中的栈对象StackWordSymbol 来表示单词串:用链表对象ListWordSymbol来存放单词串变量表:使用MapString,Integer对象来充当变量表,其以键值对的方式存放变量,键可以设为变量名,值存放变量值变量名值KeyValue可归约串语义解释:变量归约:Nv,在变量表中查找该变量,若不存在则报错:变量未定义,否则修改非终结符N的属性值为变量v的值,并设N的种别码为13常量归约:Nc,修改非终结符N的属性值为常量c的值,并设N的种别码为13运算归约:设运算的操作数为N1,N2;将N1,N2进行相应运算并将运算结果设为N3的属性值,将N3的种别码设为13括号归约:将(N)归约为N赋值归约:在变量表中查找被赋值的变量v,若不存在,则先在变量表中创建该变量,然后再将N的属性值赋值给v,最后将 v = N归约为N输出语句:先输出表达式N的属性值,然后将N?归约为N清除语句:将变量表中的所以变量清空,然后clear归约为N运算符之间的关系使用对象Relation来描述,其结构如下publicclass Relation {publicstaticfinalintREL_LESS = -1; // 小于publicstaticfinalintREL_EQUAL = 0; // 等于publicstaticfinalintREL_GREATER = 1; // 大于publicstaticfinalintREL_NULL = 2; // 无关系intcodeLeft, codeRight;intrelation;public Relation() {super();}public Relation(intcodeLeft
您可能关注的文档
最近下载
- 护理病人签署知情同意规范.pptx VIP
- 2025年福建省中考英语真题试卷完全解读.docx VIP
- 联想笔记本电脑环境标志产品认证证书2022年版.docx VIP
- 标准化变电站建设实施规范(二次设备名称及标识).pdf VIP
- Unit1 Happy Holiday Section A(1a-1d)课件人教版英语八年级上册.pptx VIP
- 监理工作报告制度.doc VIP
- 2020新上外版高中英语选择性必修一Unit1 Reading A Learning is Everywhere 课件.pptx VIP
- 部编高教版2023·职业模块 中职语文 语文职业模块 1.1《七律二首·送瘟神》课件.pptx VIP
- 0-3岁婴幼儿行为观察与分析第四章 0~3岁婴幼儿动作发展观察.pptx VIP
- 肺动脉高压的介入治疗技术.pptx VIP
文档评论(0)