欢迎来到天天文库
浏览记录
ID:5266443
大小:328.44 KB
页数:4页
时间:2017-12-07
《基于alex的atlas词法分析器设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、万方数据匿查鎏霾雯巫墅塑窭羽软件时空文章编号:l∞8-0570(2008)06-3_0245.02基于ALEX的ATLAS词法分析器设计与实现DesignandhnplementatiOn0fATLASLexica
2、AnaIyzerBased0nALEX(海军航空工程学嘲孔祥芝王昌金刘鹏KONGXiang-ZhiWANGChang-jjnLIUPeng摘要:针对IEEEStdATLAS716标准,利用基于windows操作平台的集成开发工具PmerGenerator,设计并实现了A,11AS词法分析器,分析了该词法
3、分析器进行ATLAs词法分析的过程。实践证明,利用该方法编写词法分析器简单易行,且构造的词法分析器准确性高,易于扩展。中关键词:ATLAS;编译器;词法分析;ALEX;Par姥rG蚰erator中图分类号:TP312文献标识码:AA蛔tract:AccordingtotheIEEEStdA’rLAS716,usingtheIDEParserGeneratorbasedonWindows,theATLASle】【ical蛐alyzeri8desjgned肋djmplemented.ne】exjcala11alyzin
4、gprocess0fthecompleted1exjcal卸alyzerisalsoexpljcated.Thepmcticepl_;DvestbisappIDachissimpleaJldtheanalyzeritselfishighveraciousandeasytoextend.Key聊Drds:A11LAS;c哪pner.1exic砒a舳lysis;ALEX;Par辩rGe耻ntor引言A’I’LAs(AbbreviatedTestLangllageforAuSystems)是目前自动测试领域广泛使用的一种
5、专用测试语言,具有面向信号、面向被测对象等优点。利用ATLAs编写测试程序是未来军用测试系统的一项关键技术。作为一种高级语言。要使其运行在某台具体的机器上,需为之配备专用的编译器。词法分析是编译过程的基础阶段。开发程序设计语言词法分析器的方法主要有两种:一种是手r丁编写;另一种是借助于辅助生成工具LEx(kxicalAnalyzerGenerator)。由于ATLAS定义庞大,采用手T编写词法分析程序,结构复杂,且不易修改和扩充;采用第二种方法对ATLAs词法分析器的研究,已经取得了一定成果,但它是借助于基于D0s
6、的FLEx工具进行的,在windows操作系统广泛使用的今天,实现起来有所不便。为此,本文在研究基于windows平台的ParserGenerator基础上,利用其中集成的ALEx,设计并实现了AnAs编译器的词法分析模块。1ALEX特点分析LEx有多个版本,常用的有UNIx系统自带的LEx,GNU发布的FLEx,Bison和MKs发布的LEx等,这些工具的运行环境必须为uNIx、D0s和0s,2。ALEx也是其中的一个,但它基于windows操作平台,与FLEx相比,有以下优点:(1)具有可视化操作特点不用记住复
7、杂的MS-DOs操作命令;(2)开发向导可自动生成LEx源文件初始框架,节省大量开发工作:(3)利用内置的程序库构造工具,可以方便地构造LEx静态或动态链接库;(4)通过适当设置ParserGenerator的参数,可以将ALEx集成到其他可视化集成开发环境中(如Visualc++),方便图形界面设计与词法分析程序的集成。(5)不但能生成c语言代码的词法分析程序,还能生成c++孔祥芝:在读硕士研究生和Java代码描述的词法分析程序。2ATLAS词法分析器的结构设计ATLAs词法分析是ATLAs编译过程的第一步,其功
8、能在于:扫描AⅡAs源程序字符流,按照该语言的词法规则识别出各类单词符号(token)。ATLAS编译器中,将ATLAS词法分析程序作为语法分析的子程序来实现。每当语法分析需要一个新的单词符号时,就调用词法分析子程序识别出—个单词符号。如图l所示:墓叠霉嚣嚣程序主要完戚文件包音的齄理1条件辅译’蜜一控制瘴———-最姑堆图lA7rLAS词法分析器的结构设计这种结构设计方法避免了中间文件的产生,编译效率较高。3ATLAS词法分析器的设计与实现3.1ATLAS词法分析程序的构造用ALEx构造ATLAs词法分析程序,首先要
9、分析A11As的各类单词,然后用LEx语言写出各类单词的正规表达式,以及相应的执行动作。f1)A,I'LAs程序的单词分析根据A1rI.As单词在句子中所起作用的不同,可将它们大致分为以下五类:关键字、标识符、字面量、语句标号、特殊字符。另外,在ATLAs源程序中有三种注释:以大写字母B开头以$结束的注释、以大写字母c开头以$结束的注释、message—te
此文档下载收益归作者所有