CN102289375A - 代码生成方法及系统 - Google Patents
代码生成方法及系统 Download PDFInfo
- Publication number
- CN102289375A CN102289375A CN2011102587952A CN201110258795A CN102289375A CN 102289375 A CN102289375 A CN 102289375A CN 2011102587952 A CN2011102587952 A CN 2011102587952A CN 201110258795 A CN201110258795 A CN 201110258795A CN 102289375 A CN102289375 A CN 102289375A
- Authority
- CN
- China
- Prior art keywords
- code
- source file
- flow process
- rule
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种代码生成方法及系统,其中,代码生成方法包括:获取用户使用解释性语言配置的代码生成规则和流程控制规则;使用流程控制规则解析用户输入的数据控制流程,获得流程控制源文件;根据流程控制源文件和用户输入的数据源文件,使用代码生成规则生成代码。通过本发明,解决了现有技术的代码生成工具在生成代码时不够灵活的问题,进而达到了增强代码生成工具灵活性的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种代码生成方法及系统。
背景技术
传统的代码生成工具主要分为两大类,一类是以微软公司的Virtual Studio提供的MFC编译环境、采用可视图形界面的操作模式,通过内置的图形解析模块,将用户搭建的图形界面按照内置的图形解析模块转换为C++代码,通过编译链接生成对应的应用程序,业界称为“所见即所得”模式。该模式的好处是利用MFC集成编译环境,降低了对程序员的入门要求,能够更快地将产品推向市场,但是缺点也非常明显,首先是内置的图形解析模块解析模式为固定模式,用户只能根据MFC内置的解析方法来进行代码生成,因而无法快速响应用户不同需求,代码生成规则无法进行配置,代码生成手段过于单一,在代码生成模式的灵活性方面有重大缺陷。因此,在进行大型软件开发和满足高品质软件产品的代码需求方面存在先天不足,故限制了MFC的使用和推广,因而目前业界的大型软件开发均没有使用MFC的案例。
另一类是爱立信APG40、美国IMAG公司的ASN1C为代表的代码转换工具,用于复杂通信协议的数据解码,通过提取通信协议中的关键字段,利用脚本进行规则匹配,可以很好地解决ASN.1类型的通信协议编解码程序的代码生成。该类型代码生成工具的特点是通过导入不同的通信协议描述文件,增加了代码生成工具的灵活性和适用范围,缺陷主要在于代码生成规则依然不能进行实时配置,对新协议规范无法兼容,代码生成工具升级维护成本过高,因此推广困难。
可见,无论是上述哪种代码生成工具,在生成代码时都存在代码生成规则较为固定,无法满足用户对代码生成规则进行灵活配置的需求。
发明内容
本发明的主要目的在于提供一种代码生成方法及系统,以至少解决上述现有技术的代码生成工具在生成代码时不够灵活的问题。
根据本发明的一个方面,提供了一种代码生成方法,包括:获取用户使用解释性语言配置的代码生成规则和流程控制规则;使用流程控制规则解析用户输入的数据控制流程,获得流程控制源文件;根据流程控制源文件和用户输入的数据源文件,使用代码生成规则生成代码。
根据本发明的另一方面,提供了一种代码生成系统,包括:第一获取模块,用于获取用户使用解释性语言配置的代码生成规则和流程控制规则;数据流程解析引擎,用于使用流程控制规则解析用户输入的数据控制流程,获得流程控制源文件;生成模块,用于根据流程控制源文件和用户输入的数据源文件,使用代码生成规则生成代码。
通过本发明,采用解释性语言配置代码生成规则和流程控制规则,充分利用了解释性语言解释执行的特点,使得用户可以根据需求,在代码生成过程中灵活配置代码生成规则和流程控制规则,生成符合用户需求的代码文件,从而解决了现有技术的代码生成工具在生成代码时不够灵活的问题,进而达到了增强代码生成工具灵活性的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例一的一种代码生成方法的步骤流程图;
图2是根据本发明实施例二的一种代码生成方法的步骤流程图;
图3是根据本发明实施例三的一种代码生成方法的步骤流程图;
图4是根据本发明实施例四的一种代码生成系统的结构框图;
图5是根据本发明实施例五的一种代码生成系统的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
参照图1,示出了根据本发明实施例一的一种代码生成方法的步骤流程图。
本实施例的代码生成方法包括以下步骤:
步骤S102:获取用户使用解释性语言配置的代码生成规则和流程控制规则;
本实施例中,代码生成规则和流程控制规则由用户使用解释性语言编写,根据需要灵活配置。解释性语言如脚本语言无须编译,可解释执行,便于用户实时、动态对代码生成规则和流程控制规则进行配置。
步骤S104:使用流程控制规则解析用户输入的数据控制流程,获得流程控制源文件;
本步骤中,对用户输入的数据控制流程,使用解释性语言编写的流程控制规则进行解析,获取流程控制源文件,以对生成的代码的流程进行控制。
步骤S106:根据流程控制源文件和用户输入的数据源文件,使用代码生成规则生成代码。
本步骤中,使用解释性语言编写的代码生成规则,对流程控制源文件和用户输入的数据源文件进行解析和转化,最终生成代码。
相关技术中,代码生成工具在生成代码时不够灵活。通过本实施例,采用解释性语言配置代码生成规则和流程控制规则,充分利用了解释性语言解释执行的特点,使得用户可以根据需求,在代码生成过程中灵活配置代码生成规则和流程控制规则,生成符合用户需求的代码文件,从而解决了现有技术的代码生成工具在生成代码时不够灵活的问题,进而达到了增强代码生成工具灵活性的效果。
实施例二
参照图2,示出了根据本发明实施例二的一种代码生成方法的步骤流程图。
本实施例的代码生成方法包括以下步骤:
步骤S202:用户使用解释性语言配置代码生成规则和流程控制规则。
本步骤中,用户可以通过输入界面,如用户接口UI界面,使用解释性语言编写输入代码生成规则和流程控制规则。当然,该代码生成规则和流程控制规则也可以是预先设置好的,在本次代码生成中可以进行重复使用或可以进行编辑的。
步骤S204:用户输入数据控制流程和数据源文件。
本步骤中,用户可以通过UI界面输入数据控制流程和数据源文件。但不限于此,在实际使用中,用户也可以采用其它任意适当方式输入数据控制流程和数据源文件。
其中,数据控制流程主要包括:代码数据处理流程、输入输出参数、和代码调用顺序。数据控制流程可以包括上述全部,也可以包括其中之一或部分。
步骤S206:使用流程控制规则解析用户输入的数据控制流程,获得流程控制源文件。
本步骤中,在用户输入数据控制流程后,系统使用解释性语言编写的流程控制规则对数据控制流程进行解析,获得流程控制源文件。其中,流程控制源文件可以包括:函数名、函数调用信息、和函数实现。函数实现可以以空函数预先填充。
步骤S208:通过基于正则表达式的源文件数据驱动引擎,对数据源文件和流程控制文件进行匹配,获取数据源文件的关键信息和流程控制文件的关键信息。
源文件数据驱动引擎主要用于对数据源文件和流程控制源文件的解析,其通过解释性语言的正则表达式功能,对数据源文件和流程控制源文件进行匹配,提取关键信息,进而交由后续流程进行处理。
其中,对数据源文件和流程控制源文件进行匹配的关键是采用正则表达式,对数据源文件和流程控制源文件进行关键字的提取和匹配,正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如,表达式“ab+”描述的特征是“一个′a′和任意个′b′”,那么′ab′,′abb′,′abbbbbbbbbb′都符合这个特征。当查找到符合预期的关键字时,也就是匹配成功,则将关键信息进行提取。
其中,关键信息包含:函数名、函数调用信息、函数中数据类型的组成、以及函数输入参数和输出参数。关键信息的作用是为后续生成代码使用,代码的组成分成两类:(1)数据结构:包括函数类型,参数类型,结构体变量构成,类结构;(2)算法:包括输入输出参数顺序,函数调用顺序。
步骤S210:根据数据源文件的关键信息和流程控制文件的关键信息,使用代码生成规则生成代码。
本步骤中,若系统中配置有默认的待生成的代码语言类型(如JAVA),则可以将数据源文件的关键信息和流程控制源文件的关键信息进行转化,按照默认的代码语言类型风格生成代码。
优选地,可以提前配置不同的待生成的代码语言类型,如在步骤S202中配置,则在生成代码时,按照不同的代码语言类型风格生成不同类型的代码。
优选地,可以根据不同的待生成的代码语言类型,配置编写不同的代码生成规则,则在生成代码时,按照不同的代码语言类型风格,选择相对应的代码生成规则生成代码。
优选地,还可以使用解释性语言自带的语法检查工具对生成的代码进行有效性检查,以提高代码生成效率和正确性。
通过本实施例,用户可以通过“所见即所得”的用户界面输入解释性语言编写的代码生成规则和流程控制规则,进而使用该代码生成规则和流程控制规则对用户输入的数据控制流程和数据源文件进行解析,进而生成所需的代码,从而有效解决了现有技术的代码生成工具在生成代码时不够灵活的问题,达到了增强代码生成工具灵活性的效果。
实施例三
参照图3,示出了根据本发明实施例三的一种代码生成方法的步骤流程图。
本实施例的代码生成方法包括以下步骤:
步骤S302:用户通过UI界面进行输入,输入项包括:配置代码生成规则、流程控制规则、和欲生成的代码语言类型。然后,利用提供的图形模型对欲生成的代码数据处理流程、输入输出参数、代码调用顺序进行描述和控制,在UI界面上完成对生成代码的描述,即在“所见即所得”的显示模式下进行上述输入(即输入数据控制流程和数据源文件)。
步骤S304:通过读取配置的流程控制规则,选择对应的流程控制解析模式。
其中,流程控制规则采用解释性语言进行编写,由于是非编译性语言,因此可以做到进行实时更改和重新配置,以适应不同用户的需求。
步骤S306:根据读取的流程控制规则,对用户输入的数据控制流程进行解析。
其中,主要解析项为输入输出参数,函数调用顺序等信息。
步骤S308:生成流程控制源文件。
其中,该流程控制源文件描述了用户准备生成代码的整体架构和控制流程,包括函数名,函数调用信息,函数实现以空函数预先填充。
步骤S310:获取数据源文件。
其中,数据源文件也可动态实时配置,是代码生成中的具体信息部分。数据源文件中包含了生成代码中具体数据结构的构成,数据类型等。
步骤S312:解析数据源文件和流程控制源文件。
本步骤中,通过解释性语言的正则表达式功能,对数据源文件和流程控制源文件进行匹配,提取关键信息。
步骤S314:选择对应的代码生成规则。
该代码生成规则也采用解释性语言进行描述,因此可以对描述规则进行动态更改,将数据源文件和流程控制源文件中的关键信息进行转化。
系统中携带有多种语言工具,在根据代码语言类型生成代码时,若存在多个相应的代码生成规则,则可以按照不同的语言类型风格,选择不同的代码生成规则进行转化;若仅存在一个代码生成规则,则可以交由该代码生成规则进行判断选择,进而调用不同的语言生成工具生成不同语言类型的代码。
步骤S316:按照选择的代码生成规则进行代码生成,并且进行代码有效性检查。
在进行代码有效性检查时,可以利用解释性语言(如PERL脚本语言)自带的语法检查工具进行基本的语法校验,以提高代码生成工具代码转换的效率和正确性。
步骤S318:根据用户选择的代码语言类型,生成对应类型的代码文件,提示用户代码生成完毕。
通过本实施例,数据流程控制规则、代码生成规则以及数据源文件都可以使用解释性语言进行动态地配置和更改,大大增强了代码生成工具的灵活性,便于代码生成工具的升级和维护,降低了软件的后期使用成本。
实施例四
参照图4,示出了根据本发明实施例四的一种代码生成系统的结构框图。
本实施例的代码生成系统包括:第一获取模块402,用于获取用户使用解释性语言配置的代码生成规则和流程控制规则;数据流程解析引擎404,用于使用流程控制规则解析用户输入的数据控制流程,获得流程控制源文件;生成模块406,用于根据流程控制源文件和用户输入的数据源文件,使用代码生成规则生成代码。
优选地,生成模块406包括:源文件数据驱动引擎4062,用于通过正则表达式,对数据源文件和流程控制源文件进行匹配,获取数据源文件的关键信息和流程控制源文件的关键信息;模式匹配模块4064,用于根据数据源文件的关键信息和流程控制源文件的关键信息,使用代码生成规则生成代码。
其中,源文件数据驱动引擎4062对数据源文件和流程控制源文件进行匹配的关键是采用正则表达式,对数据源文件和流程控制源文件进行关键字的提取和匹配,当查找到符合预期的关键字时,也就是匹配成功,则将关键信息进行提取。关键信息包含:函数名、函数调用信息、函数中数据类型的组成、以及函数输入参数和输出参数。
优选地,代码生成规则包括多个,生成模块406包括:第二获取模块4066,用于获取用户配置的待生成的代码语言类型;代码生成模块4068,用于根据数据源文件的关键信息和流程控制源文件的关键信息,以及获取的代码语言类型,使用相应的代码生成规则生成代码。
优选地,本实施例的代码生成系统还包括:检查模块408,用于使用解释性语言自带的语法检查工具,对生成的代码进行有效性检查。
优选地,数据控制流程包括以下至少之一:代码数据处理流程、输入输出参数、代码调用顺序。
优选地,流程控制源文件包括函数名、函数调用信息、和函数实现,其中,函数实现以空函数预先填充。
本实施例实现的方法可以参照前述实施例的相关描述,并具有上述实施例的有益效果,在此不再赘述。
通过本实施例,采用解释性语言配置代码生成规则和流程控制规则,充分利用了解释性语言解释执行的特点,使得用户可以根据需求,在代码生成过程中灵活配置代码生成规则和流程控制规则,生成符合用户需求的代码文件,从而解决了现有技术的代码生成工具在生成代码时不够灵活的问题,进而达到了增强代码生成工具灵活性的效果。
实施例五
参照图5,示出了根据本发明实施例五的一种代码生成系统的结构框图。
本实施例的代码生成系统,包括UI输入模块502、数据流程解析引擎504、源文件数据驱动引擎506、模式匹配模块508、代码生成模块510。
其中:
UI输入模块502,主要用于提供UI界面接收用户输入,包括配置信息输入接口和界面显示模块。其中,通过配置信息输入接口输入的信息主要包含代码生成规则、流程控制规则、生成的代码语言类型。其中代码生成规则影响代码的数据结构,流程控制规则影响代码的算法,生成的代码语言类型决定生成的代码语言规范格式,比如生成C还是JAVA语言;界面显示模块主要用于接收和显示用户对输入参数的控制,用户通过界面显示模块,可以对配置信息输入接口的参数进行修改和查看。
用户通过UI输入模块502,首先使用解释性语言配置代码生成规则、流程控制规则、及欲生成的代码语言类型,然后利用提供的图形模型对欲生成的代码数据处理流程,输入输出参数,代码调用顺序进行描述和控制,即输入数据控制流程及数据源文件。并且,在用户输入后,获取用户输入的上述信息,包括代码生成规则、流程控制规则、欲生成的代码语言类型、数据控制流程及数据源文件(相当于实施例四中的第一获取模块402)。
数据流程解析引擎504,主要用于解析用户通过UI输入模块502输入的代码数据处理流程,输入输出参数,代码调用顺序等信息,即通过输入的流程控制规则解析输入的数据控制流程。流程控制规则可以通过解释性语言如脚本语言进行动态设置,从而达到对不同需求,不同语言类型的支持,解析完毕后生成流程控制源文件。
源文件数据驱动引擎506,主要用于对数据源文件和流程控制源文件的解析,其通过解释性语言的正则表达式功能,对数据源文件和流程控制源文件进行匹配,提取关键信息,进而交由模式匹配模块508进行处理。
模式匹配模块508,主要功能是根据用户配置的代码生成规则,欲生成的代码语言类型,选择对应的匹配模式来匹配源文件数据驱动引擎下发的数据源文件和流程控制源文件关键信息,传递给代码生成模块510进行代码生成。
代码生成模块510,该模块为多语言类型的代码生成模块,其按照模式匹配模块508传下来的代码生成配置信息,将数据源文件的关键信息转化为代码,根据流程控制源文件的关键信息来生成代码调用流程,从而完成代码的生成。
通过本实施例提供的上述基于脚本控制的动态可视代码生成系统,包含了流程控制规则配置脚本,数据源文件,代码生成规则配置脚本,对数据流程控制规则和代码生成规则以及数据源文件都可以进行动态的配置和更改,从而大大增强了该代码生成工具的灵活性,对于代码生成工具的升级和维护,降低软件的后期使用成本上具有明显的优势。
从以上的描述中,可以看出,本发明基于目前业界两类主流的代码生成工具存在的缺陷,提供了一种基于脚本控制的动态可视代码生成方法及系统,利用脚本语言的正则表达式构造了数据流程解析引擎,源文件数据驱动引擎。从而可以通过实时修改脚本语言,利用数据流程解析引擎,解析UI可视图形界面,动态生成数据源文件和流程控制源文件,配置基于正则表达式的源文件数据驱动引擎,完成对数据源文件和流程控制源文件动态生成代码的流程。本发明利用了脚本语言为解释执行的特点,可以实现实时,动态修改匹配规则,从而极大提高了代码生成工具的灵活性。同时,利用基于正则表达式的动态代码生成方法,可以极大提高代码生成工具的鲁棒性和效率,可以实时针对源文件的数据特征,修正源文件数据驱动引擎,从而降低了维护代码生成工具的成本,由于可生成代码的多样性,也扩展了代码生成工具的应用范围。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种代码生成方法,其特征在于,包括:
获取用户使用解释性语言配置的代码生成规则和流程控制规则;
使用所述流程控制规则解析所述用户输入的数据控制流程,获得流程控制源文件;
根据所述流程控制源文件和所述用户输入的数据源文件,使用所述代码生成规则生成代码。
2.根据权利要求1所述的方法,其特征在于,所述根据所述流程控制源文件和所述用户输入的数据源文件,使用所述代码生成规则生成代码的步骤包括:
通过基于正则表达式的源文件数据驱动引擎,对所述数据源文件和流程控制源文件进行匹配,获取所述数据源文件的关键信息和流程控制源文件的关键信息;
根据所述数据源文件的关键信息和流程控制源文件的关键信息,使用所述代码生成规则生成代码。
3.根据权利要求1或2所述的方法,其特征在于,所述代码生成规则包括多个,所述使用所述代码生成规则生成代码的步骤包括:
获取所述用户配置的待生成的代码语言类型;
根据所述代码语言类型选择相应的代码生成规则生成代码。
4.根据权利要求1所述的方法,其特征在于,所述数据控制流程包括以下至少之一:代码数据处理流程、输入输出参数、代码调用顺序。
5.根据权利要求1所述的方法,其特征在于,所述流程控制源文件包括函数名、函数调用信息、和函数实现,其中,所述函数实现以空函数预先填充。
6.根据权利要求1所述的方法,其特征在于,还包括:
使用所述解释性语言自带的语法检查工具,对生成的所述代码进行有效性检查。
7.一种代码生成系统,其特征在于,包括:
第一获取模块,用于获取用户使用解释性语言配置的代码生成规则和流程控制规则;
数据流程解析引擎,用于使用所述流程控制规则解析所述用户输入的数据控制流程,获得流程控制源文件;
生成模块,用于根据所述流程控制源文件和所述用户输入的数据源文件,使用所述代码生成规则生成代码。
8.根据权利要求7所述的系统,其特征在于,所述生成模块包括:
源文件数据驱动引擎,用于通过正则表达式,对所述数据源文件和流程控制源文件进行匹配,获取所述数据源文件的关键信息和流程控制源文件的关键信息;
模式匹配模块,用于根据所述数据源文件的关键信息和流程控制源文件的关键信息,使用所述代码生成规则生成代码。
9.根据权利要求7所述的系统,其特征在于,所述代码生成规则包括多个,所述生成模块包括:
第二获取模块,用于获取所述用户配置的待生成的代码语言类型;
代码生成模块,用于根据所述数据源文件的关键信息和流程控制源文件的关键信息,以及获取的所述代码语言类型,使用相应的代码生成规则生成代码。
10.根据权利要求7所述的系统,其特征在于,还包括:
检查模块,用于使用所述解释性语言自带的语法检查工具,对生成的所述代码进行有效性检查。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110258795.2A CN102289375B (zh) | 2011-09-02 | 2011-09-02 | 代码生成方法及系统 |
PCT/CN2012/076018 WO2013029399A1 (zh) | 2011-09-02 | 2012-05-24 | 代码生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110258795.2A CN102289375B (zh) | 2011-09-02 | 2011-09-02 | 代码生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102289375A true CN102289375A (zh) | 2011-12-21 |
CN102289375B CN102289375B (zh) | 2017-10-20 |
Family
ID=45335828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110258795.2A Active CN102289375B (zh) | 2011-09-02 | 2011-09-02 | 代码生成方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102289375B (zh) |
WO (1) | WO2013029399A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102646035A (zh) * | 2012-02-17 | 2012-08-22 | 南京南瑞继保电气有限公司 | 基于api接口和脚本定义相结合的可视化代码生成方法 |
WO2013029399A1 (zh) * | 2011-09-02 | 2013-03-07 | 中兴通讯股份有限公司 | 代码生成方法及系统 |
CN103577166A (zh) * | 2012-07-25 | 2014-02-12 | 上海斐讯数据通信技术有限公司 | Omci编码方法及其装置 |
CN107291522A (zh) * | 2016-04-11 | 2017-10-24 | 中国科学院信息工程研究所 | 一种面向自定义规则文件的编译优化方法及系统 |
CN109325900A (zh) * | 2018-09-19 | 2019-02-12 | 北京润科通用技术有限公司 | 一种算法的部署方法和系统 |
CN109388385A (zh) * | 2018-09-18 | 2019-02-26 | 西门子(中国)有限公司 | 用于应用开发的方法和装置 |
CN109408049A (zh) * | 2018-10-13 | 2019-03-01 | 彭熹 | 一种从自然语言自动生成程序代码的方法和系统 |
CN109509467A (zh) * | 2018-11-01 | 2019-03-22 | 北京车和家信息技术有限公司 | 代码生成方法及装置 |
CN109947423A (zh) * | 2019-03-27 | 2019-06-28 | 北京字节跳动网络技术有限公司 | 代码生成方法、装置、终端和介质 |
CN111124378A (zh) * | 2018-10-31 | 2020-05-08 | 北京国双科技有限公司 | 代码生成方法和装置 |
CN111670091A (zh) * | 2018-12-25 | 2020-09-15 | 深圳配天智能技术研究院有限公司 | 机器人程序指令编译方法、机器人控制系统及存储装置 |
CN112698832A (zh) * | 2020-12-28 | 2021-04-23 | 东软集团股份有限公司 | 一种识别代码变更影响范围的方法、装置及设备 |
TWI783463B (zh) * | 2021-04-28 | 2022-11-11 | 博橡科技股份有限公司 | 人機介面產生方法、電腦可讀儲存媒體、計算裝置及功能執行裝置 |
CN116645962A (zh) * | 2022-02-15 | 2023-08-25 | 腾讯科技(深圳)有限公司 | 代码生成方法、代码显示方法、装置、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109799985B (zh) * | 2019-01-23 | 2022-06-03 | 中国银行股份有限公司 | 前端代码生成方法及装置、存储介质及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875331A (en) * | 1994-09-30 | 1999-02-23 | International Business Machines Corp. | System and method for generating target language code utilizing an object oriented code generator |
CN100481001C (zh) * | 2006-01-17 | 2009-04-22 | 大唐移动通信设备有限公司 | 界面自动生成方法和界面自动生成系统 |
CN100520716C (zh) * | 2007-08-28 | 2009-07-29 | 北京中企开源信息技术有限公司 | 一种基于模型组件的代码自动生成装置、系统及方法 |
CN101604241A (zh) * | 2009-07-10 | 2009-12-16 | 杭州电子科技大学 | 一种嵌入式系统的代码生成方法 |
CN101645010B (zh) * | 2009-08-20 | 2012-08-22 | 珍爱信息技术(深圳)有限公司 | 代码自动生成系统及方法 |
CN102289375B (zh) * | 2011-09-02 | 2017-10-20 | 中兴通讯股份有限公司 | 代码生成方法及系统 |
-
2011
- 2011-09-02 CN CN201110258795.2A patent/CN102289375B/zh active Active
-
2012
- 2012-05-24 WO PCT/CN2012/076018 patent/WO2013029399A1/zh active Application Filing
Non-Patent Citations (1)
Title |
---|
陈翔等: "代码生成技术在MDA中的实现", 《计算机应用研究》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013029399A1 (zh) * | 2011-09-02 | 2013-03-07 | 中兴通讯股份有限公司 | 代码生成方法及系统 |
CN102646035A (zh) * | 2012-02-17 | 2012-08-22 | 南京南瑞继保电气有限公司 | 基于api接口和脚本定义相结合的可视化代码生成方法 |
CN103577166A (zh) * | 2012-07-25 | 2014-02-12 | 上海斐讯数据通信技术有限公司 | Omci编码方法及其装置 |
CN103577166B (zh) * | 2012-07-25 | 2017-11-14 | 上海斐讯数据通信技术有限公司 | Omci编码方法及其装置 |
CN107291522B (zh) * | 2016-04-11 | 2020-09-29 | 中国科学院信息工程研究所 | 一种面向自定义规则文件的编译优化方法及系统 |
CN107291522A (zh) * | 2016-04-11 | 2017-10-24 | 中国科学院信息工程研究所 | 一种面向自定义规则文件的编译优化方法及系统 |
CN109388385A (zh) * | 2018-09-18 | 2019-02-26 | 西门子(中国)有限公司 | 用于应用开发的方法和装置 |
CN109388385B (zh) * | 2018-09-18 | 2022-08-19 | 西门子(中国)有限公司 | 用于应用开发的方法和装置 |
CN109325900A (zh) * | 2018-09-19 | 2019-02-12 | 北京润科通用技术有限公司 | 一种算法的部署方法和系统 |
CN109408049A (zh) * | 2018-10-13 | 2019-03-01 | 彭熹 | 一种从自然语言自动生成程序代码的方法和系统 |
CN111124378A (zh) * | 2018-10-31 | 2020-05-08 | 北京国双科技有限公司 | 代码生成方法和装置 |
CN111124378B (zh) * | 2018-10-31 | 2024-02-13 | 北京国双科技有限公司 | 代码生成方法和装置 |
CN109509467A (zh) * | 2018-11-01 | 2019-03-22 | 北京车和家信息技术有限公司 | 代码生成方法及装置 |
CN109509467B (zh) * | 2018-11-01 | 2022-06-24 | 北京车和家信息技术有限公司 | 代码生成方法及装置 |
CN111670091A (zh) * | 2018-12-25 | 2020-09-15 | 深圳配天智能技术研究院有限公司 | 机器人程序指令编译方法、机器人控制系统及存储装置 |
CN111670091B (zh) * | 2018-12-25 | 2022-12-13 | 深圳配天智能技术研究院有限公司 | 机器人程序指令编译方法、机器人控制系统及存储装置 |
CN109947423A (zh) * | 2019-03-27 | 2019-06-28 | 北京字节跳动网络技术有限公司 | 代码生成方法、装置、终端和介质 |
CN112698832A (zh) * | 2020-12-28 | 2021-04-23 | 东软集团股份有限公司 | 一种识别代码变更影响范围的方法、装置及设备 |
CN112698832B (zh) * | 2020-12-28 | 2024-02-13 | 东软集团股份有限公司 | 一种识别代码变更影响范围的方法、装置及设备 |
TWI783463B (zh) * | 2021-04-28 | 2022-11-11 | 博橡科技股份有限公司 | 人機介面產生方法、電腦可讀儲存媒體、計算裝置及功能執行裝置 |
CN116645962A (zh) * | 2022-02-15 | 2023-08-25 | 腾讯科技(深圳)有限公司 | 代码生成方法、代码显示方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102289375B (zh) | 2017-10-20 |
WO2013029399A1 (zh) | 2013-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102289375A (zh) | 代码生成方法及系统 | |
CN102591654B (zh) | 一种基于ssh架构的代码生成器及方法 | |
CN101841515B (zh) | 可变目标的协议数据单元编解码代码自动生成的实现方法 | |
US8756407B2 (en) | Configuration rule prototyping tool | |
CN106970820A (zh) | 代码存储方法及代码存储装置 | |
JP2007141173A (ja) | コンパイルシステム、デバッグシステムおよびプログラム開発システム | |
CN102495797A (zh) | 智能卡测试装置和测试方法 | |
CN106409295A (zh) | 从自然语音信息中识别时间信息的方法和装置 | |
CN104410667A (zh) | 一种xml报文到json报文的转换方法及系统 | |
CN103197948A (zh) | 一种电力智能设备通信规约脚本解析方法 | |
CN103677821A (zh) | 软件开发工具代码发布的方法和装置 | |
CN107291522A (zh) | 一种面向自定义规则文件的编译优化方法及系统 | |
CN103617046B (zh) | 一种扫描和提取目标系统源代码中待翻译的资源的方法和装置 | |
CN102147726B (zh) | 一种基于脚本的业务配置实现方法 | |
JP2017535887A (ja) | コンピュータ実行可能なモデルリバースエンジニアリング方法及び装置 | |
US20020026632A1 (en) | Universal computer code generator | |
CN104808982A (zh) | 应用的功能模拟开发方法和装置 | |
CN102521008A (zh) | 程序编译装置和程序编译方法 | |
CN104899625A (zh) | 移动记账实现方法和装置 | |
CN101699396A (zh) | 一种无线终端菜单的生成方法及其装置 | |
CN103984539A (zh) | 一种家电设备运行方法及系统 | |
CN103077066A (zh) | 一种编译时嵌入产品关键信息的方法和系统 | |
CN202143092U (zh) | 报文处理系统 | |
CN107632831B (zh) | 快速规范前端代码的方法及装置 | |
CN105933396A (zh) | 一种协同各渠道系统接口实现长流程的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |