构造组合函数块的方法及装置、组合函数块、存储介质制造方法及图纸

技术编号:31708718 阅读:15 留言:0更新日期:2022-01-01 11:11
一种构造组合函数块的方法及装置、组合函数、存储介质,该方法应用于函数块库,且包括:从多个组合范式中选择至少一个组合范式;获取对多个函数块中的至少两个函数块的排列操作,得到计算序列;基于计算序列,进行拼接操作确定至少两个函数块之间的连接关系;基于至少两个函数块中每个函数块的接口以及至少两个函数块之间的连接关系,将至少两个函数块封装为组合函数块,并生成组合函数块对应的接口。每个函数块包括与该函数块对应的接口对应的至少一个输入数据项和至少一个输出数据项,至少一个输入数据项和至少一个输出数据项在该函数块中以存储的形式存在,拼接操作包括将至少两个函数块的至少部分输入数据项和/或至少部分输出数据项进行连接。分输出数据项进行连接。分输出数据项进行连接。

【技术实现步骤摘要】
构造组合函数块的方法及装置、组合函数块、存储介质


[0001]本公开的实施例涉及一种通过嵌套使用组合范式来构造组合函数块的方法、构造组合函数块的装置、组合函数块和非瞬时性计算机可读存储介质。

技术介绍

[0002]软件设计有两个基本设计思想,模块化和抽象。模块化可以使软件易设计、易理解、易维护。抽象可以使代码更复用。实现软件设计的模块化和抽象都没有统一的方法,需要根据不同的应用具体选择。

技术实现思路

