代码提示信息的生成方法及装置与流程

文档序号:11215918阅读:480来源:国知局
本发明涉及信息
技术领域
:,尤其涉及一种代码提示信息生成方法及装置。
背景技术
::近年来,集成开发环境(integrateddevelopmentenvironment,ide)已经成为程序设计和开发的主流工具,随着程序设计语言复杂度的不断提高,ide中的代码提示功能的应用也越来越广泛,其中,程序开发人员可以根据代码提示信息进行后续输入,代码提示功能能够减轻程序开发人员记忆语法规则以及语言要素的名称的负担、降低程序开发人员输入的字符量和出错率,提升程序开发的效率。目前,在进行代码提示时,首先把所有的语言要素的名称作为代码提示信息显示给程序开发人员,然后根据程序开发人员持续输入的内容进行代码提示信息的过滤。然而,由于代码提示信息中大部分的信息不是程序开发人员需要的,例如,在结构化查询语言(structuredquerylanguage,sql)中,程序开发人员输入insert语句,现有代码提示信息的显示界面示意图,如图5所示,当程序开发人员持续输入in时,现有过滤后的代码提示信息的显示界面示意图,如图6所示,在图5和图6中的信息不是程序开发人员需要的,程序开发人员在实际的开发过程中几乎不会选择这些信息,显示这些信息会给程序开发人员造成干扰,导致生成的代码提示信息的精确度较低,同时显示这些不必要的代码提示信息会造成系统资源的浪费。技术实现要素:有鉴于此,本发明实施例提供一种代码提示信息的生成方法及装置,主要目的是解决生成的代码提示信息的精确度较低的技术问题。与此同时,本发明实施例还提供一种代码提示信息的生成方法及装置, 主要目的是解决由于显示的代码提示信息中存在大量无用信息,造成显示代码提示信息时存在系统资源浪费的问题。为达到上述目的,本发明提供如下技术方案:一方面,本发明提供一种代码提示信息的显示方法,包括:接收当前程序开发过程中通过操作界面获取的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息并进行输出。另一方面,本发明提供一种代码提示信息的显示装置,包括:获取单元,用于获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;所述获取单元,还用于获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;生成单元,用于根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:本发明实施例提供的一种代码提示信息的生成方法及装置。首先,获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。与目前首先把所有的语言要素的名称作为代码提示信息显示给程序开发人员,然后根据程序开发人员持续输入的内容进行代码提示信息的过滤相比,本发明实施例通过根据所述输入内容信息和与所述输入状态信息对 应的预置文法规则,生成与所述输入内容信息对应的代码提示信息,能够提升代码提示信息的精确度率,同时能够避免由于在代码提示信息中显示大量无用信息而造成的系统资源的浪费。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本发明实施例提供的一种代码提示信息的生成方法的流程图;图2示出了本发明实施例提供的另一种代码提示信息的生成方法的流程图;图3示出了本发明实施例提供的一种代码提示信息的生成装置的结构示意图;图4示出了本发明实施例提供的另一种代码提示信息的生成装置的结构示意图;图5示出了现有代码提示信息的显示界面示意图;图6示出了现有过滤后的代码提示信息的显示界面示意图;图7示出了本发明实施例代码提示信息的显示界面示意图;图8示出了本发明实施例提供的程序开发过程中代码提示的方法流程图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开 而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。本发明实施例提供的一种代码提示信息的生成方法,如图1所示,所述方法包括:101、获取当前程序开发过程对应的输入状态信息。其中,所述输入状态信息包括输入内容信息和输入语言环境信息。所述输入内容信息可以包括输入的语句信息和光标位置信息,如输入的语句信息为insert。所述输入语言环境信息可以为程序开发过程中所使用的程序设计语言,如结构化查询语言(structuredquerylanguage,sql)、c语言等。程序设计语言一般是上下文无关文法定义的,所述上下文无关文法是形式语言理论中一种重要的变换文法,用来描述上下文无关语言,即程序设计语言中某一语句信息或者语句信息是否出现在特定位置上不依赖于上下文。对于本发明实施例,用户通常在集成开发环境对应的文本编辑器中输入语句信息进行程序开发,因此,程序开发过程对应的输入状态信息为通过文本编辑器获取的输入状态信息,步骤101具体可以为:获取当前集成开发环境对应的文本编辑器中的输入状态信息。102、获取与输入状态信息对应的预置文法规则。其中,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则。所述预置文法规则可以为上下文无关文法规则。由于相同语句信息的不同语言对应的上下文无关文法规则不同,如语句信息为赋值语句,在java语言和c语言中赋值语句对应的上下文无关文法规则不同;相同语言的不同语句信息对应的上下文无关文法规则不同,如insert语句在sql语言中存在对应的上下文无关文法规则,但是在c语言中不存在对应的上下文无关文法规则。因此在程序开发过程中不同输入状态信息对应不同的上下文无关文法规则。103、根据输入内容信息与输入状态信息对应的预置文法规则,生成与 输入内容信息对应的代码提示信息。其中,与所述输入内容信息对应的代码提示信息可以为与所述输入内容信息相关的代码提示信息。所述代码提示信息用于对用户后续输入的内容进行提示,通过代码提示信息可以提升代码编写速度和减少拼写和语法错误,从而提升程序开发的效率。对于本发明实施例,具体可以根据预置文法规则中保存的不同语句信息之间的关联关系和所述输入内容信息,推导出与所述输入内容信息相关的内容信息,然后将与所述输入内容信息相关的内容信息确定为所述输入内容信息相关的代码提示信息。例如,当前的输入语言环境为sql语言,当前的输入内容信息为“insert”,则根据insert在sql语言中的上下文无关文法规则,生成与“insert”相关的内容信息,如“insertoverwritedirectory”、“insertoverwritelocaldirectory”等,然后将与“insert”相关的内容信息确定为与“insert”对应的代码提示信息。其中,insert在sql语言中的上下文无关文法规则中保存有“insert”与“insertoverwritedirectory”、“insertoverwritelocaldirectory”等语句信息之间的关联关系。本发明实施例通过根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息相关的内容信息,然后将与所述输入内容信息相关的内容信息确定为所述输入内容信息对应的代码提示信息,能够提升代码提示信息显示的精确度,同时能够避免由于在代码提示信息中显示大量无用信息而造成的系统资源的浪费。本发明实施例提供的一种代码提示信息的生成方法。首先,获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;根据与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。与目前首先把所有的语言要素的名称作为代码提示信息显示给程序开发人员,然后根据程序开发人 员持续输入的内容进行代码提示信息的过滤相比,本发明实施例通过根据所述输入内容信息和与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息,能够提升代码提示信息的精确度率,同时能够避免由于在代码提示信息中显示大量无用信息而造成的系统资源的浪费。本发明实施例提供的另一种代码提示信息的生成方法,如图2所示,所述方法包括:201、获取当前程序开发过程对应的输入状态信息。其中,所述输入状态信息包括输入内容信息和输入语言环境信息。所述输入内容信息和所述输入语言环境信息的相应描述可以参照图1所述实施例的对应描述,在此不再赘述。202、检测输入内容信息是否包含预置信息。其中,所述预置信息可以为特殊分割字符信息,如“,”、“(”等,也可以为触发字符,在此不进行限定。203、若输入内容信息包含预置信息,则执行获取与输入状态信息对应的预置文法规则。其中,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则。所述预置文法规则可以为上下文无关文法规则。所述上下文无关文法规则的相应描述可以参照图1所述实施例的对应描述,在此不再赘述。204、获取与预置文法规则对应的有限状态机。其中,所述有限状态机保存有不同语句信息之间的转换规则。所述有限状态机是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。对于本发明实施例,在步骤204之前,所述方法还可以包括:将所述预置文法规则解析转换成一个有限状态机,具体可以通过文法规则识别器将所述预置文法规则解析转换成一个有限状态机,所述文法规则识别器具体可以为开源语法分析器(antlr-anothertoolforlanguagerecognition,antlr),生成编译器的编译器(yetanothercompilercompiler,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_insertkw_overwritedestinationifnotexists?},{kw_insertkw_intokw_table?tableorpartition(lparencolumnnamelistrparen)?}}206、将非终结符集合中的非终结符对应的文法展开式与起始终结符集合中的起始终结符的文法展开式进行关联。其中,非终结符对应的文法展开式是表示非终结符对应的文法产生式 展开为终结符序列的结果。对于本发明实施例,步骤206具体可以为:当所述非终结符对应的文法展开式与所述起始终结符的文法展开式相等时,将所述起始终结符的文法展开式确定为后续输入内容信息的提示候选信息。需要说明的是,在步骤206之前,所述方法还可以包括:获取所述非终结符对应的起始终结符集合中的起始终结符对应的文法产生式;将所述文法产生式中的所有的非终结符循环展开直至消除所有的非终结符后的结果,确定为所述非终结符对应的文法展开式。在此记所述非终结符对应的文法展开式为template(n),为了说明获取template(n)的过程,在此根据insert进行举例,如下所示,其中,insertclause为非终结符,insertclause对应的文法产生式为rule1、rule2:insertclause:rule1|rule2;rule1={kw_insertkw_overwritedestinationifnotexists?};rule2={kw_insertkw_intokw_table?tableorpartition(lparencolumnnamelistrparen)?};在rule1中的非终结符为destination、由于在sql语言中destination应的文法产生式为rule3、rule4:destination:rule3|rule4;rule3={(kw_local)?kw_directorystringliteraltablerowformat?tablefileformat?};rule4={kw_tabletableorpartition};ifnotexists,stringliteral,tablerowformat,tablefileformat等文法产生式的定义,不进行详细的描述,但是不影响说明生成template(n)的过程。非终结符destination的起始终结符first集合={directory、localdirectory、table};所述非终结符destination的first集中的起始终结符directory、localdirectory对应的文法产生式均为rule3,展开后为directory、localdirectory,所述非终结符destination的first集中的起始终结符table的文法产生式均为rule4,展开式为table;非终结符insertclause的first集合={insert};由于非终结符insertclause对应的first集合中的起始终结符为insert且所述e(s)相等,insert对应的文法产生式为rule1、rule2,将rule1中的非终结符destination循环展开直至消除所有的非终结符后的结果为:template1=insertoverwritedirectorytemplate2=insertoverwritelocaldirectorytemplate3=insertoverwritetable将rule2中的非终结符destination循环展开直至消除所有的非终结符后的结果为:tempalte4=insertintotemplate5=insertintotable因此,得到的如下文法展开式即为后续输入内容信息的提示候选信息:template1=insertoverwritedirectorytemplate2=insertoverwritelocaldirectorytemplate3=insertoverwritetabletempalte4=insertintotemplate5=insertintotable。207、根据关联结果,生成与输入内容信息对应的代码提示信息。对于本发明实施例,步骤207具体可以为:根据所述起始终结符和所述提示候选信息,确定为与所述输入内容信息对应的代码提示信息。进一步地,在根据所述起始终结符和所述提示候选信息,确定为与所述输入内容信息对应的代码提示信息之前,所述方法还可以包括:获取所述输入状态信息对应的历史输入状态信息,根据所述历史输入状态信息,对所述起始终结符和所述提示候选信息进行排序。具体地,可以根据所述提示候选信息和起始终结符在历史输入状态信息中出现的次数或者优先级进行排序,在此不进行限定。例如,得到的所述提示候选信息为:template1=insertoverwritedirectorytemplate2=insertoverwritelocaldirectorytemplate3=insertoverwritetabletempalte4=insertintotemplate5=insertintotable。可以对上述提示候选信息和起始终结符insert进行排序,排序后的顺序为:insertinsertintoinsertintotableinsertintooverwritetableinsertintooverwritedirectoryinsertintooverwritelocaldirectory即为与所述insert对应的代码提示信息。208、输出与输入内容信息对应的代码提示信息。对于本发明实施例,步骤208具体可以为:将与输入内容信息对应的代码提示信息发送给当前集成开发环境对应的文本编辑器,然后由所述文本编辑器显示与输入内容信息对应的代码提示信息。例如,生成与“insert”对应的代码提示信息如下:insertinsertintoinsertintotableinsertintooverwritetableinsertintooverwritedirectoryinsertintooverwritelocaldirectory所述代码提示信息的显示界面示意图,如图7所示,代码提示信息的显示界面可以为文本编辑器的显示界面。对于本发明实施例,在步骤208之后,所述方法还可以包括:接收所述代码提示信息对应的信息选择指令,其中,所述信息选择指令用于指示从所述代码提示信息中选择信息;根据所述信息更新所述输入内容信息。例如,程序开发人员根据所述信息选择指令选择的信息为:insertintotable,则可以用insertintotable更新当前输入内容信息insert。进一步地,在所述根据所述信息更新所述输入内容信息之后,所述方法还可以包括:将所述信息保存到所述历史输入状态信息中。通过将所述信息保存到所述历史输入状态信息可以方便后续对所述起始终结符和所述提示候选信息进行排序。对于本发明实施例,具体的应用场景可以如下所示,但不限于此,包括:程序开发过程中代码提示的方法,如图8所示:步骤1:当用户在sql开发环境对应的文本编辑器中输入insert语句时,代码提示信息生成装置通过文本编辑器获取insert语句。步骤2:代码提示信息生成装置通过文法规则识别器对insert语句对应的上下文无关法规则进行识别,将insert语句对应的上下文无关法则解析转换成一个有限状态机,其中,insert语句对应的上下文无关法规则,如图7所示。步骤3:代码提示信息生成装置通过状态转换分析器根据所述有限状态机中的输入内容信息和所述有限状态机中的转换规则,生成insert语句对应的后续输入内容信息对应的后跟符号集合follow(s)。步骤4:代码提示信息生成装置获取follow(s)。步骤5:代码提示信息生成装置根据所述insert语句和所述follow(s),生成与insert语句对应的后续输入内容信息的提示候选信息,如下所示:template1=insertoverwritedirectorytemplate2=insertoverwritelocaldirectorytemplate3=insertoverwritetabletempalte4=insertintotemplate5=insertintotable。步骤6:代码提示信息生成装置根据历史状态信息对上述提示候选信息和insert语句进行排序。步骤7:代码提示信息生成装置将排序后的上述提示候选信息和insert语句确定为insert语句对应代码提示信息。步骤8:输出insert语句对应代码提示信息,如图9所示。步骤9:当用户从如图9所示的代码提示信息中选择insertinto语句时,获取insertinto语句并用insertinto语句更新文本编辑器中的insert语句。步骤10:将insertinto语句保存到历史状态信息中。本发明实施例提供的另一种代码提示信息的生成方法。首先,获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;根据与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。与目前首先把所有的语言要素的名称作为代码提示信息显示给程序开发人员,然后根据程序开发人员持续输入的内容进行代码提示信息的过滤相比,本发明实施例通过根据所述输入内容信息与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息,能够提升代码提示信息的精确度率,同时能够避免由于在代码提示信息中显示大量无用信息而造成的系统资源的浪费。进一步地,作为图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)或闪存(flashram),存储器包括至少一个存储芯片。本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取当前程序开发过程对应的输入状态信息,所述输入状态信息包括输入内容信息和输入语言环境信息;获取与所述输入状态信息对应的预置文法规则,所述预置文法规则保存有不同语句信息之间的关联关系,不同输入状态信息对应不同的预置文法规则;根据所述输入内容信息与所述输入状态信息对应的预置文法规则,生成与所述输入内容信息对应的代码提示信息。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的代码提示信息的显示方法、装置、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存 储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1