[发明专利]一种Ada编程语言的子程序规格化定义及调用方法有效
| 申请号: | 201710812573.8 | 申请日: | 2017-09-11 | 
| 公开(公告)号: | CN107562463B | 公开(公告)日: | 2020-10-27 | 
| 发明(设计)人: | 朱晏庆;俞洁;沈怡颹;林荣峰;马雪阳;孟其琛;何益康 | 申请(专利权)人: | 上海航天控制技术研究所 | 
| 主分类号: | G06F8/10 | 分类号: | G06F8/10;G06F8/30;G06F8/36 | 
| 代理公司: | 上海信好专利代理事务所(普通合伙) 31249 | 代理人: | 朱成之;周乃鑫 | 
| 地址: | 200233 *** | 国省代码: | 上海;31 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 ada 编程 语言 子程序 规格化 定义 调用 方法 | ||
本发明涉及一种Ada编程语言的子程序规格化定义及调用方法,其采用把子程序的多个相同或不同类型的形式参数统一转化为一个形式参数,这个形式参数的类型为地址数组的访问类型,该访问类型相当于指针,该方法使子程序的定义得到统一;在子程序调用时,由于所有子程序使用的是统一的规格化的子程序定义。本发明取得了子程序调用可灵活替换效果,且与具体软件运行平台无关,具有广泛的适用性。
技术领域
本发明涉及软件编程的规格化技术,特别是涉及一种Ada编程语言的子程序规格化定义及调用方法。
背景技术
按照Ada编程语言的标准定义,子程序有函数调用和过程两种形式,函数调用有返回值,过程没有返回值。函数调用和过程都可以包含或不包含形式参数,形式参数的参数方式表达了和实参信息转换的方向:in,in out和 out,方式in是缺省的。
因此,程序员在编程时,不同的程序员会按照各自的喜好来定义子程序的形式,所以子程序的定义没有一个标准的统一形式。
子程序调用是按照其形式进行的,因没有标准的统一形式,所以其调用也是不可互换的,因此子程序调用的灵活性和可替换性受到极大的限制。
综上所述,需要采用一种子程序规格化定义方法解除这种限制,所以本发明提供了一种Ada编程语言的子程序规格化定义方法,且目前并没有发现同本发明类似技术的说明或报道,也尚未收集到国内外类似的资料。
发明内容
本发明的目的是提供一种Ada编程语言的子程序规格化定义及调用方法,通过使子程序的定义得到统一,解决了子程序调用时灵活性和可替换性的限制,并具有广泛的适用性。
本发明提供了一种Ada编程语言的子程序规格化定义及调用方法,其通过一个或多个处理器来执行以下步骤:
a、规格化一个子程序:把规格化前的子程序中的一个或多个相同类型或不同类型的形式参数转化为规格化形式参数;
b、多个子程序的规格化:对于多个子程序,重复所述步骤a,完成所有子程序的规格化;
c、子程序的形式参数的赋值:子程序调用前,把规格化前的每个子程序的每个形式参数的地址按照顺序赋值给一个地址数组,将所述地址数组的地址传递给规格化后的子程序的规格化形式参数;
d、规格化后的子程序调用:对于多个子程序,通过规格化形式参数,对每个子程序按照顺序进行调用;
e、对规格化后的子程序进行替换。
优选地,规格化后的每个子程序仅含有一个规格化形式参数。
优选地,所述规格化形式参数的类型为所述地址数组的访问类型。
优选地,定义的所述地址数组为通用地址数组。
优选地,所述步骤a中,规格化子程序的方法为:
a1:定义地址数组的类型;
a2:定义地址数组的访问类型;定义地址数组变量,其用于存放规格化前的多个子程序的形式参数的地址;
a3:定义带有访问类型的规格化形式参数的子程序访问类型;
a4:定义所述子程序访问类型的数组变量,其用于存放多个子程序的地址。
优选地,所述步骤c中,子程序的形式参数赋值的方法为:
c1:定义强制类型转换函数,将访问子程序的形式参数的类型转换成访问所述转换函数的类型;
c2:子程序包含有转换函数类型的多个形式参数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海航天控制技术研究所,未经上海航天控制技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710812573.8/2.html,转载请声明来源钻瓜专利网。





