收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

ATLAS常规语言部分到C语言的转换

张荷花  
【摘要】:ATLAS (Abbreviated Test Language for All Systems)是一个面向测试的通用语言,这个语言用于描述通常与任何具体测试系统无关的测试过程,并确保可以在自动测试系统ATE(automatic test equipment)上实现[1]。ATLAS语言因其可扩展性、易用性及设备无关性,被广泛应用于军事、工业等领域。 整个ATLAS项目的任务是实现ATLAS语言。整个项目分为三期完成。第一期的工作是完成ATLAS语言的词法分析和语法分析;第二期的工作是进行尽可能多的语义检查,并把ATLAS程序转换成在功能上完全等价的C语言程序;第三期的工作是对转换后的C语言程序进行优化,使其在可读性、可理解性、时间效率和空间效率上都达到比较满意的结果。 作为整个ATLAS项目第二期的一部分,本文完成了ATLAS语言的常规语言部分到C语言的转换。本文的工作主要包括以下几个方面的工作: 一、ATLAS的声明部分到C语言的转换。ATLAS的声明部分包括常量声明语句、类型声明语句和变量声明语句。它们可以分别转换成C语言中对应的常量声明语句、类型声明语句和变量声明语句。 二、ATLAS的过程相关语句到C语言的转换。ATLAS和过程相关的语句有三种:过程结构体定义、过程调用语句PERFORM、跳出过程语句LEAVE procedure。过程结构体定义执行某一功能的ATLAS语句序列。过程调用语句PERFORM调用已定义的过程来完成需要的任务。使用过程跳出语句LEAVE procedure可以在过程正常结束之前跳出过程。ATLAS的过程声明转换成C语言中的返回类型为void的函数声明。LEAVE procedure语句转换成C语言的从函数中返回的return语句。PERFORM语句转换成C语言的函数调用。 三、ATLAS的数据处理语句到C语言的转换。ATLAS数据处理语句包括CALCULATE语句和COMPARE语句。CALCULATE语句提供进行计算的能力,可以是一条赋值语句,也可以是赋值语句序列。COMPARE语句通过把测试值与规定的极限值进行比较,设置GO,NOGO,HI,LO等标志状态字表示 WP=56 测试结果,以供在后续的测试过程进行使用。CALCULATE语句转换为C语言中的赋值或者赋值序列;C语言中没有直接的比较语句,故COMPARE语句在转换时用C语言的IF语句模拟。 四、ATLAS的过程控制语句到C语言的转换。ATLAS过程控制语句决定程序的执行顺序,包含IF语句、WHILE语句、FOR语句、LEAVE IF语句、LEAVE WHILE语句、LEAVE FOR语句和GOTO语句。条件语句IF,循环语句WHILE和FOR以及无条件跳转语句GOTO的用法与C语言中的对应语句基本相同,转换时也可以直接对应。LEAVE IF语句、LEAVE WHILE语句、LEAVE FOR语句分别是从IF语句、WHILE语句、FOR语句中跳出,控制转向跳出的结构之后的第一个可执行语句。根据具体语义的不同将它们转换成C语言的break语句或者GOTO语句。 五、ATLAS的输入输出语句到C语言的转换。 ATLAS输入输出语句的功能是为程序传入或传出数据。包括4类语句:ENABLE FILE ACCESS语句、DISABLE FILE ACCESS语句、INPUT语句、和OUTPUT语句。 ENABLE FILE ACCESS语句将一个文件变量和一个实际的文件建立联系,以便以后进行访问。DISABLE FILE ACCESS语句断开由ENABLE FILE ACCESS语句指定的文件变量与实际文件的联系,因而释放文件变量,以便以后使用。 INPUT语句根据输入文件的种类不同分为4类:第一类从一个已知类型的数据项组成的文件读入数据,传输单位是一个已知类型的数据项;第二类从文本文件输入数据,也可以从系统所属的标准输入设备上进行文本输入,传输单位是字符;第三类从未知文件输入数据,以位为单位进行传输;第四类对通过INPUT语句对条件量GO和NOGO进行设置。 OUTPUT语句根据写出文件的种类不同分为三类:第一类将表达式的值写入已知类型数据构成的文件中,传输单位是一个已知类型的数据项;第二类向文本文件输出数据,也可一向系统所属的标准输出设备进行文本输出,传输单位是字符;第三类是向未知文件输出数据,以位为单位进行传输。 将ATLAS的输入输出语句转换成C语言的输入输出语句。ENABLE FILE ACCESS语句转换成C语言的与之功能类似的fopen函数。DISABLE FILE ACCESS语句转换成C语言的fclose函数。INPUT语句中,对于已知类型文件和未知类型文件的读 WP=57 取转换成C语言中对二进制流文件的读取,对于文本文件的读取转换成C语言中对文件文件的读取操作,分别用C语言的fread或fscanf函数实现。对于设置GO/NOGO值的INPUT语句转换成对布尔变量GO/NOGO的赋值。OUTPUT语句中,对于已知类型文件和未知类型文件的写入转换成C语言中对二进制流文件的写操作,对于文本文件的写入转换成C语言中对文件文件的写操作,分别用C语言的fwrite或fprintf函数实现。 本文讨论的ATLAS的常规语言部分到C语言的转换,是项目“ATLAS语言实现”的重要组成部分,为ATLAS语言其它部分(如信号部分和总线部分)的实现构造了语言框架。这部分转换是一个比较完整的开发模块,规模较大,其中用到了一定的编译技术和程序转换技术,在理论上和实际应用上都有一定的价值。


