CN107239264B - 代码提示信息的生成方法及装置 - Google Patents

代码提示信息的生成方法及装置 Download PDF

Info

Publication number
CN107239264B
CN107239264B CN201610183039.0A CN201610183039A CN107239264B CN 107239264 B CN107239264 B CN 107239264B CN 201610183039 A CN201610183039 A CN 201610183039A CN 107239264 B CN107239264 B CN 107239264B
Authority
CN
China
Prior art keywords
information
grammar
input
input content
terminal
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.)
Active
Application number
CN201610183039.0A
Other languages
English (en)
Other versions
CN107239264A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610183039.0A priority Critical patent/CN107239264B/zh
Priority to TW106105606A priority patent/TWI735541B/zh
Priority to PCT/CN2017/077252 priority patent/WO2017167045A1/zh
Priority to EP17773075.1A priority patent/EP3422181B1/en
Publication of CN107239264A publication Critical patent/CN107239264A/zh
Priority to US16/143,988 priority patent/US10678514B2/en
Application granted granted Critical
Publication of CN107239264B publication Critical patent/CN107239264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种代码提示信息的生成方法及装置,涉及信息技术领域。本发明主要用于解决生成的代码提示信息的精确度较低的技术问题和解决由于显示的代码提示信息中存在大量无用信息,造成显示代码提示信息时存在***资源浪费的问题。所述方法包括:获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;根据所述输入内容信息与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。

Description

