CN101122854A - 结构化的代码自动配置方法及装置 - Google Patents

结构化的代码自动配置方法及装置 Download PDF

Info

Publication number
CN101122854A
CN101122854A CNA2007100458895A CN200710045889A CN101122854A CN 101122854 A CN101122854 A CN 101122854A CN A2007100458895 A CNA2007100458895 A CN A2007100458895A CN 200710045889 A CN200710045889 A CN 200710045889A CN 101122854 A CN101122854 A CN 101122854A
Authority
CN
China
Prior art keywords
code
configuration
information
file
structurized
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007100458895A
Other languages
English (en)
Other versions
CN100489774C (zh
Inventor
马强
邹耀
刘佩林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaSoC Technologies Co., Ltd.
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CNB2007100458895A priority Critical patent/CN100489774C/zh
Publication of CN101122854A publication Critical patent/CN101122854A/zh
Application granted granted Critical
Publication of CN100489774C publication Critical patent/CN100489774C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

一种计算机技术领域的结构化的代码自动配置方法及装置,方法为:根据用户对配置的描述情况,编写一个描写目标代码数据结构的可替换模块;接收用户对配置的描述;将接受的用户对配置的描述转变为一种规范化的配置文件;使用所述的可替换模块,从规范化配置文件中提取出需要的信息,并按照目标代码的数据结构组织起来,形成结构化的代码信息;根据结构化的代码信息,使用其指定的目标语言生成相应的目标代码;将生成的代码组织成最后的配置代码文件。本发明还提供一种装置,包括配置文件规范化模块、目标代码结构解释模块、代码生成器和生成代码文件管理模块。该装置可方便的移植到各个软硬件系统中,以减少软硬件代码的开发成本。

Description

结构化的代码自动配置方法及装置
技术领域
本发明涉及一种计算机技术领域的方法及装置,具体是一种用于生成任意数据结构的配置代码文件的通用的结构化的代码自动配置方法及装置。
背景技术
当今,很多软件和硬件都采用一种可配置的代码设计方法,这种方法允许系统中的某些模块可以自由的替换,或者根据配置文件重新生成某些模块,这样使得系统表现出极大的灵活性,可允许开发者介入某些特定层次进行拓展和维护,从而形成强大的可定制性和可拓展性。
实现可配置设计思想的方法有很多,实现的复杂程度和难度也不一样,有些软件只需要修改几个参数就可以完成配置工作,而有些软件的配置需要新生成几个代码文件。最为普遍的做法是根据配置文件生成一段或几段代码,然后将这些代码加入到源码文件中的需要配置的位置。
在采用根据配置文件生成代码的方法来进行配置的时候,往往需要专门的配置装置来完成配置工作。这些配置从配置文件中读取信息,并生成所需要的代码。对于不同的软件系统,由于配置文件的类型,结构的不同,以及最后生成的代码和数据结构的不同,使得采用的配置装置也是不一样的。这样,当需要进行配置的时候,往往要重新开发与之相适应的配置装置。如果使用一种通用的结构化的代码自动配置装置,使得开发人员能够方便的根据规范化的配置文件生成所需要的代码。这样的配置装置就可以方便的移植到各个软件或硬件系统中,以减少软件或硬件代码的开发的工作量和开发时间。
经对现有技术的文献检索发现,刘然等人在北京理工大学学报2002年4月第22卷第2期上发表的“基于UML的CASE平台的代码自动生成”,对面向对象的通用代码生成机制进行了探讨,并设计了一种目标语言为C++的代码生成结构。该结构能够生成通用化的C++代码,并能够拓展到其他面向对象的目标语言,可以一定程度上的在代码配置工作中应用,但存在如下缺点:1、该结构是基于UML可视化建模平台的基础上的,用户在使用时必先建立UML模型,以对配置信息和目标代码进行描述,这需要较大的难度和工作量;2、用户对配置信息的描述采用UML模型的方式,方法单一且使用难度较高3、这种结构主要针对面向对象的目标语言的代码,对于非并且将面向对象的目标语言的代码则缺乏有效性;4、该结构基于UML可视化建模平台,需要占用大量的存储空间,和其他运行环境的资源,不利于在软件和硬件配置工作中的移植。
发明内容
本发明的目的在于针对现有技术的不足,提供一种通用的用于生成配置代码文件的结构化的代码自动配置方法及装置。使用者在使用本发明的时候,只需要根据用户输入的配置信息,用简单的语法编写一个描写目标代码数据结构的模块,就可以跟据用户对需要配置的信息的描述生成复杂数据结构的代码,并形成代码文件来完成代码的配置工作,使其能够方便的应用到各个软件或硬件系统的代码配置中,以减少软件或硬件代码的开发的工作量和开发时间。
本发明是通过以下技术方案实现的:
本发明所述的结构化的代码自动配置方法,包括以下步骤:
第一步:根据用户对配置的描述情况,用简单的语法编写一个描写目标代码数据结构的可替换模块;
第二步:接收第一步中用户对配置的描述;
第三步:将第二步接受的用户对配置的描述转变为一种规范化的配置文件;
第四步:使用第一步所述的可替换模块,从第三步得到的规范化配置文件中提取出需要的信息,并按照目标代码的数据结构组织起来,形成结构化的代码信息;
第五步:根据结构化的代码信息,使用其指定的目标语言生成相应的目标代码;
第六步:将生成的代码组织成最后的配置代码文件。
第一步所述的可替换模块,可以根据不同的配置任务,随时进行更新或重写,以满足不同的目标代码文件的配置需要。
第三步所述的规范化的配置文件,用于规范化用户对配置信息的描述。所有的用户对配置的描述都被转变为遵守一定规范的配置文件。该规范化的配置文件含有三个基本的描述结构规范,分别为用于描述单个数据的‘单词’,用于描述组织为一维结构的数据组的‘链表’,以及用于描述组织为二维结构的数据组的‘表’。其中链表和表中的数据组中的元素可以为单词,链表或者是表结构。单词、链表和表结构除本身所携带的数据之外还包括自己的名称、和标识不同的具有相同名称的上述结构的属主两个属性。该规范仅面向数据,用户使用该规范可以对任意事务进行广泛而全面的描述。
第四步所述的从规范化配置文件中提取需要的信息,将使用一组工具完成,主要包括:查找‘表’,‘链表’和‘单词’结构;得到表,链表,或单词结构的名称;得到‘表’,‘链表’,或‘单词’结构的属主;提取‘表’结构的数据;查找‘表’结构的维数;提取‘链表’结构的数据;提取‘单词’结构的数据;提取‘表’结构中某一特定属性的数据;提取‘链表’结构中某一特定属性的数据;提取特定属性的‘表’结构等功能。
第四步所述的结构化的代码信息,为一个通用的结构的数组,数组中的每一个结构对应一个生成文件,该结构包括:生成文件名,使用目标代码语言,使用的模版名称,以及一组用于存放具有生成目标文件相同的数据结构的名为‘实体’的结构。‘实体’结构包括:‘实体’属性,‘实体’数据,正文前注释,正文内注释。其中:‘实体’属性包括:‘实体’种类,‘实体’名称,‘实体’前缀,‘实体’后缀;‘实体’数据是实体具体的值,可以是单个元素,也可是一维或者二维结构,其元素也可以是一个‘实体’的结构,通过递归,就能组织成复杂的树状数据结构。
第五步所述的生成相应的目标代码,其方法为:将‘实体’结构中的信息按照目标语言的语法方式,以该‘实体’结构的数据结构组织排列成目标代码。
第六步所述的将生成的代码组织成最后的配置代码文件,其方法为:按照结构化的代码信息数组中每个结构的文件信息,调用指定的模版或不使用模版,使用指定的文件名和第五步生成的目标代码,生成相应的代码配置文件。
本发明还提供一种结构化的代码自动配置装置,包括:配置文件规范化模块,目标代码结构解释模块,代码生成器,和生成代码文件管理模块。所述配置文件规范化模块读入用户对需要配置的信息的描述,将多种用户对配置的描述转化为一种规范化的配置文件以便对配置信息的读取和处理,并将规范化的配置文件输出给目标代码结构解释模块;所述的目标代码解释模块将规范化的配置文件中的配置信息提取出来,并且将这些信息按照目标代码的数据结构组织成结构化的代码信息,并将结构化的代码信息输出至代码生成器;所述的代码生成器根据由结构化的代码信息指定的目标语言,按照结构化的代码信息的数据结构,生成相应的代码,并将生成的代码和结构化的代码信息中的代码文件信息一并送入生成代码文件管理模块;所述的生成代码文件管理模块按照代码文件信息,将代码组织成相应的代码配置文件,并输出最后生成的代码配置文件。
所述的目标代码解释模块,包括:配置信息接口工具库和代码解释子模块。所述的配置信息接口工具库用于提供一组工具给代码解释子模块使用,这组工具用于从规范化的配置文件中查找所需的信息以及将需要的信息提取出来,并输出给代码解释子模块。所述的代码解释子模块,使用配置信息接口工具库提供的工具从规范化的配置文件中提取出所需的信息,并将这些信息按照目标代码的数据结构组织成结构化的代码信息,并输出至代码生成器。该子模块对应为本发明上述方法中第一步所述的可替换模块,是本发明中唯一面向数据逻辑结构的部分,面对不同的目标代码的需求,只需要使用简单的语法编写描述目标代码的数据结构的代码解释子模块就可以生成相应的目标代码配置文件,来完成代码配置功能。
所述的代码生成器,包含一组不同目标语言的代码生成工具,根据由结构化的代码信息指定的目标语言,调用相应语言的生成工具生成目标代码。
所述的生成代码文件管理模块,按照代码文件信息中指定的生成文件名和模板信息,调用指定的模版或不使用模版,使用指定的文件名生成相应的代码配置文件。
与现有技术相比,本发明具有以下有益的效果:本发明提供了通用的结构化的代码配置方法,使得在完成代码配置工作,无需重新编写新的配置程序,而只需要根据用户输入的配置信息,用简单的语法编写一个描写目标代码数据结构的模块,就可以跟据用户对需要配置的信息的描述生成具有复杂数据结构的代码,并形成代码文件来完成代码的配置工作,同时允许用户使用多种方式对配置进行描述,并且支持生成包括面向对象和非面向对象在内的多种目标语言的代码。本发明只占有很小的磁盘空间,能够方便的应用到各个软件或硬件系统的代码配置中,以减少软件或硬件代码的开发的工作量和开发时间。
附图说明
图1是本发明方法流程图
图2是本发明的处理装置的结构示意图
图3是结构化的代码信息的结构示意图
图4是‘实体’结构的结构示意图
图5是‘实体’结构组织成复杂树状数据结构的示意图
图6是实例中的结构化的代码信息示意图
具体实现方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
图1所示为本发明的方法流程图,即:根据用户对配置的描述情况,用简单的语法编写一个描写目标代码数据结构的可替换模块;接收用户对配置的描述;将接受的用户对配置的描述转变为一种规范化的配置文件;使用所述的可替换模块,从规范化配置文件中提取出需要的信息,并按照目标代码的数据结构组织起来,形成结构化的代码信息;根据结构化的代码信息,使用其指定的目标语言生成相应的目标代码;将生成的代码组织成最后的配置代码文件。对于不同的配置任务,对可替换的代码解释子模块进行更新或重写,使其满足目标代码的数据要求,即可满足不同的目标代码文件的配置需要。
本发明装置的结构如图2所示,包括配置文件规范化模块,目标代码结构解释模块,代码生成器,和生成代码文件管理模块。其中目标代码解释模块包括配置信息接口工具库和代码解释子模块。配置文件规范化模块读入用户对需要配置的信息的描述,并输出规范化的配置文件给目标代码结构解释模块;目标代码解释模块输出结构化的代码信息至代码生成器;代码生成器输出目标代码和代码文件信息至生成代码文件管理模块;生成代码文件管理模块输出最后生成的代码配置文件。
在目标代码解释模块中,配置信息接口工具库提供一组用于从规范化的配置文件中提取配置信息的工具给代码解释子模块使用;代码解释子模块接受配置文件规范化模块输入的规范化的配置文件,输出结构化的代码信息至代码生成器。代码解释子模块为根据配置任务的不同而替换的模块。
下面结合附图3~附图6,以本发明方法和装置在一个根据用户的描述生成相应配置文件的应用为例,对本发明的技术方案做进一步的详细描述。在该实例中,用户对配置的描述采用填空和填写表格的方式,用户对配置的描述如下所示:
使用函数库:libX·h
定义使用类型:type1type2,…,typeN
配置信息表:
  名称   类型属性   属性A   属性B   属性C
  name1   type2   atrA1   atrB1   atrC1
  name2   Type3   atrA2   atrB2   atrC2
  …   …   …   …   …
  nameN   Type1   atrAN   atrBN   atrCN
规范化的配置文件选用XML(可扩展标记语言)文件,目标代码使用C语言。本发明将上面所述的用户对配置的描述中使用斜体字标识的配置信息提取出来,经过一定的处理后,生成含有这些配置信息的代码文件,如下所示:
欲生成的代码文件file1.h:
#include“libX·h”
typedef enum{type1,type2,…typeN}TYPE;
欲生成的代码文件file2.c:
#include“file1.h”
struct EXAMPLE example_array[]=
{
          {“name1”,type2,(int[]){val1,atrC1}},
          {“name2”,type3,(int[]){val2,atrC2}},
                 …
          {“nameN”,type1,(int[]){val3,atrCN},
};
(其中,file2.c中的valn为用户对配置的描述中所示的atrAn和atrBn两组参数进行atrAn<<atrBn的移位运算所得。)
处理过程简述如下:
首先,根据用户对配置的描述情况,用简单的语法编写一个描写目标代码数据结构的代码解释子模块。该子模块从规范化的配置文件中提取数据,并按照目标代码的数据结构组织成结构化的代码信息。该模块在本例中的开发方法将在后面的段落里叙述。
配置文件规范化模块将用户对配置的描述转变为一种规范化配置文件。用户对配置的描述可以采用多种方式,包括填写表格,文本说明,特定的定义语言等方式,对应于不同的描述方式,配置文件规范化模块都应当将其转化为规范化配置文件,以便对配置信息的读取和处理。该规范化的配置文件含有三个基本的描述结构规范,分别为用于描述单个数据的‘单词’,用于描述组织为一维结构的数据组的‘链表’,以及用于描述组织为二维结构的数据组的‘表’。其中链表和表中的数据组中的元素可以为单词,链表或者是表结构。单词,链表和表结构除本省所携带的数据之外还包括自己的名称,和标识不同的具有相同名称的上述结构的属主两个属性。该规范仅面向数据,用户使用该规范可以对任意事务进行广泛而全面的描述。在本例中规范化的配置文件选用XML(可扩展标记语言)文件。由本实例中用户对配置转变成的遵守基本规范的规范化的配置文件如下所示:
<word name=“使用函数库”sn=“”>libX·h</word>
<array name=“定义使用类型”sn=“”>
      <a_item>type1</a_item>
      <a_item>type2</a_item>
                …
      <a_item>typeN</a_item>
 </array>
<table name=“配置信息表”sn=“”>
     <item>
           <t_item name=“名称”sn=“name1”>name1</t_item>
           <t_item name=“类型属性”sn=“name1”>type2</t_item>
           <t_item name=“属性A”sn=“name1”>atrA1</t_item>
           <t_item name=“属性B”sn=“name1”>atrB1</t_item>
           <t_item name=“属性C”sn=“name1”>atrC1</t_item>
     </item>
     <item>
           <t_item name=“名称”sn=“name2”>name2</t_item>
           <t_item name=“类型属性”sn=“name2”>type3</t_item>
           <t_item name=“属性A”sn=“name2”>atrA2</t_item>
           <t_item name=“属性B”sn=“name2”>atrB2</t_item>
           <t_item name=“属性C”sn=“name2”>atrC2</t_item>
     </item>
          …
     <item>
           <t_item name=“名称”sn=“nameN”>nameN</t_item>
           <t_item name=“类型属性”sn=“nameN”>type1</t_item>
           <t_item name=“属性A”sn=“nameN”>atrAN</t_item>
           <t_item name=“属性B”sn=“nameN”>atrBN</t_item>
           <t_item name=“属性C”sn=“nameN”>atrCN</t_item>
     </item>
 </table>
其中的斜体字为用户对配置的描述中的配置信息,word,array和table分别对应着单词,链表和表三个基本规范。
目标代码解释模块的配置信息接口工具库提供一组工具给其代码解释子模块使用,这组工具用于从规范化的配置文件中查找所需的特定信息以及将需要的信息提取出来。主要包括:查找‘表’,‘链表’和‘单词’结构;得到表,链表,或单词结构的名称;得到‘表’,‘链表’,或‘单词’结构的属主;提取‘表’结构的数据;查找‘表’结构的维数;提取‘链表’结构的数据;提取‘单词’结构的数据;提取‘表’结构中某一特定属性的数据;提取‘链表’结构中某一特定属性的数据;提取特定属性的‘表’结构等功能。
代码解释子模块使用配置信息接口工具库提供的工具从规范化的配置文件中提取出所需的配置信息,在本实例中即规范化的配置文件所示的斜体字部分,并将这些信息按照目标代码的数据结构组织成结构化的代码信息。
代码解释子模块为可替换模块,是本法明中唯一面向数据逻辑结构的部分,面对不同的目标代码的需求,只需要使用简单的语法编写描述目标代码的数据结构的代码解释子模块就可以生成相应的目标代码配置文件,来完成代码配置功能。
如图3所示为由代码解释子模块生成的结构化的代码信息,为一个通用的结构的数组,数组中的每一个结构对应一个生成文件,该结构包括:生成文件名,使用目标代码语言,使用的模版名称,以及一组用于存放具有生成目标文件相同的数据结构的名为‘实体’的结构数组。所谓模版是指存放代码文件中不需要配置的代码语段的文件。在一个代码文件中,可能只有个别代码语段需要通过配置生成,而不需要通过配置生成的代码语段就存放在模板中。如果整个文件的代码都需要通过配置生成,就不需要模版。在不需要模版的时候,调用模版的具体路径为空即可。
如图4所示为‘实体’结构,其包括:‘实体’属性,‘实体’数据,正文前注释,正文内注释。其中:
‘实体’属性包括:‘实体’种类,‘实体’名称,‘实体’前缀,‘实体’后缀;‘实体’种类是指类似C语言中的变量类型,如int,char等,这种定义也广泛的应用于其他编程语言;‘实体’名称为变量名;‘实体’前缀为放置于编程语言语句之前的说明,如C语言中的const,struct等;‘实体’后缀为放置于编程语言语句中的说明。
‘实体’数据是实体具体的值,可以是单个元素,也可是一维或者二维结构,其元素也可以是一个‘实体’的结构,通过递归,就能组织成复杂的树状数据结构,如图5所示。
在开发新的代码解释子模块时,只需要从规范化的配置文件取出相关信息,并按生成目标代码的数据结构建立‘实体’结构,连同文件信息组织成结构化的代码信息即可。在本实例中,代码解释模块将建立如图6所示的结构化的信息代码。
代码生成器根据由结构化的代码信息指定的目标语言,按照结构化的代码信息的数据结构,生成相应的代码。代码生成器从目标语言的代码生成工具中调用C语言的生成工具,采用C语言的语法将‘实体’结构的信息填放入适当的位置以组织成目标代码。
代码文件管理模块顺序读取结构化的代码信息数组中关于生成文件的信息,提取出生成文件名,是否使用代码模版,以及在使用模版的情况下调用模版的具体路径,连同生成的代码生成各个目标文件。即本实例中欲生成的代码文件。
本发明提出了一种用于生成任意数据结构的配置代码文件的通用的结构化的代码自动配置方法和装置,它采用一种面向数据的用户描述规范,用户使用该规范可以对任意事务进行广泛而全面的描述。使用现有简单的语法编写一个按照本发明制定的规范描述目标代码数据结构的模块即可以生成相应的可配置代码。并且能够生成支持生成包括面向对象和非面向对象在内的可配置代码文件。这样的配置装置就可以方便的移植到各个软件或硬件系统中,以减少软件或硬件代码的开发的工作量和开发时间。

Claims (10)

1.一种结构化的代码自动配置方法,其特征在于,包括以下步骤:
第一步:根据用户对配置的描述情况,用语法编写一个描写目标代码数据结构的可替换模块;
第二步:接收第一步中用户对配置的描述;
第三步:将第二步接受的用户对配置的描述转变为规范化的配置文件;
第四步:使用第一步所述的可替换模块,从第三步得到的规范化配置文件中提取出需要的信息,并按照目标代码的数据结构组织起来,形成结构化的代码信息;
第五步:根据结构化的代码信息,使用其指定的目标语言生成相应的目标代码;
第六步:将生成的代码组织成最后的配置代码文件。
2.根据权利要求1所述的结构化的代码自动配置方法,其特征是,第一步所述的可替换模块,能根据不同的配置任务,随时进行更新或重写,以满足不同的目标代码文件的配置需要。
3.根据权利要求1所述的结构化的代码自动配置方法,其特征是,第三步所述的规范化的配置文件,用于规范化用户对配置信息的描述,所有的用户对配置的描述都被转变为遵守一定规范的配置文件,该规范化的配置文件含有三个基本的描述结构规范,分别为用于描述单个数据的‘单词’,用于描述组织为一维结构的数据组的‘链表’,以及用于描述组织为二维结构的数据组的‘表’,其中链表和表中的数据组中的元素为单词、链表或者是表结构,单词、链表和表结构除本身所携带的数据之外还包括自己的名称,和标识不同的具有相同名称的上述结构的属主两个属性,该规范仅面向数据,用户使用该规范能对任意事务进行广泛而全面的描述。
4.根据权利要求1所述的结构化的代码自动配置方法,其特征是,第四步所述的从配置文件中提取需要的信息,将使用一组工具完成,包括:查找‘表’,‘链表’和‘单词’结构;得到表,链表,或单词结构的名称;得到‘表’,‘链表’,或‘单词’结构的属主;提取‘表’结构的数据;查找‘表’结构的维数;提取‘链表’结构的数据;提取‘单词’结构的数据;提取‘表’结构中某一特定属性的数据;提取‘链表’结构中某一特定属性的数据;提取特定属性的‘表’结构功能函数。
5.根据权利要求1所述的结构化的代码自动配置方法,其特征是,第四步所述的结构化的代码信息,为一个通用的结构的数组,数组中的每一个结构对应一个生成文件,该结构包括:生成文件名、使用目标代码语言、使用的模版名称、以及一组用于存放具有生成目标文件相同的数据结构的名为‘实体’的结构,‘实体’结构包括:‘实体’属性、‘实体’数据、正文前注释、正文内注释,其中:‘实体’属性包括:‘实体’种类、‘实体’名称、‘实体’前缀、‘实体’后缀;‘实体’数据是实体具体的值,是单个元素,或是一维或者二维结构,其元素也可是一个‘实体’的结构,通过递归,就能组织成复杂的树状数据结构。
6.根据权利要求1所述的结构化的代码自动配置方法,其特征是,第五步所述的生成相应的目标代码,其方法为:将‘实体’结构中的信息按照目标语言的语法方式,以该‘实体’结构的数据结构组织排列成目标代码。
7.根据权利要求1所述的结构化的代码自动配置方法,其特征是,第六步所述的将生成的代码组织成最后的配置代码文件,其方法为:按照结构化的代码信息数组中每个结构的文件信息,调用指定的模版或不使用模版,使用指定的文件名和生成的目标代码,生成相应的代码配置文件。
8.一种结构化的代码自动配置装置,包括:配置文件规范化模块、目标代码结构解释模块、代码生成器和生成代码文件管理模块,其特征在于:
所述配置文件规范化模块读入用户对需要配置的信息的描述,将多种用户对配置的描述转化为一种规范化的配置文件以便对配置信息的读取和处理,并将规范化的配置文件输出给目标代码结构解释模块;
所述的目标代码解释模块将规范化的配置文件中的配置信息提取出来,并且将这些信息按照目标代码的数据结构组织成结构化的代码信息,并将结构化的代码信息输出至代码生成器;
所述的代码生成器根据由结构化的代码信息指定的目标语言,按照结构化的代码信息的数据结构,生成相应的代码,并将生成的代码和结构化的代码信息中的代码文件信息一并送入生成代码文件管理模块;
所述的生成代码文件管理模块按照代码文件信息,将代码组织成相应的代码配置文件,并输出最后生成的代码配置文件。
9.根据权利要求8所述的结构化的代码自动配置装置,其特征是,所述的目标代码解释模块包括:配置信息接口工具库和代码解释子模块,所述的配置信息接口工具库用于提供一组工具给代码解释子模块使用,这组工具用于从规范化的配置文件中查找所需的信息以及将需要的信息提取出来,并输出给代码解释子模块;所述的代码解释子模块,使用配置信息接口工具库提供的工具从规范化的配置文件中提取出所需的信息,并将这些信息按照目标代码的数据结构组织成结构化的代码信息,并输出至代码生成器,该模块是面向数据逻辑结构的部分,面对不同的目标代码的需求,只要使用简单的语法编写描述目标代码的数据结构的代码解释子模块就能生成相应的目标代码配置文件,来完成代码配置功能。
10.根据权利要求8所述的结构化的代码自动配置装置,其特征是,所述的代码生成器中包含一组不同目标语言的代码生成工具,根据由结构化的代码信息指定的目标语言,调用相应语言的生成工具生成目标代码;
所述的生成代码文件管理模块按照代码文件信息中指定的生成文件名和模板信息,调用指定的模版或不使用模版,使用指定的文件名生成相应的代码配置文件。
CNB2007100458895A 2007-09-13 2007-09-13 结构化的代码自动配置方法及装置 Expired - Fee Related CN100489774C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100458895A CN100489774C (zh) 2007-09-13 2007-09-13 结构化的代码自动配置方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100458895A CN100489774C (zh) 2007-09-13 2007-09-13 结构化的代码自动配置方法及装置

Publications (2)

Publication Number Publication Date
CN101122854A true CN101122854A (zh) 2008-02-13
CN100489774C CN100489774C (zh) 2009-05-20

Family

ID=39085199

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100458895A Expired - Fee Related CN100489774C (zh) 2007-09-13 2007-09-13 结构化的代码自动配置方法及装置

Country Status (1)

Country Link
CN (1) CN100489774C (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102171696A (zh) * 2011-04-28 2011-08-31 华为终端有限公司 定制资料的生成方法和装置
CN102811232A (zh) * 2011-05-31 2012-12-05 德尔福电子(苏州)有限公司 一种实现汽车通讯网关软件重配置的数据处理方法及装置
CN102929608A (zh) * 2012-10-09 2013-02-13 大唐移动通信设备有限公司 一种接口编/解码的方法和系统
CN103365649A (zh) * 2012-04-03 2013-10-23 三菱电机株式会社 程序创建支持装置及程序创建支持方法
CN104035754A (zh) * 2013-03-05 2014-09-10 北大方正集团有限公司 一种基于xml的自定义代码生成方法及生成器
CN104158903A (zh) * 2014-08-27 2014-11-19 上海斐讯数据通信技术有限公司 Oam协议栈编码方法及系统
CN105117227A (zh) * 2015-08-24 2015-12-02 小米科技有限责任公司 自动生成代码的方法及装置
CN105159680A (zh) * 2015-09-16 2015-12-16 北京航空航天大学 Java对象信息分析程序的自动生成方法
CN105511865A (zh) * 2015-11-30 2016-04-20 大连文森特软件科技有限公司 一种能够使用多语言或多引擎进行代码开发的方法及系统
CN105678637A (zh) * 2016-01-08 2016-06-15 沈阳时尚实业有限公司 汽车充电桩数据解析系统及其应用方法
CN106990960A (zh) * 2017-03-28 2017-07-28 阿里巴巴集团控股有限公司 代码部署方法及装置
CN107391149A (zh) * 2017-07-28 2017-11-24 郑州云海信息技术有限公司 一种硬件平台的代码生成方法及装置
CN107977293A (zh) * 2016-10-21 2018-05-01 英业达科技有限公司 监控程序产生系统及其产生方法
CN108764605A (zh) * 2018-04-04 2018-11-06 北京潘达互娱科技有限公司 一种任务发布方法、装置、电子设备及存储介质
CN109955266A (zh) * 2019-04-01 2019-07-02 珠海市一微半导体有限公司 机器人回座代码的自动生成设备和自动生成系统
CN109976732A (zh) * 2017-12-28 2019-07-05 重庆南华中天信息技术有限公司 可将相同编程模型映射成不同语言代码程序的方法及系统
CN110286892A (zh) * 2019-06-26 2019-09-27 成都九洲电子信息系统股份有限公司 一种基于业务流程设计的快速开发引擎系统
CN110851665A (zh) * 2019-11-12 2020-02-28 上海元城汽车技术有限公司 标定信息提取方法、装置、电子设备及存储介质
CN112068895A (zh) * 2020-08-10 2020-12-11 深圳市鼎盛光电有限公司 代码配置方法、装置、视频播放设备及存储介质
CN112181398A (zh) * 2019-06-13 2021-01-05 上海幻电信息科技有限公司 配置文件处理装置、方法及存储介质
CN113805874A (zh) * 2021-09-10 2021-12-17 上海得帆信息技术有限公司 适用于多框架语言的前端代码片段动态渲染方法和系统
CN114047968A (zh) * 2021-10-30 2022-02-15 济南浪潮数据技术有限公司 一种硬件自动适配的方法、系统、存储介质及设备
CN115993955A (zh) * 2023-03-23 2023-04-21 山东大学 对称密码算法的源代码生成和测试方法及系统

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011116717A2 (zh) * 2011-04-28 2011-09-29 华为终端有限公司 定制资料的生成方法和装置
WO2011116717A3 (zh) * 2011-04-28 2012-04-05 华为终端有限公司 定制资料的生成方法和装置
CN102171696A (zh) * 2011-04-28 2011-08-31 华为终端有限公司 定制资料的生成方法和装置
CN102171696B (zh) * 2011-04-28 2016-12-07 华为终端有限公司 定制资料的生成方法和装置
CN102811232B (zh) * 2011-05-31 2016-05-25 德尔福电子(苏州)有限公司 一种实现汽车通讯网关软件重配置的数据处理方法及装置
CN102811232A (zh) * 2011-05-31 2012-12-05 德尔福电子(苏州)有限公司 一种实现汽车通讯网关软件重配置的数据处理方法及装置
CN103365649A (zh) * 2012-04-03 2013-10-23 三菱电机株式会社 程序创建支持装置及程序创建支持方法
CN103365649B (zh) * 2012-04-03 2016-06-22 三菱电机株式会社 程序创建支持装置及程序创建支持方法
CN102929608A (zh) * 2012-10-09 2013-02-13 大唐移动通信设备有限公司 一种接口编/解码的方法和系统
CN104035754A (zh) * 2013-03-05 2014-09-10 北大方正集团有限公司 一种基于xml的自定义代码生成方法及生成器
CN104158903A (zh) * 2014-08-27 2014-11-19 上海斐讯数据通信技术有限公司 Oam协议栈编码方法及系统
CN105117227A (zh) * 2015-08-24 2015-12-02 小米科技有限责任公司 自动生成代码的方法及装置
CN105117227B (zh) * 2015-08-24 2018-09-04 小米科技有限责任公司 自动生成代码的方法及装置
CN105159680A (zh) * 2015-09-16 2015-12-16 北京航空航天大学 Java对象信息分析程序的自动生成方法
CN105159680B (zh) * 2015-09-16 2018-12-28 北京航空航天大学 Java对象信息分析程序的自动生成方法
CN105511865A (zh) * 2015-11-30 2016-04-20 大连文森特软件科技有限公司 一种能够使用多语言或多引擎进行代码开发的方法及系统
CN105678637A (zh) * 2016-01-08 2016-06-15 沈阳时尚实业有限公司 汽车充电桩数据解析系统及其应用方法
CN107977293A (zh) * 2016-10-21 2018-05-01 英业达科技有限公司 监控程序产生系统及其产生方法
CN106990960A (zh) * 2017-03-28 2017-07-28 阿里巴巴集团控股有限公司 代码部署方法及装置
CN107391149A (zh) * 2017-07-28 2017-11-24 郑州云海信息技术有限公司 一种硬件平台的代码生成方法及装置
CN109976732A (zh) * 2017-12-28 2019-07-05 重庆南华中天信息技术有限公司 可将相同编程模型映射成不同语言代码程序的方法及系统
CN108764605A (zh) * 2018-04-04 2018-11-06 北京潘达互娱科技有限公司 一种任务发布方法、装置、电子设备及存储介质
CN109955266A (zh) * 2019-04-01 2019-07-02 珠海市一微半导体有限公司 机器人回座代码的自动生成设备和自动生成系统
CN112181398A (zh) * 2019-06-13 2021-01-05 上海幻电信息科技有限公司 配置文件处理装置、方法及存储介质
CN110286892A (zh) * 2019-06-26 2019-09-27 成都九洲电子信息系统股份有限公司 一种基于业务流程设计的快速开发引擎系统
CN110851665A (zh) * 2019-11-12 2020-02-28 上海元城汽车技术有限公司 标定信息提取方法、装置、电子设备及存储介质
CN110851665B (zh) * 2019-11-12 2022-07-12 上海元城汽车技术有限公司 标定信息提取方法、装置、电子设备及存储介质
CN112068895A (zh) * 2020-08-10 2020-12-11 深圳市鼎盛光电有限公司 代码配置方法、装置、视频播放设备及存储介质
CN112068895B (zh) * 2020-08-10 2023-12-19 深圳市鼎盛光电有限公司 代码配置方法、装置、视频播放设备及存储介质
CN113805874A (zh) * 2021-09-10 2021-12-17 上海得帆信息技术有限公司 适用于多框架语言的前端代码片段动态渲染方法和系统
CN114047968A (zh) * 2021-10-30 2022-02-15 济南浪潮数据技术有限公司 一种硬件自动适配的方法、系统、存储介质及设备
CN114047968B (zh) * 2021-10-30 2024-02-13 济南浪潮数据技术有限公司 一种硬件自动适配的方法、系统、存储介质及设备
CN115993955A (zh) * 2023-03-23 2023-04-21 山东大学 对称密码算法的源代码生成和测试方法及系统

Also Published As

Publication number Publication date
CN100489774C (zh) 2009-05-20

Similar Documents

Publication Publication Date Title
CN100489774C (zh) 结构化的代码自动配置方法及装置
CN102426519B (zh) 基于关联数据的bpel模板和服务的复用方法及其系统
Tavares et al. A gentle introduction to OSGi
WO2009140154A1 (en) Methods and systems for developing, debugging, and executing data integration applications
CN103473108A (zh) 一种Java代码生成方法
CN1968154A (zh) 使用插件进行业务扩展的系统及其方法
CN106155651A (zh) 应用程序版本的自动化发布及更新的方法和系统
WO2006026659A2 (en) Services oriented architecture for data integration services
CN106873974A (zh) 智能代码生成引擎系统及方法
CN103744647A (zh) 一种基于工作流GPD的Java工作流开发系统及其方法
CN109815242B (zh) 一种数据处理方法及系统
CN100561476C (zh) 一种基于asn类型对象的代码生成方法
CN102221998A (zh) 一种扩展构件运行支撑平台中ejb容器的方法
EP2521043A1 (en) Method for establishing a relationship between semantic data and the running of a widget
US20120124550A1 (en) Facilitating database application code translation from a first application language to a second application language
CN112860260A (zh) 一种在高校场景下基于web的跨平台应用构建工具及方法
CN109116828A (zh) 一种控制器中模型代码配置方法和装置
CN115630172A (zh) 针对流程行业的数字主线构建方法及系统
CN101288072A (zh) 数据结构的移植和转换
CN102722368A (zh) 一种基于文档树和消息泵的插件式软件设计方法
Schippers et al. Leveraging UML profiles to generate plugins from visual model transformations
CN102999329A (zh) 基于可扩展标记语言映射配置的活动目录接口开发方法
CN106951399B (zh) 一种快速生成onix标准文件的方法及装置
US8566814B2 (en) Transporting object packets in a nested system landscape
John Leveraging traditional software engineering tools to ontology engineering under a new methodology

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MEDIASOC TECHNOLOGIES CO., LTD.

Free format text: FORMER OWNER: SHANGHAI JIAO TONG UNIVERSITY

Effective date: 20130524

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 200240 MINHANG, SHANGHAI TO: 201241 MINHANG, SHANGHAI

TR01 Transfer of patent right

Effective date of registration: 20130524

Address after: 555 No. 201241 Shanghai Zizhu Science Park in Minhang District City, Dongchuan Road No. 4 Building 302C

Patentee after: MediaSoC Technologies Co., Ltd.

Address before: 200240 Dongchuan Road, Shanghai, No. 800, No.

Patentee before: Shanghai Jiao Tong University

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090520

Termination date: 20140913

EXPY Termination of patent right or utility model