一个编译器实验的设计与实现

一个编译器实验的设计与实现

ID:5290570

大小:313.99 KB

页数:5页

时间:2017-12-07

一个编译器实验的设计与实现_第1页
一个编译器实验的设计与实现_第2页
一个编译器实验的设计与实现_第3页
一个编译器实验的设计与实现_第4页
一个编译器实验的设计与实现_第5页
资源描述:

《一个编译器实验的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、”一。瓦而而淼神霍豳羹匿万方数据磺谰镧文章编号:1672-5913(2009)23-0022-04一个编译器实验的设计与实现赵会群,孙晶,谭效辉(北方工业大学信息工程学院,北京100144)摘要:本文介绍了一个适合描述球类比赛战术特点的脚本描述语言,并把该语言作为实验题目进行实验教学,介绍了学生设计并实现的脚本描述语言编译器,该脚本描述语言的词法和文法描述定义,给出词法分析器和语法分析器的结构设计,最后介绍实现中采用的关键技术。关键词:脚本描述语言;词法分析器;语法分析器中图分类号:G642文献标识码:B传

2、统的编译原理实验基本以高级程序设计语言为对象进行组织,一般包括词法分析、语法分析和语义分析等,教学内容和实验设计几乎几十年不变。由于现在的本科生毕业后很少有机会从事高级语言翻译工作,所以学生对该课程的兴趣不大。随着计算机技术的发展和基于互联网的搜索技术和智能处理技术的广泛应用,编译技术已经不再局限于高级语言的翻译和处理一一利用编译原理解决更广泛的应用问题是新的需求。因此笔者在这方面也做了有益尝试。脚本语言是随着互联网发展起来的信息描述技术,它具有以下特点:(1)脚本语言简单易学,开发成本较低。(2)脚本语言

3、很容易被解释执行,而且花费时间比较短。(3)脚本描述语言设计的设备无关性。但是,脚本描述语言没有自然语言容易理解,所以最终还是要把脚本语言翻译为自然语言(目标语言)。一般编程语言编写的程序要在计算机上运行,必须转化为计算机能够识别的机器语言,转化过程一般包括词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等环节。我们设计的球类脚本描述语言主要用于对体育比赛视频进行标准化,所以在语言构成上没有高级语言复杂,翻译时也不需要上面提到的编译实现全过程,只需要进行词法分析、语法分析和语义分析3个环节

4、。1球类脚本描述语言随着社会文明的发展与进步,体育比赛已经成为人民文化生活中不可缺少的组成部分。2008年,北京成功举办了第29届奥林匹克运动会,运动员共打破38项世界纪录,取得了骄人的成绩。作为本次奥运会科技攻关课题组的成员,我们参加了国家乒乓球队攻关项目的研究工作,为中国乒乓球队设计实现了一个基于视频标注的技、战术分析系统。我们采用编译技术翻译乒乓球脚本描述语言,实时、准确地记录并分析比赛中发生的各种技、战术细节,为教练员提供客观翔实的分析数据。作为“编译原理”的任课教师,我们认为该课对学生系统掌握计算

5、机基础理论十分重要,但由于学生在今后工作中很难用到编译技术,就会产生厌学思想,因此为学生设计一个好的编译原理实验成为当务之急。为此,我们结合承担的科研课题,设计了一个既让学生感兴趣,又能加深他们对编译原理思想理解的实验。根据球类比赛的特点和脚本描述语言的设计要求,球类比赛可分为两种:一是比赛需主、客队同台(场)竞技,如沙滩排球、乒乓球、篮球、足球和网球等;二是主、客队轮流上场,比赛对手不是同台竞技,如台球和保龄球等。第一种球类比赛具有以下特点:(1)进攻/防守形成博弈;(2)博弈双方的技术动作具有相似性。为

6、此,我们把第一种比赛的相关技、战术描述抽象成如下形式:陟》势——————叠雹霸曩呈型坚型塑~一斓镧万方数据队员+技术动作+技术动作发生区域+技术动作结束区域我们的设计目标主要针对第一种比赛。脚本描述语言的语法结构如图1所示。监句子(型)图1脚本描述语言语法结构图其中单词由英文字母构成,可以采用汉语拼音的字首进行编码;句子由单词加分隔符“●”构成。图2是一个乒乓球比赛脚本描述语言的案例。2解释器的设计与实现根据球类比赛技、战术分析的需求,设计的解释器由2.1词法分析器图2乒乓球脚本输入码词法器、语法器和语义分

7、析模块三部分组成,如图3所示。其中词法分析器负责词法分析的预处理和输入单词的解释;语法分析器负责分析输入码的语法结构检查和解释;在词法和语法分析器的基础上,语义分析模块负责比赛技战术的分类与统计工作。下面分别介绍上述逻辑部件的设计与实现。图3脚本描述语言分析器根据第1节对球类比赛脚本描述语言语法结构的设计以及球类比赛描述的特点,我们对该描述语言的单词符号进行设计。单词符号有以下4种:(1)技术动作描述符:一般由四类字符组成,英文字母、数字、“+”和“一。其中,英文字母是技术动作的编码,由一个编码映射表支持词

8、法解释:数字用于描述技术动作发生的区域,该语言总是把比赛场地分割成若干个不同的区域;“+”和“.”是两个特殊符号,一般用于一些极其特殊的技、战术描述,如乒乓球中的“擦边球”或“擦网”等。(2)间隔符:用于区分不同的技术动作,一般用“·”表示。(3)保留字:为了明确标示比赛视频的开始和结束、每一小节或单局比赛的开始和结束、比赛中的暂停和开始,设计了一些保留字,如Match:Start、Match:End、Setl:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。