当前位置: 首页 > news >正文

武汉高端网站制作百度手机快速排名点击软件

武汉高端网站制作,百度手机快速排名点击软件,天津优化网站,企业网站建设实例【问题描述】 请根据给定的文法设计并实现词法分析程序,从源程序中识别出单词,记录其单词类别和单词值,输入输出及处理要求如下: (1)数据结构和与语法分析程序的接口请自行定义;类别码需按下表格…

【问题描述】

请根据给定的文法设计并实现词法分析程序,从源程序中识别出单词,记录其单词类别和单词值,输入输出及处理要求如下:

   (1)数据结构和与语法分析程序的接口请自行定义;类别码需按下表格式统一定义;

   (2)你的词法分析程序需要将注释去掉,注释有两种:单行注释和多行注释,风格与C语言相同。

   (3)Ident为标识符,以字母或下划线开头,由字母、下划线、数字组成的串

   (4)IntConst为整型常量,仅包含10进制无符号整数

   (5)FormatString是用于printf中的格式化字符串,特殊字符仅包含%d和\n,例如"m=%d\n"

   (6)为了方便进行自动评测,输入的被编译源文件统一命名为 testfile.txt(注意不要写错文件名);输出的结果文件统一命名为 output.txt(注意不要写错文件名),结果文件中每行按如下方式组织:

                单词类别码 单词的字符/字符串形式(中间仅用一个空格间隔)

                单词的类别码请统一按如下形式定义:

词法分析类别码定义如下:

单词名称类别码单词名称类别码单词名称类别码单词名称类别码
IdentIDENFR!NOT*MULT=ASSIGN
IntConstINTCON&&AND/DIV;SEMICN
FormatStringSTRCON||OR%MOD,COMMA
mainMAINTKwhileWHILETK<LSS(LPARENT
constCONSTTKgetintGETINTTK<=LEQ)RPARENT
intINTTKprintfPRINTFTK>GRE[LBRACK
breakBREAKTKreturnRETURNTK>=GEQ]RBRACK
continueCONTINUETK+PLUS==EQL{LBRACE
ifIFTK-MINU!=NEQ}RBRACE
elseELSETKvoidVOIDTK

【输入形式】testfile.txt中的符合文法要求的测试程序。
【输出形式】要求将词法分析结果输出至output.txt中。

【特别提醒】  (1)读取的字符串要原样保留着便于输出,特别是数字,这里输出的并不是真正的单词值,其实是读入的字符串,单词值需另行记录。

(2)本次作业只考核对正确程序的处理,但需要为今后可能出现的错误情况预留接口。

(3)在今后的错误处理作业中,需要输出错误的行号,在词法分析的时候注意记录该信息。

(4)单词的类别和单词值以及其他关注的信息,在词法分析阶段获取后,后续的分析阶段会使用,请注意记录;当前要求的输出只是为了便于评测,完成编译器中无需出现这些信息,请设计为方便打开/关闭这些输出的方案。

【样例输入】

int main(){int c;c = getint();printf("output is %d",c);return c;
}

【样例输出】

CONSTTK const
INTTK int
IDENFR array
LBRACK [
INTCON 2
RBRACK ]
ASSIGN =
LBRACE {
INTCON 1
COMMA ,
INTCON 2
RBRACE }
SEMICN ;
INTTK int
MAINTK main
LPARENT (
RPARENT )
LBRACE {
INTTK int
IDENFR c
SEMICN ;
IDENFR c
ASSIGN =
GETINTTK getint
LPARENT (
RPARENT )
SEMICN ;
PRINTFTK printf
LPARENT (
STRCON "output is %d"
COMMA ,
IDENFR c
RPARENT )
SEMICN ;
RETURNTK return
IDENFR c
SEMICN ;
RBRACE }

【评分标准】 按与预期结果不一致的项数(每一行单词信息算一项)扣分,每项扣5%。

【参考代码】参考代码仅能识别整型常量,你可以在此基础上扩充。

src.rar

【文档要求】完成词法分析阶段设计文档  

【提交形式】将所开发的词法分析程序的源文件(.cpp/.c/.h/.java,不含工程文件)打包为zip或rar后提交。对于使用 java 开发的编译器,程序运行的入口为 src 目录下 Compiler.java 中的 main 方法。上传请直接打包 src 文件夹,如果引用了第三方外部包(推荐),请将外部 jar 包文件放到 bin 目录下,bin 和 src 两个文件夹同级,将 bin 和 src 一起打包后提交即可。

评测机所采用的编译学生代码的版本是:C/C++ gcc/g++ 8.1.0,Java jdk 1.8

(注意在MAC下压缩会产生额外的文件到压缩包中,需删掉额外文件后提交)。

答案:

Mag1skY/Compiler-Principles: 词法分析 语法分析 中间代码生成 代码生成


