描述文件生成方法、装置、电子设备及存储介质与流程

文档序号:36917547发布日期:2024-02-02 21:45阅读:14来源:国知局
描述文件生成方法、装置、电子设备及存储介质与流程

本申请涉及计算机,具体而言,涉及一种描述文件生成方法、装置、电子设备及存储介质。


背景技术:

1、传统基于libcyaml数据序列化方案允许使用者针对待序列化的c语言数据的类型定义相应的cyaml schema,cyaml schema是基于cyaml内置数据类型描述c语言数据类型的c语言数据描述文法。使用libcyaml中的api以及定义好的cyaml schema对特定数据进行序列化和反序列化。序列化后的数据保存于cyaml文件中,反序列化的数据来自于之前序列化生成的cyaml文件。

2、现有技术中使用libcyaml进行数据序列化,必须手动定义cyaml schema,这一过程需要使用者对libcyaml相关api非常熟悉,否则需要一定的学习时间。此外,针对大量c语言数据类型定义cyaml schema费时费工,且cyaml schema定义后,一旦c语言数据发生变化,需要重新定义cyaml schema,需要较多重复劳动。


技术实现思路

1、本申请实施例的目的在于提供一种描述文件生成方法、装置、电子设备及存储介质,用以便捷、快速地生成描述文件。

2、第一方面,本申请实施例提供一种描述文件生成方法,所述方法包括:获取程序的第一头文件,所述头文件内包括程序的数据类型;通过描述文件编译器编译所述第一头文件,生成第一描述文件,所述描述文件用于通过序列化格式描述所述程序的数据类型。

3、上述描述文件生成方法,通过描述文件编译器将头文件中的数据类型编译为描述文件,实现了描述文件的自动化生成,降低了描述文件的生成难度,并提高了描述文件生成效率。

4、在本申请一个可选实施例中,所述通过描述文件编译器编译所述第一头文件,生成第一描述文件,包括:生成所述第一头文件对应的语法树;根据所述语法树生成所述第一头文件中每一数据类型的数据类型描述文件,所述第一头文件中所有数据类型的数据类型描述文件即为所述第一描述文件。

5、在上述实施例中,通过语法树对头文件中的数据类型进行描述,生成数据类型描述文件,从而快速、准确的对数据类型编译。

6、在本申请一个可选实施例中,所述通过描述文件编译器编译所述第一头文件,生成第一描述文件,包括:基于所述第一头文件生成符号序列及语法树;依据目标语言语法规则对所述符号序列中每一符号进行匹配;若所述符号序列中每一符号均与所述目标语言语法规则匹配,则获取所述符号序列中所有数据类型,生成数据类型集合,所述目标语言指所述程序所使用的编程语言;依据所述数据类型对应的语法树节点,生成所述数据类型集合中数据类型对应的数据类型描述文件,所述数据类型集合中所有数据类型的数据类型描述文件即为第一描述文件。

7、在上述实施例中,通过语法树对头文件中的数据类型进行描述,生成数据类型描述文件,从而快速、准确的对数据类型编译。

8、在本申请一个可选实施例中,所述方法还包括:修改所述第一头文件中的数据类型,生成第二头文件;通过所述描述文件编译器编译所述第二头文件,生成第二描述文件。

9、上述实施例中,在数据类型发生改变时,可以对已有的头文件进行修改,基于修改后的头文件可以快速生成描述文件,通过利用头文件中的数据类型可以避免描述文件的二次开发。

10、在本申请一个可选实施例中,所述方法还包括:通过程序编译器编译所述第一描述文件及第一程序的源代码文件,生成第一可执行程序,所述程序编译器为所述源代码文件的编程语言对应的编译器。

11、在本申请一个可选实施例中,所述源代码文件的编程语言为c语言,所述序列化格式为yaml,所述方法还包括:运行所述第一可执行程序,生成cyaml数据文件。

12、在本申请一个可选实施例中,所述方法还包括:通过所述程序编译器编译所述第一描述文件及第二程序的源代码文件,生成第二可执行程序;运行所述第二可执行程序导入所述cyaml数据文件进行处理。

13、在本申请一个可选实施例中,所述程序的编程语言为c语言,所述描述文件为cyaml schema文件。

14、第二方面,本申请实施例提供一种描述文件生成装置,所述装置包括:获取模块,用于获取程序的第一头文件,所述头文件内包括程序的数据类型;描述文件编译器,用于编译所述第一头文件,生成第一描述文件,所述描述文件用于通过序列化格式描述所述程序的数据类型。

15、第三方面,本申请实施例提供一种电子设备,包括:处理器和存储器;所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如第一方面中任一项所述的描述文件生成方法。

16、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机读取并运行时,执行如第一方面中任一项所述的描述文件生成方法。



技术特征:

1.一种描述文件生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述通过描述文件编译器编译所述第一头文件,生成第一描述文件,包括:

3.根据权利要求1所述的方法,其特征在于,所述通过描述文件编译器编译所述第一头文件,生成第一描述文件,包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述源代码文件的编程语言为c语言,所述序列化格式为yaml,所述方法还包括:

7.根据权利要求6所述方法,其特征在于,所述方法还包括:

8.根据权利要求1所述的方法,其特征在于,所述程序的编程语言为c语言,所述描述文件为cyaml schema文件。

9.一种描述文件生成装置,其特征在于,所述装置包括:

10.一种电子设备,其特征在于,包括:处理器和存储器;所述处理器和所述存储器通过总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-8任一项所述的描述文件生成方法。

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机读取并运行时,执行如权利要求1-8任一项所述的描述文件生成方法。


技术总结
本申请提供一种描述文件生成方法、装置、电子设备及存储介质,其中,所述方法包括:获取程序的第一头文件,所述头文件内包括程序的数据类型;通过描述文件编译器编译所述第一头文件,生成第一描述文件,所述描述文件用于通过序列化格式描述所述程序的数据类型,通过描述文件编译器将头文件中的数据类型编译为描述文件,实现了描述文件的自动化生成,降低了描述文件的生成难度,并提高了描述文件生成效率。

技术研发人员:张扬
受保护的技术使用者:芯原微电子(北京)有限公司
技术研发日:
技术公布日:2024/2/1
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1