知网文化
【相似文献】
中国期刊全文数据库 前20条
1 魏力生 ,朱方洲;C语言基本知识点实例分析[J];电脑知识与技术;2003年08期
2 崔会军;;学习C语言应注意的几个方面[J];承德职业学院学报;2007年02期
3 何金枝;王保胜;;C语言中常见错误初探[J];福建电脑;2009年05期
4 张静;标准测试语言ATLAS综述[J];计算机与数字工程;2002年02期
5 刘丽梅;复习C语言应注意的几个方面(之四)——针对CCT C语言指针部分[J];承德职业学院学报;2005年03期
6 郝桂芳;;if语句控制多个数据输出的换行[J];山西科技;2008年03期
7 郝云鹏;;AVR单片机C语言总纲[J];鞍山师范学院学报;2008年04期
8 李春玲;;灵活多变的for语句[J];科技信息;2009年26期
9 Alan R. Feuer ,张宏 ,庄悦平;程序设计语言C和PASCAL的比较[J];计算机工程与应用;1983年01期
10 陶跃华,赵波,李婕;计算机高级语言教学模式探讨[J];中文信息;1997年06期
11 黄勇,李永明,汤颖,匡顺兰;ATLAS测试程序结构分析[J];航空电子技术;2004年03期
12 孙明月;;对C语言中循环结构的认识[J];考试周刊;2009年01期
13 李跃华;如何正确地使用C语言的指针[J];微型电脑应用;1995年03期
14 任磊;;C语言指针的运用及常见错误分析[J];商丘师范学院学报;2008年12期
15 姚仲仁;在C语言中引用宏的一个小窍门[J];邢台职业技术学院学报;1997年01期
16 刘丽梅;复习C语言应注意的几个方面(之一)——针对省计算机二级考试C语言基础部分[J];承德民族职业技术学院学报;2003年04期
17 柳文清;;C语言课程教学改革与实践[J];中国科技信息;2008年02期
18 刘文锋;;探讨C语言中的指针和数组问题[J];电脑知识与技术;2010年19期
19 卢春兰;谈C语言的上机调试技巧[J];湖北财经高等专科学校学报;2004年03期
20 严轶群;刘涛;;浅谈C语言学习方法和编程风格[J];兰州工业高等专科学校学报;2009年03期
中国重要会议论文全文数据库 前10条
1 刘磊;郭德贵;;测试语言ATLAS的实现技术[A];中国仪器仪表学会第六届青年学术会议论文集[C];2004年
2 高路;谢一冈;谢小希;高翠山;聂振东;张银鸿;;ATLAS环境温度和工作气压监测中的一总线应用[A];第十二届全国核电子学与核探测技术学术年会论文集[C];2004年
3 吴静;蔡砥;王铮;;中文语句的首字扩词分词法[A];认识地理过程 关注人类家园——中国地理学会2003年学术年会文集[C];2003年
4 施蕾;陈卫卫;;C语言中循环结构的教学方法探讨[A];2009全国计算机网络与通信学术会议论文集[C];2009年
5 欧阳群;谢一冈;韩红光;程绍臣;杨艺;郑树臣;童国梁;;ATLAS实验精密μ子漂移室的研制[A];第十二届全国核电子学与核探测技术学术年会论文集[C];2004年
6 潘中良;冯凤羚;;C语言课程实验课教学的探索[A];第十五届电工理论学术年会论文集[C];2003年
7 李永明;王俭勤;郑晋光;王成青;;ARINC 608A标准的ATE[A];探索创新交流--中国航空学会青年科技论坛文集[C];2004年
8 赵阳;;一组安静环境下语句句表的文字编制[A];2010全国耳鼻咽喉头颈外科中青年学术会议论文汇编[C];2010年
9 许凤才;;句子、语句及超句统一体[A];中国首届“海峡两岸俄语教学与研究学术讨论会”论文摘要集[C];2005年
10 王俭勤;李永明;杜延飞;;SMART软件控制平台研究[A];探索创新交流--中国航空学会青年科技论坛文集[C];2004年
中国博士学位论文全文数据库 前10条
1 李数;ATLAS探测器上W~+W~-双玻色子产生截面的测量[D];中国科学技术大学;2012年
2 吴雨生;大型强子对撞机ATLAS探测器上对WZ双玻色子产生截面的测量以及相关新物理过程的探索[D];中国科学技术大学;2012年
3 刘栋;利用ATLAS实验测量在7TeV质子—质子对撞过程中Wγ/Zγ电子衰变道的产生截面[D];山东大学;2011年
4 汪虎林;用LHC上ATLAS探测器取得的质心能量为7TeV的质子—质子对撞数据寻找重矢量玻色子[D];中国科学技术大学;2012年
5 战志超;在ATLAS实验数据中寻找超对称粒子和电子的判选[D];山东大学;2011年
6 王锦;ATLAS实验7TeV对撞能量下单顶夸克T道产生截面测量[D];山东大学;2012年
7 张冬亮;用LHC上的ATLAS探测器取得的7TeV的质子—质子对撞数据寻找衰变到eμ对的重粒子[D];中国科学技术大学;2012年
8 孟召霞;利用ATLAS探测器测量质心能量√s=7 TeV 下 W→τυ的反应截面[D];山东大学;2011年
9 徐超;[D];中国科学技术大学;2012年
10 俞杰;利用ATLAS实验7TeV数据通过半轻子衰变道测量Top夸克对产生截面[D];南京大学;2011年
中国硕士学位论文全文数据库 前10条
1 张荷花;ATLAS常规语言部分到C语言的转换[D];吉林大学;2004年
2 刘雷;ATLAS语言的语义分析技术[D];吉林大学;2004年
3 李泽安;测试程序开发环境分析与设计[D];南京气象学院;2004年
4 季强;TPS开发与运行环境的研究与设计[D];西北工业大学;2003年
5 程斌;不相交路径问题及其在ATLAS编译系统中的应用[D];吉林大学;2007年
6 金成科;基于虚拟仪器的故障诊断技术研究[D];华中科技大学;2007年
7 张沛;ATLAS探测器上双玻色子WZ产生截面的精确测量[D];中国科学技术大学;2009年
8 巩剑斌;面向信号的ATLAS语言分片技术[D];吉林大学;2007年
9 孙石磊;基于.net平台的党建系统的设计与实现[D];中国海洋大学;2007年
10 李衡讷;基于LCG的高能物理实验计算环境的实现与监测[D];山东大学;2006年
中国重要报纸全文数据库 前10条
1 磁动力工作室 明浩;单片机C语言入门讲座(十一)——数组的使用[N];电子报;2005年
2 浙江 赵国龙 顾鹏尧;C语言学习中的四大难点[N];电脑报;2003年
3 天津 王磊;二级C语言试题讲解基础篇[N];电脑报;2005年
4 陈智罡;C语言 指针概念总结[N];中国电脑教育报;2003年
5 北京 付平;轻松应付C语言考试[N];中国电脑教育报;2004年
6 ;Atlas与Aurox拟换股合并扩大规模[N];世界金属导报;2010年
7 特约记者 赵玉勇;软件艺术家40载春秋[N];电脑报;2005年
8 小溪;Atlas Iron收购Centaurus公司19.9%股份[N];中国冶金报;2011年
9 车忱;C语言教材编写需要出新[N];中华读书报;2004年
10 天津 吴子东;二级C语言试题讲解指针(1)[N];电脑报;2005年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978