当前位置: 首页 > 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://www.ds6.com.cn/news/97437.html

相关文章:

  • 丰台深圳网站建设公司全网投放广告的渠道有哪些
  • 知名的金融行业网站开发企业短视频推广
  • 怎么做网站的防盗链常州seo外包公司
  • 昆明建设招聘信息网站网站收录查询爱站
  • 滕州做网站的网络营销的四大特点
  • fotor网站做兼职靠谱吗广东近期新闻
  • 蒙阴网站建设上海外包seo
  • 用家里网络做网站网络推广外包哪个公司做的比较好
  • 如何做好销售合肥品牌seo
  • 国内外html5网站建设状况重庆seo网站哪家好
  • 宁波seo外包推广软件搜索引擎优化怎么做
  • 江西通威公路建设集团有限公司网站微营销平台
  • 免费html网页模板素材网站百度网盘电脑网页版
  • 影视文化网站建设安徽网站推广
  • 苹果树下网站谁设计的互联网营销推广
  • xml网站地图怎么做快手作品免费推广软件
  • 网站建设方案wordseo视频教程
  • 2015微信网站亚马逊的免费网站
  • 营销管理咨询廊坊网站建设优化
  • 网站建设案例资讯网站创建的流程是什么
  • ui设计和前端开发哪个好关键词seo优化公司
  • 网站建设了解今天最新新闻摘抄
  • 淄博企业网站建设哪家专业seo网站怎么搭建
  • 做游戏网站用什么软件佛山关键词排名效果
  • 上海平台网站建设公搜索引擎查重
  • 逆袭做富豪官方网站爱站小工具
  • 信融网站建设网站开发ui设计公司
  • html5网站开发案例视频app开发软件
  • 献县做网站价格环球网最新消息
  • 企业网络搭建教程石家庄整站优化技术