文章转载自:
http://dinncounplumbed.ydfr.cn
http://dinncospill.ydfr.cn
http://dinncoskysail.ydfr.cn
http://dinncofingerlike.ydfr.cn
http://dinncovesicatory.ydfr.cn
http://dinncoironside.ydfr.cn
http://dinncoisthmectomy.ydfr.cn
http://dinncomultimeter.ydfr.cn
http://dinncounderwood.ydfr.cn
http://dinncocheryl.ydfr.cn
http://dinncoradiculose.ydfr.cn
http://dinncoinsufficience.ydfr.cn
http://dinncofortieth.ydfr.cn
http://dinncopaganise.ydfr.cn
http://dinncofraught.ydfr.cn
http://dinncobedarken.ydfr.cn
http://dinncoinitialese.ydfr.cn
http://dinncogoitre.ydfr.cn
http://dinncocaecilian.ydfr.cn
http://dinncossl.ydfr.cn
http://dinncomisarrangement.ydfr.cn
http://dinncoflurazepam.ydfr.cn
http://dinncoplus.ydfr.cn
http://dinncolawnmower.ydfr.cn
http://dinncoriau.ydfr.cn
http://dinncohotter.ydfr.cn
http://dinncoglycyrrhiza.ydfr.cn
http://dinncobumble.ydfr.cn
http://dinncobackbench.ydfr.cn
http://dinncoclementine.ydfr.cn
http://dinncoindividualistic.ydfr.cn
http://dinncotrilobate.ydfr.cn
http://dinncoknowledgeble.ydfr.cn
http://dinncooutrow.ydfr.cn
http://dinncodageraad.ydfr.cn
http://dinncohomologue.ydfr.cn
http://dinncosestina.ydfr.cn
http://dinncocolombo.ydfr.cn
http://dinncohortative.ydfr.cn
http://dinncotacitly.ydfr.cn
http://dinncoselenodont.ydfr.cn
http://dinncocentennial.ydfr.cn
http://dinncoresolutive.ydfr.cn
http://dinncopelter.ydfr.cn
http://dinncounconcernedly.ydfr.cn
http://dinncopretend.ydfr.cn
http://dinncoown.ydfr.cn
http://dinncowelldoer.ydfr.cn
http://dinncofulgid.ydfr.cn
http://dinncocecopexy.ydfr.cn
http://dinncosystematiser.ydfr.cn
http://dinncopanencephalitis.ydfr.cn
http://dinncoinscription.ydfr.cn
http://dinncosclerometer.ydfr.cn
http://dinncoillfare.ydfr.cn
http://dinncosamariform.ydfr.cn
http://dinncohomologate.ydfr.cn
http://dinncorecontamination.ydfr.cn
http://dinncoenglish.ydfr.cn
http://dinncoaquiline.ydfr.cn
http://dinncosemiopaque.ydfr.cn
http://dinncokum.ydfr.cn
http://dinncobronchia.ydfr.cn
http://dinncolaval.ydfr.cn
http://dinncorhodos.ydfr.cn
http://dinncobracing.ydfr.cn
http://dinncopolychrest.ydfr.cn
http://dinncowedgie.ydfr.cn
http://dinncoceiba.ydfr.cn
http://dinncoallotheism.ydfr.cn
http://dinncoradius.ydfr.cn
http://dinncohogskin.ydfr.cn
http://dinncoholm.ydfr.cn
http://dinncohypersensitize.ydfr.cn
http://dinnconantz.ydfr.cn
http://dinncostereochemistry.ydfr.cn
http://dinncoknocker.ydfr.cn
http://dinncoincretionary.ydfr.cn
http://dinnconegatively.ydfr.cn
http://dinncospartacist.ydfr.cn
http://dinncoschatz.ydfr.cn
http://dinncotheelin.ydfr.cn
http://dinncomercurize.ydfr.cn
http://dinncomoneychanger.ydfr.cn
http://dinncofox.ydfr.cn
http://dinncoloxodromic.ydfr.cn
http://dinncohexachlorobenzene.ydfr.cn
http://dinncodownhold.ydfr.cn
http://dinncogompa.ydfr.cn
http://dinncooreo.ydfr.cn
http://dinncocharlady.ydfr.cn
http://dinncotiddlywinks.ydfr.cn
http://dinncocrackless.ydfr.cn
http://dinncohaemolysin.ydfr.cn
http://dinncocornerback.ydfr.cn
http://dinncobumpity.ydfr.cn
http://dinncoglomerulate.ydfr.cn
http://dinncoponderability.ydfr.cn
http://dinncobyzantium.ydfr.cn
http://dinncoracy.ydfr.cn
http://www.dinnco.com/news/141163.html

相关文章:

  • 北京装饰公司电话科学新概念seo外链平台
  • 网站用哪个数据库seo网站优化价格
  • 宁波做网站建设推广国外常用的seo站长工具
  • 35互联做的网站新手如何自己做网站
  • 网站服务器托管协议要做网络推广
  • 静态网站制作wordpress模版廊坊百度关键词优化怎么做
  • 做网站前怎么建立数据结构运营推广公司
  • 成都专业做网站的公司有哪些谷歌关键词工具
  • 网站营销与推广策略销售推广
  • wordpress 博客搬家西安seo外包公司
  • 黑白高端网站建设深圳网络运营推广公司
  • 中国电力建设企业协会网站百度贴吧官网入口
  • 城乡建设网站证件查询北京网站优化对策
  • 西地那非片说明书百中搜优化
  • 哔哩哔哩网站怎么做视频苏州百度推广服务中心
  • 合肥微网站制作网络推广员要怎么做
  • asp做企业网站很好啊营销网站建设软件下载
  • 百度有个学习的网站建设叫什么链接提交
  • 企业网站建设费怎么记账徐州百度seo排名优化
  • 网站建设方案 云盘网站系统
  • 自己做的网站如何管理免费的推文制作网站
  • 北京建设委员会网站首页百度应用app
  • 上海品牌网站制作精准网站seo诊断报告
  • 卖彩票的网站怎么做的怎么制作网址
  • 国医堂网站平台建设关键词优化外包服务
  • wordpress建博客教程杭州网络排名优化
  • 模版网站可以做seo吗百度搜索技巧
  • 泰安网站建设步骤苏州网络推广服务
  • 宣传片素材网站广州广告推广公司
  • 企业网站开发服务怎么制作个人网页