[0003]本公开至少一个实施例提供一种通过嵌套使用组合范式来构造组合函数块的方法,应用于函数块库,所述函数块库包括多个函数块,其中,所述方法包括:从多个组合范式中选择至少一个组合范式;获取对所述多个函数块中的至少两个函数块的排列操作,得到计算序列;基于所述计算序列,进行拼接操作确定所述至少两个函数块之间的连接关系;基于所述至少两个函数块中每个函数块的接口以及所述至少两个函数块之间的连接关系,将所述至少两个函数块封装为组合函数块,并生成所述组合函数块对应的接口;其中,所述多个函数块中的每个函数块包括与该函数块对应的接口对应的至少一个输入数据项和至少一个输出数据项,所述至少一个输入数据项和所述至少一个输出数据项在该函数块中以存储的形式存在,所述拼接操作包括将所述至少两个函数块的至少部分输入数据项和/或至少部分输出数据项进行连接。
[0004]本公开至少一个实施例提供一种根据本公开任一实施例所述的方法得到的组合函数块,该组合函数块包括:一个或多个函数块,所述一个或多个函数块通过数据传递连线和/或辅助合并连线进行连接。
[0005]本公开至少一个实施例提供一种构造组合函数块的装置,包括:存储器,用于非瞬时性地存储计算机可读指令;处理器,用于运行所述计算机可读指令,所述计算机可读指令被所述处理器运行时实现根据本公开任一实施例所述的方法。
[0006]本公开至少一个实施例提供一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现根据本公开任一实施例所述的方法。
附图说明
[0007]为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
[0008]图1为本公开一些实施例提供的一种构造组合函数块的方法的示意图;
[0009]图2A为本公开一些实施例提供的两个计算的图形化的表达形式的示意图;
[0010]图2B为对图2A所示的两个计算进行组合的示意图;
[0011]图2C为对图2A所示的两个计算进行组合得到的新计算的图形化的表达形式的示意图;
[0012]图2D为对图2A所示的两个计算进行组合得到的新计算的接口的图形化的表达形式的示意图;
[0013]图3A为本公开一些实施例提供的一种数据项的图形化的表达形式的示意图;
[0014]图3B为本公开一些实施例提供的一种整型的数据项的图形化的表达形式的示意图;
[0015]图3(1)A~3(1)F为本公开一些实施例提供的函数块的接口的存储层级结构图;
[0016]图4A为本公开一些实施例提供的一个基本函数块的接口的图形化的表达形式的示意图;
[0017]图4B为本公开一些实施例提供的一个基本函数块的接口的存储层级结构图;
[0018]图4C为本公开一些实施例提供的一个加法函数块的接口的图形化的表达形式的示意图;
[0019]图4D(1)为本公开一些实施例提供的一个加法函数块的接口的一种存储层级结构图;
[0020]图4D(2)为本公开一些实施例提供的一个加法函数块的接口的另一种存储层级结构图;
[0021]图4E为本公开一些实施例提供的一个表示关系表达式的基本函数块的图形化的表达形式的示意图;
[0022]图4F为本公开一些实施例提供的一个表示关系表达式的基本函数块的一个具体示例的图形化的表达形式的示意图;
[0023]图4G为本公开一些实施例提供的一个表示关系表达式的基本函数块的接口的存储层级结构图;
[0024]图4H为本公开一些实施例提供的一个表示逻辑表达式的基本函数块的图形化的表达形式的示意图;
[0025]图4I为本公开一些实施例提供的一个表示逻辑与表达式的基本函数块的一个具体示例的图形化的表达形式的示意图;
[0026]图4J为本公开一些实施例提供的一个表示逻辑与表达式的基本函数块的接口的存储层级结构图;
[0027]图4K为本公开一些实施例提供的一个表示算术表达式的基本函数块的图形化的表达形式的示意图;
[0028]图4L为本公开一些实施例提供的一个表示加法表达式的基本函数块的图形化的表达形式的示意图;
[0029]图4M为本公开一些实施例提供的表示加法表达式的基本函数块的接口的一种存储层级结构图;
[0030]图4N为本公开一些实施例提供的表示加法表达式的基本函数块的接口的另一种存储层级结构图;
[0031]图4O为本公开一些实施例提供的一个表示赋值表达式的基本函数块的图形化的表达形式的示意图;
[0032]图4P为本公开一些实施例提供的一个表示赋值表达式的基本函数块的一个具体示例的图形化的表达形式的示意图;
[0033]图4Q为本公开一些实施例提供的表示赋值表达式的基本函数块的接口的存储层级结构图;
[0034]图4R为本公开一些实施例提供的一个表示getname函数的基本函数块的图形化的表达形式的示意图;
[0035]图4S为本公开一些实施例提供的表示getname函数的基本函数块的接口的存储层级结构图;
[0036]图5A为本公开一实施例提供的一种输出输出传递线的示意图;
[0037]图5B为本公开一实施例提供的一种输出输入传递线的示意图;
[0038]图5C为本公开一实施例提供的另一种输出输入传递线的示意图;
[0039]图5D为本公开一实施例提供的又一种输出输入传递线的示意图;
[0040]图5E为本公开一实施例提供的一种辅助合并连线的示意图;
[0041]图6为本公开一些实施例提供的一种组合函数块的示意图;
[0042]图7A为本公开一些实施例提供的一种基于顺序组合范式组合函数块的方法的示意图;
[0043]图7B为本公开一些实施例提供的至少两个函数块的图形化的表达形式的示意图;
[0044]图7C为本公开一些实施例提供的一种常量数据项的图形化的表达形式的示意图;
[0045]图7D为本公开一些实施例提供的两个函数块的图形化的表达形式的示意图;
[0046]图8A为本公开一些实施例提供的一种计算序列的图形化的表达形式的示意图;
[0047]图8B为图8A所示的常量数据项的图形化的表达形式的示意图;
[0048]图8C为对图8A所示的计算序列进行连线本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通过嵌套使用组合范式来构造组合函数块的方法,应用于函数块库,所述函数块库包括多个函数块,其中,所述方法包括:从多个组合范式中选择至少一个组合范式;获取对所述多个函数块中的至少两个函数块的排列操作,得到计算序列;基于所述计算序列,进行拼接操作确定所述至少两个函数块之间的连接关系;基于所述至少两个函数块中每个函数块的接口以及所述至少两个函数块之间的连接关系,将所述至少两个函数块封装为组合函数块,并生成所述组合函数块对应的接口;其中,所述多个函数块中的每个函数块包括与该函数块对应的接口对应的至少一个输入数据项和至少一个输出数据项,所述至少一个输入数据项和所述至少一个输出数据项在该函数块中以存储的形式存在,所述拼接操作包括将所述至少两个函数块的至少部分输入数据项和/或至少部分输出数据项进行连接。2.根据权利要求1所述的方法,其中,所述多个函数块包括多个基本函数块和多个组合函数块,每个所述组合函数块由至少一个基本函数块和/或至少一个组合函数块组成,所述多个基本函数块表示组成任一组合函数块的最小单位;所述多个基本函数块中的每个基本函数块具有其对应的计算功能,每个所述组合函数块的计算功能为基于所述至少一个基本函数块和/或所述至少一个组合函数块的计算功能和连接关系来确定每个所述组合函数块的计算功能;将所述组合函数块作为函数块存储在所述函数块库中,以扩展所述函数块库。3.根据权利要求2所述的方法,其中,所述拼接操作按照以下步骤顺序执行:按照多个组合范式中的至少一个组合范式,对所述至少两个函数块进行组合;对组合后的所述至少两个函数块的至少部分输入数据项和/或至少部分输出数据项进行连接。4.根据权利要求2所述的方法,其中,所述拼接操作按照以下步骤顺序执行:将所述至少两个函数块的至少部分输入数据项和/或至少部分输出数据项进行连接;按照多个组合范式中的至少一个组合范式,对连接数据项之后的所述至少两个函数块进行组合。5.根据权利要求3或4所述的方法,其中,所述多个组合范式包括顺序组合范式、条件组合范式、循环组合范式、当型循环组合范式;所述条件组合范式包括判断条件部分、第一分支部分和第二分支部分;所述循环组合范式包括单次表达式和至少一层循环体,每个循环体包括至少一个循环部分,每个循环部分包括条件表达式、中间循环表达式和末尾循环表达式;所述当型循环组合范式包括至少一层当型循环体,每个当型循环体包括至少一个当型循环部分,每个当型循环部分包括当型条件表达式和当型循环表达式。6.根据权利要求5所述的方法,其中,所述多个基本函数块包括表示关系表达式的基本函数块、表示逻辑表达式的基本函数块、表示算数表达式的基本函数块、表示赋值表达式的基本函数块、表示数据类型转换功能的基本函数块和范式基本函数块,其中,所述范式基本函数块包括对指针操作的基本函数块,
所述范式基本函数包括用于获取数据项的地址的基本函数块、用于获取数据项的数据类型值的基本函数块和用于进行数组操作的基本函数块。7.根据权利要求5所述的方法,其中,对于所述多个函数块中的每个函数块,所述函数块对应的接口包括输入部分和输出部分,所述函数块对应的接口的输入部分对应所述函数块的至少一个输入数据项,所述函数块对应的接口的输出部分对应所述函数块的至少一个输出数据项,所述至少一个输入数据项和所述至少一个输出数据项每个包括数据类型属性、数据类别属性、存储类型属性、值属性、名称属性、物理地址属性和相对地址属性,所述数据类别属性包括基本数据类型、组合数据类型、指针类型和泛型,所述指针类型包括通用指针类型和非通用指针类型;所述数据类型属性指数据项的类型;所述存储类型属性包括虚拟存储和真实存储,所述相对地址属性用于表示数据项的顺序编码值,对于数据类别属性为所述组合数据类型的数据项,所述数据项包括数据类别属性为所述基本数据类型的多个数据项,或者,所述数据项包括数据类别属性为所述组合数据类型的多个数据项,或者,所述数据项包括数据类别属性为所述指针类型的多个数据项,或者,所述数据项包括数据类别属性为所述泛型的多个数据项,或者,所述数据项包括的数据项的数据类别属性至少为以下数据类别属性的至少两种:所述基本数据类型、所述组合数据类型、所述指针类型和所述泛型;所述数据类别属性为所述基本数据类型的数据项、所述数据类别属性为所述组合数据类型的数据项、所述数据类别属性为所述指针类型的数据项和所述数据类别属性为泛所述型的数据项的结构格式是相同且规范的,所述数据类别属性为所述组合数据类型的数据项的结构是一个嵌套结构,所述嵌套结构的每一层数据项的结构格式相同。8.根据权利要求7所述的方法,其中,所述拼接操作包括类型匹配规则和连线要求规则,在将所述至少两个函数块的至少部分输入数据项和/或至少部分输出数据项进行连接时,连接的两个数据项的数据类型属性满足所述类型匹配规则或连接的所述两个数据项满足所述连线要求规则,所述类型匹配规则为所述两个数据项的数据类型属性匹配,所述连线要求规则包括所述两个数据项中的一个数据项的数据类型属性是所述泛型,所述两个数据项中的另一个数据项是所述基本数据类型、所述组合数据类型或所述泛型,或者,包括所述两个数据项中的一个数据项的数据类型属性是所述通用指针类型,所述两个数据项中的另一个数据项的数据类型属性是所述非通用指针类型,其中,确定满足所述类型匹配规则的所述两个数据项,包括:对于所述至少部分输出数据项和/或所述至少部分输入数据项中的被选择的第一数据项和第二数据项:判断所述第一数据项的数据类别属性和所述第二数据项的数据类别属性是否相同,响应于所述第一数据项的数据类别属性和所述第二数据项的数据类别属性相同,判断所述第一数据项的数据类别属性和所述第二数据项的数据类别属性是所述基本数据类型、所述组合数据类型、所述指针类型或所述泛型,
响应于所述第一数据项的数据类别属性和所述第二数据项的数据类别属性均为所述基本数据类型,判断所述第一数据项的数据类型属性和所述第二数据项的数据类型属性是否相同,响应于所述第一数据项的数据类型属性和所述第二数据项的数据类型属性相同,确定所述第一数据项和所述第二数据项为满足所述类型匹配规则的所述两个数据项。9.根据权利要求8所述的方法,其中,所述组合数据类型包括基本组合数据类型、异或类型和数组类型,确定满足所述类型匹配规则的两个数据项,还包括:响应于所述第一数据项的数据类别属性和所述第二数据项的数据类别属性均为组合数据类型,判断所述第一数据项的数据类别属性和所述第二数据项的数据类别属性是所述异或类型、所述基本组合数据类型、还是所述数组类型,响应于所述第一数据项的数据类别属性和所述第二数据项的数据类别属性均为异或类型,循环对在所述第一数据项和所述第二数据项的相同位置的数据项进行所述类型匹配规则的判断,以得到多个异或判断结果,响应于所述多个异或判断结果中的每个均指示满足所述类型匹配规则,确定所述第一数据项和所述第二数据项为满足所述类型匹配规则的所述两个数据项。10.根据权利要求8所述的方法,其中,确定满足所述类型匹配规则的两个数据项,还包括:响应于所述第一数据项的数据类别属性和所述第二数据项的数据类别属性均为所述数组类型,循环判断在所述第一数据项和所述第二数据项的相同位置的数据项是否满足所述类型匹配规则,以得到至少一个数组判断结果,响应于所述至少一个数组判断结果中的每个均指示满足所述类型匹配规则,确定所述第一数据项和所述第二数据项为满足所述类型匹配规则的所述两个数据项。11.根据权利要求8所述的方法,其中,确定满足所述类型匹配规则的两个数据项,还包括:响应于所述第一数据项的数据类别属性和所述第二数据项的数据类别属性均为所述基本组合数据类型,循环判断在所述第一数据项和所述第二数据项的相同位置的数据项是否满足所述类型匹配规则,以得到至少一个基本组合判断结果,响应于所述至少一个基本组合判断结果中的每个均指示满足所述类型匹配规则,确定所述第一数据项和所述第二数据项为满足所述类型匹配规则的所述两个数据项。12.根据权利要求8所述的方法,其中,确定满足所述类型匹配规则的两个数据项,还包括:响应于所述第一数据项的数据类别属性和所述第二数据项的数据类别属性均为所述指针类型,如果所述第一数据项和所述第二数据项均为通用指针类型,确定所述第一数据项和所述第二数据项为满足类型匹配规则的所述两个数据项;如果所述第一数据项和所述第二数据项均为非通用指针类型,循环判断在所述第一数据项和所述第二数据项的相同位置的数据项是否满足所述类型匹配规则,以得到至少一个非通用指针判断结果,响应于所述至少一个非通用指针判断结果中的每个均指示满足所述类型匹配规则,确定所述第一数据项和所述第二数据项为满足类型匹配规则的两个数据项;响应于所述第一数据项的数据类别属性和所述第二数据项的数据类别属性均为所述泛型,确定所述第一数据项和所述第二数据项为满足所述类型匹配规则的所述两个数据
项。13.根据权利要求8所述的方法,其中,所述至少部分输入数据项包括第一部分输入数据项,将所述至少两个函数块的至少部分输入数据项和/或至少部分输出数据项进行连接,包括:基于所述类型匹配规则和/或所述连线要求规则,通过数据传递连线将所述至少部分输出数据项与所述第一部分输入数据项进行连接,所述数据传递连线表示由输出数据项连接至输入数据项或输出数据项的线,所述数据传递连线包括输出输出传递线和输出输入传递线,所述输出输出传递线用于连接至少两个输出数据项,所述输出输入传递线用于将至少一个输出数据项连接至至少一个输入数据项。14.根据权利要求13所述的方法,其中,所述至少部分输出数据项包括第一输出数据项、第二输出数据项和第三输出数据项,所述第一部分输入数据项包括第一输入数据项,通过数据传递连线将所述至少部分输出数据项和所述第一部分输入数据项进行连接包括以下至少一项:通过所述输出输出传递线将所述第二输出数据项连接至所述第一输出数据项,所述第二输出数据项出现在所述第一输出数据项之后,将所述第二输出数据项的存储类型属性设置为虚拟存储,不改变所述第一输出数据项的存储类型属性,记录所述第一输出数据项和所述第二输出数据项的连接关系;通过所述输出输入传递线将所述第三输出数据项连接至所述第一输入数据项;响应于所述第三输出数据项出现在所述第一输入数据项之后或者所述第三输出数据项和所述第一输入数据项属于同一个函数块,将所述第三输出数据项的存储类型属性设置为虚拟存储,不改变所述第一输入数据项的存储类型属性,记录所述第一输入数据项和所述第三输出数据项的连接关系,响应于所述第三输出数据项出现在所述第一输入数据项之前,将所述第一输入数据项的存储类型属性设置为虚拟存储,不改变所述第三输出数据项的存储类型属性,记录所述第一输入数据项和所述第三输出数据项的连接关系,其中,所述第一输出数据项、所述第二输出数据项、所述第三输出数据项和所述第一输入数据项以第二相对路径的形式定位,所述第一输出数据项和所述第二输出数据项的连接关系通过所述第一输出数据项和所述第二输出数据项的第二相对路径体现,并记录在所选择的组合范式的连线关系部分,所述第一输入数据项和所述第三输出数据项的连接关系通过所述第一输入数据项和所述第三输出数据项的第二相对路径体现。15.根据权利要求13所述的方法,其中,所述至少部分输入数据项还包括第二部分输入数据项,将所述至少两个函数块的至少部分输入数据项和/或至少部分输出数据项进行连接,还包括:基于所述类型匹配规则和/或所述连线要求规则,通过辅助合并连线将所述第二部分输入数据项进行连接;
所述第二部分输入数据项包括第二输入数据项和第三输入数据项,通过辅助合并连线将所述第二部分输入数据项进行连接包括:通过所述辅助合并连线将所述第三输入数据项连接至所述第二输入数据项,将所述第三输入数据项的存储类型属性设置为虚拟存储,不改变所述第二输入数据项的存储类型属性,记录所述第二输入数据项和所述第三输入数据项的连接关系,其中,所述第二输入数据项和所述第三输入数据项以第二相对路径的形式定位,所述第二输入数据项和所述第三输入数据项的连接关系通过所述第二输入数据项和所述第三输入数据项的第二相对路径体现,并记录在所选择的组合范式的接口与序列对照部分。16.根据权利要求15所述的方法,其中,对于所述至少部分输入数据项和/或至少部分输出数据项中的第一指针数据项和第二指针数据项,所述第一指针数据项的数据类型属性为所述通用指针类型,所述第二指针数据项为所述非通用指针类型,响应于所述第一指针数据项和所述第二指针数据项通过所述数据传递连线或所述辅助合并连线进行连接,则设置所述第一指针数据项的数据类型属性为所述第二指针数据项所指向的数据项的数据类型属性。17.根据权利要求7所述的方法,其中,当所述至少一个组合范式包括所述循环组合范式、所述当型循环组合范式中的至少一个时,当所述至少一个组合范式包括所述循环组合范式,每个循环体包括多个循环部分时,所述N化条件为:所述多个循环部分之间具有相同位置的数据项没有被连线;当所述至少一个组合范式包括所述当型循环组合范式,每个当型循环体包括多个当型循环部分时,所述N化条件为:所述多个当型循环部分之间具有相同位置的数据项没有被连线。18.根据权利要求8所述的方法,其中,所述多个函数块中的每个函数块对应的接口包括输入部分和输出...

【专利技术属性】
技术研发人员:容毅曲春晓
申请(专利权)人:山东程序元软件有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1