代码提示信息的生成方法及装置
技术领域
本发明涉及信息技术领域,尤其涉及一种代码提示信息生成方法及装置。
背景技术
近年来,集成开发环境(Integrated Development Environment,IDE)已经成为程序设计和开发的主流工具,随着程序设计语言复杂度的不断提高,IDE中的代码提示功能的应用也越来越广泛,其中,程序开发人员可以根据代码提示信息进行后续输入,代码提示功能能够减轻程序开发人员记忆语法规则以及语言要素的名称的负担、降低程序开发人员输入的字符量和出错率,提升程序开发的效率。
目前,在进行代码提示时,首先把所有的语言要素的名称作为代码提示信息显示给程序开发人员,然后根据程序开发人员持续输入的内容进行代码提示信息的过滤。然而,由于代码提示信息中大部分的信息不是程序开发人员需要的,例如,在结构化查询语言(Structured Query Language,SQL)中,程序开发人员输入INSERT语句,现有代码提示信息的显示界面示意图,如图5所示,当程序开发人员持续输入in时,现有过滤后的代码提示信息的显示界面示意图,如图6所示,在图5和图6中的信息不是程序开发人员需要的,程序开发人员在实际的开发过程中几乎不会选择这些信息,显示这些信息会给程序开发人员造成干扰,导致生成的代码提示信息的精确度较低,同时显示这些不必要的代码提示信息会造成***资源的浪费。
发明内容
有鉴于此,本发明实施例提供一种代码提示信息的生成方法及装置,主要目的是解决生成的代码提示信息的精确度较低的技术问题。
与此同时,本发明实施例还提供一种代码提示信息的生成方法及装置,主要目的是解决由于显示的代码提示信息中存在大量无用信息,造成显示代码提示信息时存在***资源浪费的问题。
为达到上述目的,本发明提供如下技术方案:
一方面,本发明提供一种代码提示信息的显示方法,包括:
接收当前程序开发过程中通过操作界面获取的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;
获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;
根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息并进行输出。
另一方面,本发明提供一种代码提示信息的显示装置,包括:
获取单元,用于获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;
所述获取单元,还用于获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;
生成单元,用于根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明实施例提供的一种代码提示信息的生成方法及装置。首先,获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。与目前首先把所有的语言要素的名称作为代码提示信息显示给程序开发人员,然后根据程序开发人员持续输入的内容进行代码提示信息的过滤相比,本发明实施例通过根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息,能够提升代码提示信息的精确度率,同时能够避免由于在代码提示信息中显示大量无用信息而造成的***资源的浪费。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种代码提示信息的生成方法的流程图;
图2示出了本发明实施例提供的另一种代码提示信息的生成方法的流程图;
图3示出了本发明实施例提供的一种代码提示信息的生成装置的结构示意图;
图4示出了本发明实施例提供的另一种代码提示信息的生成装置的结构示意图;
图5示出了现有代码提示信息的显示界面示意图;
图6示出了现有过滤后的代码提示信息的显示界面示意图;
图7示出了本发明实施例代码提示信息的显示界面示意图;
图8示出了本发明实施例提供的程序开发过程中代码提示的方法流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供的一种代码提示信息的生成方法,如图1所示,所述方法包括:
101、获取当前程序开发过程对应的输入状态信息。
其中,所述输入状态信息包括输入内容信息和输入语言环境信息。所述输入内容信息可以包括输入的语句信息和光标位置信息,如输入的语句信息为INSERT。所述输入语言环境信息可以为程序开发过程中所使用的程序设计语言,如结构化查询语言(Structured Query Language,SQL)、C语言等。程序设计语言一般是上下文无关文法定义的,所述上下文无关文法是形式语言理论中一种重要的变换文法,用来描述上下文无关语言,即程序设计语言中某一语句信息或者语句信息是否出现在特定位置上不依赖于上下文。
对于本发明实施例,用户通常在集成开发环境对应的文本编辑器中输入语句信息进行程序开发,因此,程序开发过程对应的输入状态信息为通过文本编辑器获取的输入状态信息,步骤101具体可以为:获取当前集成开发环境对应的文本编辑器中的输入状态信息。
102、获取与输入状态信息对应的预置文法规则。
其中,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则。所述预置文法规则可以为上下文无关文法规则。
由于相同语句信息的不同语言对应的上下文无关文法规则不同,如语句信息为赋值语句,在Java语言和C语言中赋值语句对应的上下文无关文法规则不同;相同语言的不同语句信息对应的上下文无关文法规则不同,如INSERT语句在SQL语言中存在对应的上下文无关文法规则,但是在C语言中不存在对应的上下文无关文法规则。因此在程序开发过程中不同输入状态信息对应不同的上下文无关文法规则。
103、根据输入内容信息与输入状态信息对应的预置文法规则,生成与输入内容信息对应的代码提示信息。
其中,与所述输入内容信息对应的代码提示信息可以为与所述输入内容信息相关的代码提示信息。所述代码提示信息用于对用户后续输入的内容进行提示,通过代码提示信息可以提升代码编写速度和减少拼写和语法错误,从而提升程序开发的效率。
对于本发明实施例,具体可以根据预置文法规则中保存的不同语句信息之间的关联关系和所述输入内容信息,推导出与所述输入内容信息相关的内容信息,然后将与所述输入内容信息相关的内容信息确定为所述输入内容信息相关的代码提示信息。
例如,当前的输入语言环境为SQL语言,当前的输入内容信息为“INSERT”,则根据INSERT在SQL语言中的上下文无关文法规则,生成与“INSERT”相关的内容信息,如“INSERTOVERWRITE DIRECTORY”、“INSERT OVERWRITE LOCAL DIRECTORY”等,然后将与“INSERT”相关的内容信息确定为与“INSERT”对应的代码提示信息。其中,INSERT在SQL语言中的上下文无关文法规则中保存有“INSERT”与“INSERT OVERWRITE DIRECTORY”、“INSERT OVERWRITELOCAL DIRECTORY”等语句信息之间的关联关系。
本发明实施例通过根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息相关的内容信息,然后将与所述输入内容信息相关的内容信息确定为所述输入内容信息对应的代码提示信息,能够提升代码提示信息显示的精确度,同时能够避免由于在代码提示信息中显示大量无用信息而造成的***资源的浪费。
本发明实施例提供的一种代码提示信息的生成方法。首先,获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;根据与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。与目前首先把所有的语言要素的名称作为代码提示信息显示给程序开发人员,然后根据程序开发人员持续输入的内容进行代码提示信息的过滤相比,本发明实施例通过根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息,能够提升代码提示信息的精确度率,同时能够避免由于在代码提示信息中显示大量无用信息而造成的***资源的浪费。
本发明实施例提供的另一种代码提示信息的生成方法,如图2所示,所述方法包括:
201、获取当前程序开发过程对应的输入状态信息。
其中,所述输入状态信息包括输入内容信息和输入语言环境信息。所述输入内容信息和所述输入语言环境信息的相应描述可以参照图1所述实施例的对应描述,在此不再赘述。
202、检测输入内容信息是否包含预置信息。
其中,所述预置信息可以为特殊分割字符信息,如“,”、“(”等,也可以为触发字符,在此不进行限定。
203、若输入内容信息包含预置信息,则执行获取与输入状态信息对应的预置文法规则。
其中,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则。所述预置文法规则可以为上下文无关文法规则。所述上下文无关文法规则的相应描述可以参照图1所述实施例的对应描述,在此不再赘述。
204、获取与预置文法规则对应的有限状态机。
其中,所述有限状态机保存有不同语句信息之间的转换规则。所述有限状态机是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。
对于本发明实施例,在步骤204之前,所述方法还可以包括:将所述预置文法规则解析转换成一个有限状态机,具体可以通过文法规则识别器将所述预置文法规则解析转换成一个有限状态机,所述文法规则识别器具体可以为开源语法分析器(ANTLR-AnotherTool for Language Recognition,Antlr),生成编译器的编译器(Yet Another CompilerCompiler,yacc)等。
205、根据输入内容信息和有限状态机中不同语句信息之间的转换规则,生成输入内容信息对应的后续输入内容信息对应的后跟符号集合。
其中,所述后跟符号集合包括所述转换规则的文法产生式集合、所述文法产生式集合对应的非终结符集合和所述文法产生式集合对应的起始终结符集合。所述后续输入内容信息可以为与所述输入内容信息相关的内容信息。
对于本发明实施例,步骤205具体可以为:首先将所述输入内容信息解析转化为所述有限状态机中的输入内容信息,具体可以通过语法解析器将所述输入内容信息解析转化为所述有限状态机中的输入内容信息;然后通过状态转换分析器根据所述有限状态机中的输入内容信息和所述有限状态机中的转换规则,生成所述输入内容信息对应的后续输入内容信息对应的后跟符号集合。
在本发明实施例中,为了描述方便,将所述有限状态机中的输入内容信息记为S;将所述后跟符号集合记为Follow(S);将所述转换规则的文法产生式集合记为Rule(S);将所述文法产生式对应的非终结符集合记为N(S);和所述文法产生式对应的起始终结符集合E(S)。
例如,用户在SQL开发环境中的输入内容信息为“INSERT[I]”,其中,[I]代表当前光标位置”,将所述输入内容信息解析转化为所述有限状态机中的输入内容信息“INSERT”,根据“INSERT”和所述有限状态机中不同语句信息之间的转换规则,可以生成Follow(S)={N(S)、E(S)、Rule(S)},其中,
N(S)={insertClause}
E(S)={INSERT}
Rule(S)={{KW_INSERT KW_OVERWRITE destination ifNotExists?},{KW_INSERT KW_INTO KW_TABLE?tableOrPartition (LPAREN columnNameList RPAREN)?}}
206、将非终结符集合中的非终结符对应的文法展开式与起始终结符集合中的起始终结符的文法展开式进行关联。
其中,非终结符对应的文法展开式是表示非终结符对应的文法产生式展开为终结符序列的结果。
对于本发明实施例,步骤206具体可以为:当所述非终结符对应的文法展开式与所述起始终结符的文法展开式相等时,将所述起始终结符的文法展开式确定为后续输入内容信息的提示候选信息。
需要说明的是,在步骤206之前,所述方法还可以包括:获取所述非终结符对应的起始终结符集合中的起始终结符对应的文法产生式;将所述文法产生式中的所有的非终结符循环展开直至消除所有的非终结符后的结果,确定为所述非终结符对应的文法展开式。
在此记所述非终结符对应的文法展开式为Template(N),为了说明获取Template(N)的过程,在此根据INSERT进行举例,如下所示,其中,insertClause为非终结符,insertClause对应的文法产生式为rule1、rule2:
insertClause:rule1|rule2;
rule1={KW_INSERT KW_OVERWRITE destination ifNotExists?};
rule2={KW_INSERT KW_INTO KW_TABLE? tableOrPartition(LPARENcolumnNameList RPAREN)?};
在rule1中的非终结符为destination、由于在SQL语言中destination应的文法产生式为rule3、rule4:
destination:rule3|rule4;
rule3={(KW_LOCAL)?KW_DIRECTORY StringLiteral tableRowFormat?tableFileFormat?};
rule4={KW_TABLE tableOrPartition};
ifNotExists,StringLiteral,tableRowFormat,tableFileFormat等文法产生式的定义,不进行详细的描述,但是不影响说明生成Template(N)的过程。
非终结符destination的起始终结符First集合={DIRECTORY、LOCAL DIRECTORY、TABLE};
所述非终结符destination的First集中的起始终结符DIRECTORY、LOCALDIRECTORY对应的文法产生式均为rule3,展开后为DIRECTORY、LOCAL DIRECTORY,
所述非终结符destination的First集中的起始终结符TABLE的文法产生式均为rule4,展开式为TABLE;
非终结符insertClause的First集合={INSERT};
由于非终结符insertClause对应的First集合中的起始终结符为INSERT且所述E(S)相等,INSERT对应的文法产生式为rule1、rule2,
将rule1中的非终结符destination循环展开直至消除所有的非终结符后的结果为:
template1=INSERT OVERWRITE DIRECTORY
template2=INSERT OVERWRITE LOCAL DIRECTORY
template3=INSERT OVERWRITE TABLE
将rule2中的非终结符destination循环展开直至消除所有的非终结符后的结果为:
tempalte4=INSERT INTO
template5=INSERT INTO TABLE
因此,得到的如下文法展开式即为后续输入内容信息的提示候选信息:
template1=INSERT OVERWRITE DIRECTORY
template2=INSERT OVERWRITE LOCAL DIRECTORY
template3=INSERT OVERWRITE TABLE
tempalte4=INSERT INTO
template5=INSERT INTO TABLE。
207、根据关联结果,生成与输入内容信息对应的代码提示信息。
对于本发明实施例,步骤207具体可以为:根据所述起始终结符和所述提示候选信息,确定为与所述输入内容信息对应的代码提示信息。
进一步地,在根据所述起始终结符和所述提示候选信息,确定为与所述输入内容信息对应的代码提示信息之前,所述方法还可以包括:获取所述输入状态信息对应的历史输入状态信息,根据所述历史输入状态信息,对所述起始终结符和所述提示候选信息进行排序。具体地,可以根据所述提示候选信息和起始终结符在历史输入状态信息中出现的次数或者优先级进行排序,在此不进行限定。
例如,得到的所述提示候选信息为:
template1=INSERT OVERWRITE DIRECTORY
template2=INSERT OVERWRITE LOCAL DIRECTORY
template3=INSERT OVERWRITE TABLE
tempalte4=INSERT INTO
template5=INSERT INTO TABLE。
可以对上述提示候选信息和起始终结符INSERT进行排序,排序后的顺序为:
INSERT
INSERT INTO
INSERT INTO TABLE
INSERT INTO OVERWRITE TABLE
INSERT INTO OVERWRITE DIRECTORY
INSERT INTO OVERWRITE LOCAL DIRECTORY
即为与所述INSERT对应的代码提示信息。
208、输出与输入内容信息对应的代码提示信息。
对于本发明实施例,步骤208具体可以为:将与输入内容信息对应的代码提示信息发送给当前集成开发环境对应的文本编辑器,然后由所述文本编辑器显示与输入内容信息对应的代码提示信息。
例如,生成与“INSERT”对应的代码提示信息如下:
INSERT
INSERT INTO
INSERT INTO TABLE
INSERT INTO OVERWRITE TABLE
INSERT INTO OVERWRITE DIRECTORY
INSERT INTO OVERWRITE LOCAL DIRECTORY
所述代码提示信息的显示界面示意图,如图7所示,代码提示信息的显示界面可以为文本编辑器的显示界面。
对于本发明实施例,在步骤208之后,所述方法还可以包括:接收所述代码提示信息对应的信息选择指令,其中,所述信息选择指令用于指示从所述代码提示信息中选择信息;根据所述信息更新所述输入内容信息。
例如,程序开发人员根据所述信息选择指令选择的信息为:INSERT INTO TABLE,则可以用INSERT INTO TABLE更新当前输入内容信息INSERT。
进一步地,在所述根据所述信息更新所述输入内容信息之后,所述方法还可以包括:将所述信息保存到所述历史输入状态信息中。通过将所述信息保存到所述历史输入状态信息可以方便后续对所述起始终结符和所述提示候选信息进行排序。
对于本发明实施例,具体的应用场景可以如下所示,但不限于此,包括:程序开发过程中代码提示的方法,如图8所示:
步骤1:当用户在SQL开发环境对应的文本编辑器中输入INSERT语句时,代码提示信息生成装置通过文本编辑器获取INSERT语句。
步骤2:代码提示信息生成装置通过文法规则识别器对INSERT语句对应的上下文无关法规则进行识别,将INSERT语句对应的上下文无关法则解析转换成一个有限状态机,其中,INSERT语句对应的上下文无关法规则,如图7所示。
步骤3:代码提示信息生成装置通过状态转换分析器根据所述有限状态机中的输入内容信息和所述有限状态机中的转换规则,生成INSERT语句对应的后续输入内容信息对应的后跟符号集合Follow(S)。
步骤4:代码提示信息生成装置获取Follow(S)。
步骤5:代码提示信息生成装置根据所述INSERT语句和所述Follow(S),生成与INSERT语句对应的后续输入内容信息的提示候选信息,如下所示:
template1=INSERT OVERWRITE DIRECTORY
template2=INSERT OVERWRITE LOCAL DIRECTORY
template3=INSERT OVERWRITE TABLE
tempalte4=INSERT INTO
template5=INSERT INTO TABLE。
步骤6:代码提示信息生成装置根据历史状态信息对上述提示候选信息和INSERT语句进行排序。
步骤7:代码提示信息生成装置将排序后的上述提示候选信息和INSERT语句确定为INSERT语句对应代码提示信息。
步骤8:输出INSERT语句对应代码提示信息,如图9所示。
步骤9:当用户从如图9所示的代码提示信息中选择INSERT INTO语句时,获取INSERT INTO语句并用INSERT INTO语句更新文本编辑器中的INSERT语句。
步骤10:将INSERT INTO语句保存到历史状态信息中。
本发明实施例提供的另一种代码提示信息的生成方法。首先,获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;根据与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。与目前首先把所有的语言要素的名称作为代码提示信息显示给程序开发人员,然后根据程序开发人员持续输入的内容进行代码提示信息的过滤相比,本发明实施例通过根据所述输入内容信息与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息,能够提升代码提示信息的精确度率,同时能够避免由于在代码提示信息中显示大量无用信息而造成的***资源的浪费。
进一步地,作为图1所示方法的具体实现,本发明实施例提供一种代码提示信息的生成装置,如图3所示,所述装置可以包括:获取单元31、生成单元32。
获取单元31,用于获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息。
所述获取单元31,还用于获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则。
生成单元32,用于根据与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。
需要说明的是,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
本发明实施例提供的一种代码提示信息的生成装置。首先,获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;根据与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。与目前首先把所有的语言要素的名称作为代码提示信息显示给程序开发人员,然后根据程序开发人员持续输入的内容进行代码提示信息的过滤相比,本发明实施例通过根据与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息,能够提升代码提示信息的精确度率,同时能够避免由于在代码提示信息中显示大量无用信息而造成的***资源的浪费。
进一步地,作为图2所示方法的具体实现,本发明实施例提供另一种代码提示信息的生成装置,如图4所示,所述装置可以包括:获取单元41、生成单元42。
获取单元41,用于获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息。
所述获取单元41,还用于获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则。
生成单元42,用于根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。
进一步地,所述装置还包括:输出单元43。
所述输出单元43,用于输出与所述输入内容信息对应的代码提示信息。
进一步地,所述装置还包括:检测单元44。
所述检测单元44,用于检测所述输入内容信息是否包含预置信息,其中,所述预置信息为特殊分割字符信息。
所述获取单元41,具体用于若所述输入内容信息包含预置信息,则执行所述获取与所述输入状态信息对应的预置文法规则。
进一步地,所述生成单元41包括:获取模块、生成模块、关联模块和生成模块。
获取模块,用于获取与所述预置文法规则对应的有限状态机,其中,所述有限状态机保存有不同语句信息之间的转换规则。
生成模块,用于根据所述输入内容信息和所述转换规则,生成所述输入内容信息对应的后续输入内容信息对应的后跟符号集合,其中,所述后跟符号集合包括所述转换规则的文法产生式集合、所述文法产生式对应的非终结符集合和所述文法产生式对应的起始终结符集合。
关联模块,用于将所述非终结符集合中的非终结符对应的文法展开式与所述起始终结符集合中的起始终结符的文法展开式进行关联。
生成模块,用于根据关联结果,生成与所述输入内容信息对应的代码提示信息。
所述关联模块,具体用于当所述非终结符对应的文法展开式与所述起始终结符的文法展开式相等时,将所述起始终结符的文法展开式确定为后续输入内容信息的提示候选信息。
所述生成模块,具体用于根据所述起始终结符和所述提示候选信息,确定为与所述输入内容信息对应的代码提示信息。
所述生成单元42还包括:确定模块。
所述获取模块,用于获取所述非终结符对应的起始终结符集合中的起始终结符对应的文法产生式。
所述确定模块,用于将所述文法产生式中的所有的非终结符循环展开直至消除所有的非终结符后的结果,确定为所述非终结符对应的文法展开式。
所述获取模块,还用于获取所述输入状态信息对应的历史输入状态信息。
所述排序模块,用于根据所述历史输入状态信息,对所述起始终结符和所述提示候选信息进行排序。
所述确定模块,用于将排序后的所述起始终结符和所述提示候选信息,确定为与所述输入内容信息对应的代码提示信息。
进一步地,所述装置还包括:接收单元45和更新单元46。
接收单元45,用于接收所述代码提示信息对应的信息选择指令,其中,所述信息选择指令用于指示从所述代码提示信息中选择信息。
更新单元46,用于根据所述信息更新所述输入内容信息。
进一步地,所述装置还包括:保存单元47。
保存单元,用于将所述信息保存到所述历史输入状态信息中。
需要说明的是,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
本发明实施例提供的另一种代码提示信息的生成装置。首先,获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;根据所述输入内容信息与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。与目前首先把所有的语言要素的名称作为代码提示信息显示给程序开发人员,然后根据程序开发人员持续输入的内容进行代码提示信息的过滤相比,本发明实施例通过根据与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息,能够提升代码提示信息的精确度率,同时能够避免由于在代码提示信息中显示大量无用信息而造成的***资源的浪费。
所述代码提示信息的显示装置包括处理器和存储器,上述获取单元、生成单元、输出单元、检测单元、更新单元、保存单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决在对图表中被选中的图形进行显示时存在显示卡顿的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:
获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;
获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;
根据所述输入内容信息与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的代码提示信息的显示方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (16)

1.一种代码提示信息的生成方法,其特征在于,包括:
获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;
获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;
根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息,具体包括:获取与所述预置文法规则对应的有限状态机,其中,所述有限状态机保存有不同语句信息之间的转换规则;根据所述输入内容信息和所述转换规则,生成所述输入内容信息对应的后续输入内容信息对应的后跟符号集合,其中,所述后跟符号集合包括所述转换规则的文法产生式集合、所述文法产生式对应的非终结符集合和所述文法产生式对应的起始终结符集合;将所述非终结符集合中的非终结符对应的文法展开式与所述起始终结符集合中的起始终结符的文法展开式进行关联;根据关联结果,生成与所述输入内容信息对应的代码提示信息。
2.根据权利要求1所述的方法,其特征在于,所述生成与所述输入内容信息对应的代码提示信息之后,所述方法还包括:
输出所述代码提示信息。
3.根据权利要求1所述的方法,其特征在于,所述获取与所述输入状态信息对应的预置文法规则之前,所述方法还包括:
检测所述输入内容信息是否包含预置信息,其中,所述预置信息为特殊分割字符信息;
若所述输入内容信息包含预置信息,则执行所述获取与所述输入状态信息对应的预置文法规则。
4.根据权利要求1所述的方法,其特征在于,所述将所述非终结符集合中的非终结符对应的文法展开式与所述起始终结符集合中的起始终结符的文法展开式进行关联包括:
当所述非终结符对应的文法展开式与所述起始终结符的文法展开式相等时,将所述起始终结符的文法展开式确定为后续输入内容信息的提示候选信息;
所述根据关联结果,生成与所述输入内容信息对应的代码提示信息包括:
根据所述起始终结符和所述提示候选信息,确定为与所述输入内容信息对应的代码提示信息。
5.根据权利要求1所述的方法,其特征在于,所述将所述非终结符集合中的非终结符对应的文法展开式与所述起始终结符集合中的起始终结符的文法展开式进行关联之前,所述方法还包括:
获取所述非终结符对应的起始终结符集合中的起始终结符对应的文法产生式;
将所述文法产生式中的所有的非终结符循环展开直至消除所有的非终结符后的结果,确定为所述非终结符对应的文法展开式。
6.根据权利要求4所述的方法,其特征在于,所述根据所述起始终结符和所述提示候选信息,确定为与所述输入内容信息对应的代码提示信息之前,所述方法还包括:
获取所述输入状态信息对应的历史输入状态信息;
根据所述历史输入状态信息,对所述起始终结符和所述提示候选信息进行排序;
所述将所述起始终结符和所述提示候选信息,确定为与所述输入内容信息对应的代码提示信息包括:
将排序后的所述起始终结符和所述提示候选信息,确定为与所述输入内容信息对应的代码提示信息。
7.根据权利要求2所述的方法,其特征在于,所述输出所述代码提示信息之后,所述方法还包括:
接收所述代码提示信息对应的信息选择指令,其中,所述信息选择指令用于指示从所述代码提示信息中选择信息;
根据所述信息更新所述输入内容信息。
8.根据权利要求7所述的方法,其特征在于,所述根据所述信息更新所述输入内容信息之后,所述方法还包括:
将所述信息保存到历史输入状态信息中。
9.一种代码提示信息的生成装置,其特征在于,包括:
获取单元,用于获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;
所述获取单元,还用于获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;
生成单元,用于根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息;
所述生成单元包括:
获取模块,用于获取与所述预置文法规则对应的有限状态机,其中,所述有限状态机保存有不同语句信息之间的转换规则;
生成模块,用于根据所述输入内容信息和所述转换规则,生成所述输入内容信息对应的后续输入内容信息对应的后跟符号集合,其中,所述后跟符号集合包括所述转换规则的文法产生式集合、所述文法产生式对应的非终结符集合和所述文法产生式对应的起始终结符集合;
关联模块,用于将所述非终结符集合中的非终结符对应的文法展开式与所述起始终结符集合中的起始终结符的文法展开式进行关联;
生成模块,用于根据关联结果,生成与所述输入内容信息对应的代码提示信息。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
输出单元,用于输出所述代码提示信息。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:检测单元,
所述检测单元,用于检测所述输入内容信息是否包含预置信息,其中,所述预置信息为特殊分割字符信息;
所述获取单元,具体用于若所述输入内容信息包含预置信息,则执行所述获取与所述输入状态信息对应的预置文法规则。
12.根据权利要求9所述的装置,其特征在于,
所述关联模块,具体用于当所述非终结符对应的文法展开式与所述起始终结符的文法展开式相等时,将所述起始终结符的文法展开式确定为后续输入内容信息的提示候选信息;
所述生成模块,具体用于根据所述起始终结符和所述提示候选信息,确定为与所述输入内容信息对应的代码提示信息。
13.根据权利要求9所述的装置,其特征在于,所述生成单元还包括:确定模块,
所述获取模块,用于获取所述非终结符对应的起始终结符集合中的起始终结符对应的文法产生式;
所述确定模块,用于将所述文法产生式中的所有的非终结符循环展开直至消除所有的非终结符后的结果,确定为所述非终结符对应的文法展开式。
14.根据权利要求12所述的装置,其特征在于,
所述获取模块,还用于获取所述输入状态信息对应的历史输入状态信息;
排序模块,用于根据所述历史输入状态信息,对所述起始终结符和所述提示候选信息进行排序;
确定模块,用于将排序后的所述起始终结符和所述提示候选信息,确定为与所述输入内容信息对应的代码提示信息。
15.根据权利要求10所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收所述代码提示信息对应的信息选择指令,其中,所述信息选择指令用于指示从所述代码提示信息中选择信息;
更新单元,用于根据所述信息更新所述输入内容信息。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
保存单元,用于将所述信息保存到历史输入状态信息中。
CN201610183039.0A 2016-03-28 2016-03-28 代码提示信息的生成方法及装置 Active CN107239264B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201610183039.0A CN107239264B (zh) 2016-03-28 2016-03-28 代码提示信息的生成方法及装置
TW106105606A TWI735541B (zh) 2016-03-28 2017-02-20 代碼提示資訊的產生方法及裝置
PCT/CN2017/077252 WO2017167045A1 (zh) 2016-03-28 2017-03-20 代码提示信息的生成方法及装置
EP17773075.1A EP3422181B1 (en) 2016-03-28 2017-03-20 Method and device for generating code assistance information
US16/143,988 US10678514B2 (en) 2016-03-28 2018-09-27 Method and device for generating code assistance information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610183039.0A CN107239264B (zh) 2016-03-28 2016-03-28 代码提示信息的生成方法及装置

Publications (2)

Publication Number Publication Date
CN107239264A CN107239264A (zh) 2017-10-10
CN107239264B true CN107239264B (zh) 2020-06-23

Family

ID=59963449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610183039.0A Active CN107239264B (zh) 2016-03-28 2016-03-28 代码提示信息的生成方法及装置

Country Status (5)

Country Link
US (1) US10678514B2 (zh)
EP (1) EP3422181B1 (zh)
CN (1) CN107239264B (zh)
TW (1) TWI735541B (zh)
WO (1) WO2017167045A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108008947B (zh) * 2017-12-25 2020-08-25 上海达梦数据库有限公司 一种编程语句的智能提示方法、装置、服务器及存储介质
CN111176629A (zh) * 2019-12-24 2020-05-19 中国建设银行股份有限公司 一种应用开发的方法和装置
CN111339378A (zh) * 2020-02-27 2020-06-26 广东安创信息科技开发有限公司 一种运维管理中的字符命令审计方法及***

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591470A (zh) * 2011-01-13 2012-07-18 百度在线网络技术(北京)有限公司 一种用于确定提示信息的方法、装置和计算机设备
CN102880468A (zh) * 2012-09-12 2013-01-16 浙江大学 一种用于ecu程序开发的代码智能提示方法及其***
WO2015105498A1 (en) * 2014-01-10 2015-07-16 Hewlett-Packard Development Company, L.P. Auto completion of source code constructs

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822592A (en) * 1994-06-28 1998-10-13 Us West Technologies, Inc. Method and system for determining source code location
US6026233A (en) * 1997-05-27 2000-02-15 Microsoft Corporation Method and apparatus for presenting and selecting options to modify a programming language statement
US6427230B1 (en) 1998-11-09 2002-07-30 Unisys Corporation System and method for defining and managing reusable groups software constructs within an object management system
US6427228B1 (en) 1999-05-12 2002-07-30 International Business Machines Corporation Combining a meta data file and java source code to dynamically create java classes and javabeans
US6714978B1 (en) 1999-12-04 2004-03-30 Worldcom, Inc. Method and system for processing records in a communications network
WO2001052090A2 (en) 2000-01-14 2001-07-19 Saba Software, Inc. Method and apparatus for a web content platform
US6675370B1 (en) 2000-02-02 2004-01-06 International Business Machines Corporation System and method for imbedding hyperlinked language grammar notation in a “literate” programming environment
US6941510B1 (en) 2000-06-06 2005-09-06 Groove Networks, Inc. Method and apparatus for efficient management of XML documents
US20030070159A1 (en) 2000-08-04 2003-04-10 Intrinsic Graphics, Inc. Object decription language
US20020049790A1 (en) 2000-08-08 2002-04-25 Ricker Jeffrey M Data interchange format transformation method and data dictionary used therefor
US7275079B2 (en) 2000-08-08 2007-09-25 International Business Machines Corporation Common application metamodel including C/C++ metamodel
US6957416B2 (en) 2001-01-31 2005-10-18 Hewlett-Packard Development Company, L.P. Document builder classes and methods
US6799718B2 (en) * 2001-07-10 2004-10-05 Borland Software Corp. Development assistance for mixed-language sources
US20030056195A1 (en) 2001-07-19 2003-03-20 Hunt Joseph R. Code generator
US7069547B2 (en) 2001-10-30 2006-06-27 International Business Machines Corporation Method, system, and program for utilizing impact analysis metadata of program statements in a development environment
US7058886B1 (en) 2001-12-18 2006-06-06 Open Invention Network Method and apparatus for declarative error handling and presentation
CA2479757A1 (en) 2002-03-25 2003-10-09 Data Quality Solutions, Inc. Method and system for enterprise business process management
US7275207B2 (en) 2002-03-28 2007-09-25 International Business Machines Corporation System and method in an electronic spreadsheet for displaying and/or hiding range of cells
US20030221184A1 (en) 2002-05-22 2003-11-27 Gunjal Atul Narayan Template-based application development system
US8418081B2 (en) 2002-12-18 2013-04-09 International Business Machines Corporation Optimizing display space with expandable and collapsible user interface controls
US20040187090A1 (en) 2003-03-21 2004-09-23 Meacham Randal P. Method and system for creating interactive software
US7526753B2 (en) * 2003-06-18 2009-04-28 Microsoft Corporation System and method for creating, managing and using code segments
US7562343B2 (en) * 2003-12-09 2009-07-14 International Business Machines Corporation User configurable language independent code assist engine method, system, article of manufacture, and computer program product
US7373634B2 (en) * 2003-12-09 2008-05-13 International Business Machines Corporation User configurable language independent code assist method, system, article of manufacture, and computer program product
US7313784B2 (en) * 2003-12-09 2007-12-25 International Business Machines Corporation Language independent code assist user preferences configuration method, system, article of manufacture, and computer program product
GB0425581D0 (en) * 2004-11-20 2004-12-22 Ibm Data processing system and method
US20070083855A1 (en) * 2005-10-06 2007-04-12 Patel Sushma B Method and apparatus to enhance context for specific instances of output text in source files
TW201314548A (zh) * 2011-09-16 2013-04-01 Tatung Co 產生程式框架檔的方法
CN102520966B (zh) * 2011-12-28 2014-03-19 东软集团股份有限公司 一种代码提示方法和装置
US9201856B2 (en) * 2012-12-17 2015-12-01 Amadeus S.A.S. Recommendation engine for interactive search forms
CN104050183A (zh) * 2013-03-13 2014-09-17 腾讯科技(深圳)有限公司 浏览器输入框的内容匹配结果提示方法及装置
CN103294468B (zh) * 2013-05-23 2017-11-03 山西大学 一种数据输入项的数据提示及数据输入的编程方法
US9740462B2 (en) * 2014-08-27 2017-08-22 Sap Se Adaptive, context-aware, model-based suggestions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591470A (zh) * 2011-01-13 2012-07-18 百度在线网络技术(北京)有限公司 一种用于确定提示信息的方法、装置和计算机设备
CN102880468A (zh) * 2012-09-12 2013-01-16 浙江大学 一种用于ecu程序开发的代码智能提示方法及其***
WO2015105498A1 (en) * 2014-01-10 2015-07-16 Hewlett-Packard Development Company, L.P. Auto completion of source code constructs

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Supporting developers with natural language queries;Gerald Reif.etc;《International Conference on Software Engineering》;20100501;165-174 *

Also Published As

Publication number Publication date
TW201734848A (zh) 2017-10-01
EP3422181A4 (en) 2019-12-04
TWI735541B (zh) 2021-08-11
EP3422181A1 (en) 2019-01-02
WO2017167045A1 (zh) 2017-10-05
CN107239264A (zh) 2017-10-10
US20190026081A1 (en) 2019-01-24
EP3422181B1 (en) 2020-09-23
US10678514B2 (en) 2020-06-09

Similar Documents

Publication Publication Date Title
EP3740863B1 (en) Code suggestion based on machine learning
CN106919434B (zh) 一种代码生成方法及装置
US9767092B2 (en) Information extraction in a natural language understanding system
CN110502227B (zh) 代码补全的方法及装置、存储介质、电子设备
CN109491658A (zh) 计算机可执行代码数据的生成方法及装置
CN109104327B (zh) 一种业务日志生成方法、装置及设备
US20110145799A1 (en) Path-sensitive dataflow analysis including path refinement
CN107515739B (zh) 提高代码执行性能的方法及装置
CN107239264B (zh) 代码提示信息的生成方法及装置
CN111488155B (zh) 着色语言翻译方法
TWI713015B (zh) 語言識別方法及裝置
CN109885821B (zh) 基于人工智能的文章撰写方法及装置、计算机存储介质
CN108846069B (zh) 一种基于标记语言的文档执行方法及装置
US20150347094A1 (en) Interactive learning tool using playground
CN112286814A (zh) 一种测试用例脚本的自动化生成***及方法
CN112860264B (zh) 一种抽象语法树重构方法及装置
CN109492086B (zh) 一种答案输出方法、装置、电子设备及存储介质
CN109491919B (zh) 一种软件测试方法及测试平台
CN116560631A (zh) 一种机器学习模型代码的生成方法及装置
CN113053415B (zh) 一种连读的检测方法、装置、设备及存储介质
CN114201375A (zh) 一种在硬件环境上获取代码指令消耗的方法及装置
CN107679040B (zh) 自然语言处理设备以及文法规则侦错方法
CN111381814A (zh) 生成代码文件的语法树的方法、装置及电子设备
US9910647B2 (en) Field size calculation and color coding display options usable in an emulated integrated development environment (IDE)
CN111381827A (zh) 生成代码文件的语法树的方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant