1、中华人民共和国程格式HB/Z 181.6-90 Ada i吾1 主题内容与适用范围本标准规定了使用A曲语言编程的格式,本标准不涉及程序设计方法和编程技巧。本标准适用于软件开发中的编程工作。2基本约定2. 1 元符号符号用作缩格指示符(在实际的程序行文中并不出现).指示该行相对于上行向右的缩格,箭头左端与上行左端对齐,箭头右端指示本行开始位置(具体缩格数,可在27格范围内一次选定)。符号(.)为可选择符号,表示在其内的内容是可有可无的。符号表示其内容可出现0次到多次。2.2 程序单元长度一个程序单元(子程序,程序包,任务,类属单元的长度一般不超过4页打印纸(约240行,包括注释行在内)。2. 3
2、 程序结构主程序单元描述体with库单元名.库单元名, u回程序包名.程序包名; pr因时ure程序标题应声明部分begin 语句end(程序标题), 2.4 主程序单元描述体主程序单元描述体以注释形式给出,它至少包括下述信息,按顺序为:程序单元名及其含义说明版本号及完成日期程序单元的功能编程人员的姓名,单位航空航天工业部1990-09-18发布206 1991-02-01实施H8/Z 181.6-90 程序修改人员姓名,单位,修改日期对环境的依赖性调用本程序单元的程序单元名本程序单元调用的其它程序单元名输入参数说明输出参数说明其它需说明的问题非主程序单元也应该在其前面以注释的形式给出其描述体
3、,但其中与主程序单元描述体内容相同的部分可以省略.描述体具体格式见附录A。2.5 注释利用注释可使程序中原来模糊的部分变得更加清晰.注释的行数一般应占整个程序单元总行数的1/5-1/3之间。注释行要书写整齐.2.6 标识符所有标识符应尽量有明确的含义,必要时可通过注释加以说明。3 声明和语句格式约定3. 1 声明部分3. 1. 1 基本声明项3.1.1.1 子程序声明项procedure标识符形式部分), 或function指明符形式部分)return类型标记,3.1.1.2 程序包声明package标识符m基本声明项(private 基本声明项)(limited private 基本声明项)
4、endC程序包简单名), 3.1.1.3 任务声明t嗣kCtype)标识符担人口声明)+表示句子)endC任务简单名),3.1.1.4 类属声明generic 标识符表,inCout)类型标识,=表达式,)207 H8/Z 181.6-90 私有类型声明(with子程序规格说明Cis(名字1语句when 备选情况且语句)when others罩语句end case J 3.2.4 条件语句E条件then 210 HB/Z 181.6-90 语句e旭eif条件-then 语句)Celse 语句end if 3. 2. 5 接受语句HB/Z 181.6-90 accept入口简单名C(入口序标)C
5、形参部分)Cdo 语句endC入口简单名刀,3. 2. 6 选择语句select 语句or 语句Celse i吾句end select J ; 3. 2. 7 简单语句下面是11种简单语句,a.空语句b.返回语句C.出口语句d.延迟语句夭折语句f.转语句g.引发语句h.代码语句1.入口调用语句J.过程调用语句k.赋值语句4 其它约定4. 1 关于换行的说明长需折行外均与前一行左端对齐,这些语句是:nu111 return表达式,exitC指名出口)Cwhen条件), delay时间表达式sabort任务名.任务名, goto标识符标号,raise(异常名), 类型标记记录聚集,入口名实参部分)
6、, 过程名实参部分), 变量名,=表达式,在程序中,除去括在字符串内的产之外,其余在任何地方遇飞均需换行.换行后,除去按格式要求应缩格外,其余的均与上行左端对齐.211 HB/Z 181.6-90 4.2 关于折行的处理当一个逻篝行超出由打印纸或屏幕所提供的宽度时,需要折行,在折行时不应将一个单词拆开,续行也要缩格.若遇到表达式中需折行,续行表达式与前一行表达式左端对齐,例如zmax:=(a+的警c/(d+e) , 若遇到参数表需要折行,续行参数表与前一行参数左端对齐.如procedure find (free: link ; key ,den : integer ) ; 212 -NAME
7、, VERSION , FUNCTION , -AUTHOR , MODIFIED BY , DEPENDENCE , 一一CALLEDBY , CALLS , INPUT , OUTPUT , OTHERS , HB/Z 181.6-90 附录A描述体细节(补充件)程序单元名及其含义说明版本号及完成日期程序单元的功能编程人员姓名及所在单位修改人员的姓名,单位,修改日期对环境的依赖性调用本程序单元的程序单元名本程序单元调用的其它程序单元名输入参数名、输入参数类型说明、输入参数功能说明)(若无输入量则填NONE)输出参数名、输出参数类型说明、输出参数功能说明)(若无输出量则填NONE)其它需说明
8、的问题213 NAME: HB/Z 181.6-90 附最B实例(参考件BEAU T IFY .formating Ada program 1. 01988.4.26 -VERSION , 一FUNCTION:This progr田nis used to beautify all Ada programs while have a complete grammatc副structure.-AUTHOR, Liu Bing .BU AA -DEPENDENCE: This program皿independentof machines. -CALLS, STA .COMMENT .LABLE .S
9、KIPBLANK .COMMON 一-INPUT:SOURCE ,FILE TYPE , 一OUTPUT:OBJECT :FILE TYPE, -m副nprocedure. with TEXT 10 .ST A .COMMENT .LABLE .SKIPBLANK .COMMON , use TEXT 10 .COMMON, procedure BEAUTIFY is package PO-COUNTanew INTEGER-IO), I,INTEGER, begin begin to input sour臼filewhich needs to be beautified PUT(PLEASE
10、 INPUT SOURCE FILE NAME:), 1: =0, while not END OF LINE loop 1,1+1, GET (N AME (1) , end loop; OPEN(SOURCE .IN FILE .NAME(1. .1), SKIP LINE, 一Cho咽eoutput fUe s name COUNT), PUT(叽PLEASEINPUT OBJECT FILE NAME COBJ. ADA):, I g =0 214 HB/Z 181.6-90 whlle not END OF LINE loop 1,=1+1 , GET (NAME (1), end
11、loop J 世1=0then CREATE(OBJECT .OUT _FILE. OBJ. ADA) , else CREATE(OBJECT.OUT _FILE.NAME), else迁,-choose first column number PUT (PLEASE INPUT IN SPACE LENGTH ,), GET (lN _SPACE), SKIPBLANK , -check to s回ifthe progrom h副description?迂CHAR/=一then SET COL (OBJECT .FRIST), PUT (OBJECT. -NOTE ,NO COMMENT 川,NEW LINE (OBJECT) , PUT (NOTE ,NO COMMENT ,), end if; begin to beautify the test whlle not END OF FILE(SOURCE) loop iI CHAR= ,end 1p, CLOSE(SOURCE) , CLOSE(OBJECT), end EAUTIFY, -The other pr田edur回areignored (其余部分在此不一一列出了0)附加说明E本标准由航空航天工业部第三0一研究所提出.本标准由北京航空航天大学负责起草.216