当前位置: 首页 > 专利查询>彭熹专利>正文

一种从自然语言自动生成程序代码的方法和系统技术方案

技术编号:20483829 阅读:23 留言:0更新日期:2019-03-02 18:33
本发明专利技术提出一种从自然语言描述中自动生成程序代码的方法和系统。程序代码自动生成系统包括代码生成模块、输入装置以及处理器。代码生成模块具有描述模板。描述模板包括多个描述关键词组、实际数据指示符和生成表达式。代码生成模块为代码生成平台。输入装置用以接收输入数据。处理器耦接输入装置,并且用以执行代码生成模块。当处理器执行代码生成模块时,处理器读取代码生成模块当中的描述模板,并且将输入数据与描述模板对比配合,提取实际参数,以生成程序代码。

【技术实现步骤摘要】
一种从自然语言自动生成程序代码的方法和系统
本专利技术是有关一种程序代码生成技术,且特别是有关一种程序代码的自动生成系统及自动生成方法。
技术介绍
从自然语言生成计算机程序代码一直是计算机科学的一个重要研究方向。自然语言在沟通交流中应用领域非常广泛,很多时候自然语言并不用来描述逻辑或流程,而描述数理逻辑或流程操作的时候,使用的自然语言词汇、语法往往比口语、网络用语等正式和规范。针对自然语言描述的逻辑流程和功能操作,目前还必须由人工理解后写成计算机语言代码(如C、Java、麦语言等),在代码编写过程中,主观性较强,出错率高,往往需要反复沟通才能编写正确。特别是对于计算机语言的函数,在自然语言中由于功能描述各有不同,参数差异,更不容易识别。有鉴于此,以下将提出识别自然语言描述的功能操作,并转换成程序代码的解决方案。
技术实现思路
本专利技术提供一种根据自然语言描述的功能操作自动生成程序代码的代码自动生成系统以及自动生成方法。本专利技术的一种程序代码自动生成系统(以下简称代码生成系统、生成系统)适用于自然语言描述的功能操作。代码生成系统包括程序代码自动生成模块(以下简称代码生成模块、生成模块)、描述输入装置以及处理器。代码生成模块具有可扩展的描述模板。描述模板包括描述关键词组、实际数据指示符和生成表达式。代码生成模块为代码生成平台。输入装置用以接收描述数据。处理器耦接输入装置。处理器用以执行代码生成模块。当处理器执行代码生成模块时,处理器读取代码生成模块当中的描述模板,并且将输入的描述数据与描述模板对比配合,从描述中提取实际数据数据,以产生程序代码。本专利技术的一种程序代码自动生成方法(以下简称代码生成方法、生成方法)适用于自然语言描述的功能操作。代码生成方法包括以下步骤。执行代码生成模块,并且读取描述模板,其中描述模板包括描述关键词组、实际数据指示符和生成表达式,并且代码生成模块为代码自动生成平台。接收描述输入数据。将描述输入数据与描述模板对比配合,从描述中提取实际数据数据,以产生程序代码。基于上述,本专利技术的代码生成系统以及代码生成方法利用在代码生成模块中设定有的描述模板,以使代码生成模块可直接将使用者输入的描述数据与描述模板对比配合,提取实际数据,以快速地产生程序代码。因此,本专利技术的代码生成系统以及代码生成方法可有效地减少编码的主观随意性,提升代码的客观统一性。为让本专利技术的上述特征和优点能更明显易懂,下文特举实施例,并配合所附附图作详细说明如下。附图说明图1图示本专利技术的一实施例的代码自动生成系统的示意图。图2图示本专利技术的一实施例的代码自动生成模块的示意图。图3图示本专利技术的一实施例的代码自动生成方法的流程图。具体实施例为了使本专利技术的内容可以被更容易理解,以下特举实施例做为本专利技术确实能够据以实施的示例。本实施例是以自然语言描述为输入,生成金融程序化交易程序代码,例如文华财经麦语言代码。金融领域程序化交易语言,是金融领域公司针对用户需要使用程序进行交易的需求,开发的类似于计算机通用的C、Java等编程语言、同时增加了金融领域专有的金融函数的程序化交易语言。使用者需要熟悉其中很多金融函数,来编写程序进行程序化交易。国内比较有代表性的有文华麦语言、开拓者、金字塔等程序化交易语言。另外,凡可能的地方,在附图及实施方式中使用相同标号的元件/构件/步骤,是代表相同或类似部件。图1图示本专利技术的一实施例的代码生成系统的示意图。在本实施例中,代码生成系统10包括电子装置100以及外部服务器200。代码生成系统10适用于自然语言描述的功能操作,并且具有代码生成的功能。电子装置100包括处理器110以及输入装置120,并且处理器110耦接输入装置120。外部服务器200包括生成模块210。在本实施例中,电子装置100可进一步包括有线通讯接口(interface)或无线通讯接口。电子装置100以有线或无线的方式通讯连接至外部服务器200,以读取并且执行代码自动生成模块210。代码自动生成模块210是一种开放式的代码自动生成平台。在本实施例中,处理器110可由输入装置120接收使用者提供的描述数据。代码自动生成模块210包括描述模板。处理器110可读取生成模块210当中的描述模板,并且将输入数据与描述模板对比对比配合,提取实际数据,以生成程序代码。在本实施例中,电子装置100可例如是个人电脑(PersonalComputer,PC)、台式电脑(DesktopPC)、笔记本电脑(NotebookPC)、平板电脑(TabletPC)等诸如此类的电脑装置,本专利技术并不限于此。电子装置100设置有无线或有线的通讯模块,以使电子装置100利用通讯模块与外部服务器200进行通讯。举例来说,当使用者操作代码生成系统10时,使用者可操作电子装置100,以利用输入装置120输入功能操作描述,以使电子装置100可执行储存在外部服务器200当中的代码生成模块210,以进行生成代码工作。在本实施例中,处理器110例如是中央处理单元(CentralProcessingUnit,CPU)、系统单芯片(SystemonChip,SOC)或是其他可编程的一般用途或特殊用途的微处理器(Microprocessor)、数字信号处理器(DigitalSignalProcessor,DSP)、可编程控制器、特定用途集成电路(ApplicationSpecificIntegratedCircuits,ASIC)、可编程逻辑装置(ProgrammableLogicDevice,PLD)、其他类似处理装置或这些装置的组合。在本实施例中,输入装置120可用以接收使用者输入的自然语言功能操作。输入装置120例如是键盘(Keyboard)、语音接收器(Voicereceiver)、麦克风(Microphone)或这些装置的组合等。输入装置120可用以接收使用者提供的语音信息或文字描述等,本专利技术并不加以限制。在本实施例中,输入装置120可依据上述各种形式的输入方式来提供功能操作数据至处理器110。在本实施例中,外部服务器200为云端系统。外部服务器200用以提供代码生成模块。在本实施例中,电子装置100可读取外部服务器200的生成模块210,并且直接在外部服务器200上执行生成模块210。在一个实施例中,电子装置100也可先将生成模块210下载至电子装置100的存储器中,再执行生成模块210,本专利技术并不加以限制。图2图示本专利技术的一实施例的生成模块的示意图。参考图1以及图2,生成模块210包括描述模板211,并且这些描述模板可以用于表示同样功能操作的不同形式,例如以下举例所述的多个模板都是用于表示同样功能操作的多个不同形式,但本专利技术并不限于此。描述模板211包括一个或多个关键词组211_1、实际数据指示符211_2和生成表达式211_3。然而,在一个描述模板211中的关键词组211_1、实际数据指示符211_2和生成表达式211_3的数量本专利技术并不加以限制。在本实施例中,输入装置120提供描述输入220,以使生成模块210将描述输入220与描述模板211对比配合,提取实际数据,以生成程序代码230。在本实施例中,描述输入220可包括多个功能操作所需的实际数据数据。在本实施例中,当处理器110将描本文档来自技高网...

【技术保护点】
1.一种程序代码自动生成系统(以下简称代码自动生成系统),适用于自然语言,包括:程序代码自动生成模块(以下简称代码自动生成模块),具有描述模板,所述描述模板包括多个关键词组、实际数据指示符和生成表达式,其中所述代码自动生成模块为程序代码自动生成平台;输入装置,用以接收描述数据;以及处理器,耦接所述输入装置,并且用以执行所述代码自动生成模块,其中当所述处理器执行所述代码自动生成模块时,所述处理器读取所述代码自动生成模块当中的所述描述模板,并且将所述描述数据与所述描述模板对比配合,提取实际数据,以生成程序代码。

【技术特征摘要】
1.一种程序代码自动生成系统(以下简称代码自动生成系统),适用于自然语言,包括:程序代码自动生成模块(以下简称代码自动生成模块),具有描述模板,所述描述模板包括多个关键词组、实际数据指示符和生成表达式,其中所述代码自动生成模块为程序代码自动生成平台;输入装置,用以接收描述数据;以及处理器,耦接所述输入装置,并且用以执行所述代码自动生成模块,其中当所述处理器执行所述代码自动生成模块时,所述处理器读取所述代码自动生成模块当中的所述描述模板,并且将所述描述数据与所述描述模板对比配合,提取实际数据,以生成程序代码。2.如权利要求1所述的代码自动生成系统,其中所述描述模板包括关键词组、实际数据指示符和生成表达式。3.如权利要求1所述的代码自动生成系统,其中所述关键词组包括多个标识本模板的关键词,并且所述实际数据指示符包括多个指示数据的正则表达式,所述生成表达式包括多个生成代码的表达式,其中当所述处理器将所述描述数据与所述描述模板对比配合,以提取实际数据时,所述处理器将所述关键词组逐一在输入的描述数据中对比查找,所有关键词组都查找到后为匹配模板成功,再依据实际数据指示符从描述中找出实际数据,填入生成表达式,生成程序代码。4.如权利要求1所述的代码自动生成系统,还包括外部服务器,其中所述代码自动生成模块设置在所述外部服务器中,并且所述处理器通讯连接至所述外部服务器,以读取并执行所述程序代码自动生成模块。5.一种程序代码自动生成方法,适用于自然语言,包括:执行代...

【专利技术属性】
技术研发人员:彭熹
申请(专利权)人:彭熹
类型:发明
国别省市:四川,51

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

1