字符推荐方法、装置及存储介质制造方法及图纸

技术编号:27058595 阅读:8 留言:0更新日期:2021-01-15 14:37
本发明专利技术公开了一种字符推荐方法、装置及存储介质,方法包括:将代码输入界面中已输入的代码转换为语法树,语法树包括多个节点、多个节点之间的层级关系及多个节点的位置区间;根据代码输入界面中光标的位置和语法树,确定光标的位置在语法树中对应的至少一个参考节点;对至少一个参考节点进行分析,根据分析结果确定待推荐的目标字符;在代码输入界面中,推荐目标字符,通过根据当前已输入的代码推荐后续要输入的目标字符,无需开发人员自行输入字符,尤其是开发人员需要切换字符类型时无需切换键盘界面,方便开发人员编写代码,简化了操作,节省了输入时间,提高了输入效率。

【技术实现步骤摘要】
字符推荐方法、装置及存储介质
本专利技术涉及计算机
,特别涉及一种字符推荐方法、装置及存储介质。
技术介绍
计算机设备通常基于代码运行,通过运行代码实现该代码对应的功能。而代码的开发需要由开发人员通过终端实现,开发人员在终端中输入字符,将输入的字符构成代码。目前的终端通常会配置触摸屏幕,开发人员通过该终端在触摸屏幕上提供的虚拟键盘来输入字符。而由于触摸屏幕的尺寸有限,虚拟键盘的尺寸也受到限制,因此需要在该虚拟键盘中设置多个键盘界面,在不同键盘界面中显示不同类型的字符,该字符的类型可以包括英文字母、数字、操作符等。开发人员编写代码的过程中需要切换字符类型时,需要先切换虚拟键盘的键盘界面,才能通过切换后的键盘界面输入相应类型的字符,操作繁琐,耗费的时间长,输入效率低下。
技术实现思路
本专利技术实施例提供了一种字符推荐方法、装置及存储介质,能够简化操作,节省输入时间,提高输入效率。所述技术方案如下:一方面,提供了一种字符推荐方法,所述方法包括:将代码输入界面中已输入的代码转换为语法树,所述语法树包括多个节点、所述多个节点之间的层级关系及所述多个节点的位置区间,所述多个节点与所述多个节点之间的层级关系用于表示所述代码的语法结构,所述节点的位置区间用于表示所述节点对应的字符集合在所述代码输入界面中的位置区间;根据所述代码输入界面中光标的位置和所述语法树,确定所述光标的位置在所述语法树中对应的至少一个参考节点;对所述至少一个参考节点进行分析,根据分析结果确定待推荐的目标字符;在所述代码输入界面中,推荐所述目标字符。另一方面,提供了一种字符推荐装置,所述装置包括:转换模块,用于将代码输入界面中已输入的代码转换为语法树,所述语法树包括多个节点、所述多个节点之间的层级关系及所述多个节点的位置区间,所述多个节点与所述多个节点之间的层级关系用于表示所述代码的语法结构,所述节点的位置区间用于表示所述节点对应的字符集合在所述代码输入界面中的位置区间;节点确定模块,用于根据所述代码输入界面中光标的位置和所述语法树,确定所述光标的位置在所述语法树中对应的至少一个参考节点;字符确定模块,用于对所述至少一个参考节点进行分析,根据分析结果确定待推荐的目标字符;推荐模块,用于在所述代码输入界面中,推荐所述目标字符。另一方面,提供了一种字符推荐装置,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由所述处理器加载并执行以实现如所述字符推荐方法中所执行的操作。另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由处理器加载并执行以实现如所述字符推荐方法中所执行的操作。本专利技术实施例提供的字符推荐方法、装置及存储介质,通过将代码输入界面中已输入的代码转换为语法树,根据该代码输入界面中光标的位置和语法树,确定光标的位置在语法树中对应的至少一个参考节点,对该至少一个参考节点进行分析,根据分析结果确定待推荐的目标字符,在代码输入界面中推荐目标字符。通过根据当前已输入的代码推荐后续要输入的目标字符,无需开发人员自行输入字符,尤其是开发人员需要切换字符类型时无需切换键盘界面,方便开发人员编写代码,简化了操作,节省了输入时间,提高了输入效率。并且,本专利技术实施例提供的方法,既可以为开发人员推荐操作符,还可以在开发人员输入起始字符时,自动实现字符的自动补齐,简化了操作,节省了输入时间,提高了输入效率。并且,本专利技术实施例通过将确定的目标字符显示在字符推荐窗口,检测到对目标字符的选择操作时,将选择的目标字符添加至光标的位置,开发人员可以直接从字符推荐窗口中选择目标字符,无需通过切换键盘界面以输入目标字符,简化了操作,节省了输入时间,提高了输入效率。并且,本专利技术实施例还可以直接将目标字符输入至光标的位置,开发人员仅需检测输入的目标字符是否正确即可,简化了开发人员输入目标字符的操作,节省了输入时间,提高了输入效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种语法树的结构示意图;图2是本专利技术实施例提供的一种实施环境示意图;图3是本专利技术实施例提供的一种字符推荐方法的流程图;图4是本专利技术实施例提供的一种字符推荐方法的流程图;图5是本专利技术实施例提供的一种字符推荐窗口的示意图;图6是本专利技术实施例提供的一种字符推荐装置的结构示意图;图7是本专利技术实施例提供的另一种字符推荐装置的结构示意图;图8是本专利技术实施例提供的一种终端的结构示意图;图9是本专利技术实施例提供的一种服务器的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。在对本专利技术实施例进行详细地解释说明之前,先对本专利技术实施例涉及的一些名词进行解释说明:1、语法树:语法树可通过树状的表现形式将代码的语法结构表示出来,该语法树中包括多个节点、该多个节点之间的层级关系和该多个节点的位置区间,通过该多个节点的层级关系即可确定代码的语法结构,通过该多个节点的位置区间来表示节点对应的字符集合在代码输入界面中的位置区间。例如,代码如下所示:vara=1;varb=a+1;该代码可以转换为如图1所示的语法树,语法树中的根节点为脚本节点(script),脚本节点的下一层节点为源代码节点(sourceType),源代码节点的下一层节点为程序节点(program)。该程序节点的下一层包括两个分支,分别代表代码中的两条指令。针对第一个分支:该程序节点的下一层中的第一个节点为变量声明节点(VariableDeclaration),变量声明节点对应一个类节点(kind),该类节点对应的类为“var”,该变量声明节点的下一层中的节点为变量声明符节点(VariableDeclarator)。该变量声明符节点的下一层中的第一个节点为标识符节点(Identifier),该标识符节点的下一层中的节点为名称节点(name),该名称节点对应的字符集合为“a”。该变量声明符节点的下一层中的第二个节点为字面值节点(Literal),该字面值节点(Literal)的下一层中包括数值节点(value)和字符串节点(raw),字面值节点对应的数值为“1”,字面值节点对应的字符串为“1”。语法树中的第一个分支代表一条变量声明指令,该变量声明指令采用的类为“var”,且变量声明符包括一个标识符和一个字面值,本文档来自技高网...

【技术保护点】
1.一种字符推荐方法,其特征在于,所述方法包括:/n将代码输入界面中已输入的代码转换为语法树,所述语法树包括多个节点、所述多个节点之间的层级关系及所述多个节点的位置区间,所述多个节点与所述多个节点之间的层级关系用于表示所述代码的语法结构,所述节点的位置区间用于表示所述节点对应的字符集合在所述代码输入界面中的位置区间;/n根据所述代码输入界面中光标的位置和所述语法树,确定所述光标的位置在所述语法树中对应的至少一个参考节点;/n对所述至少一个参考节点进行分析,根据分析结果确定待推荐的目标字符;/n在所述代码输入界面中,推荐所述目标字符。/n

【技术特征摘要】
1.一种字符推荐方法,其特征在于,所述方法包括:
将代码输入界面中已输入的代码转换为语法树,所述语法树包括多个节点、所述多个节点之间的层级关系及所述多个节点的位置区间,所述多个节点与所述多个节点之间的层级关系用于表示所述代码的语法结构,所述节点的位置区间用于表示所述节点对应的字符集合在所述代码输入界面中的位置区间;
根据所述代码输入界面中光标的位置和所述语法树,确定所述光标的位置在所述语法树中对应的至少一个参考节点;
对所述至少一个参考节点进行分析,根据分析结果确定待推荐的目标字符;
在所述代码输入界面中,推荐所述目标字符。


2.根据权利要求1所述的方法,其特征在于,所述在所述代码输入界面中,推荐所述目标字符,包括:
当根据所述分析结果确定待推荐的多个目标字符时,在所述代码输入界面中生成字符推荐窗口,在所述字符推荐窗口中显示所述多个目标字符。


3.根据权利要求2所述的方法,其特征在于,所述在所述字符推荐窗口中显示所述多个目标字符之后,所述方法还包括:
当检测到对所述多个目标字符中的第一目标字符的选择操作时,将选择的所述第一目标字符输入至所述光标的位置。


4.根据权利要求1所述的方法,其特征在于,所述在所述代码输入界面中,推荐所述目标字符,包括:
当根据所述分析结果确定待推荐的一个目标字符时,将所述一个目标字符输入至所述光标的位置。


5.根据权利要求1所述的方法,其特征在于,所述在所述代码输入界面中,推荐所述目标字符,包括:
当根据所述分析结果确定待推荐的多个目标字符时,将所述多个目标字符中的第二目标字符输入至所述光标的位置;
在所述代码输入界面中生成字符推荐窗口,在所述字符推荐窗口中显示除所述第二目标字符之外的其他目标字符。


6.根据权利要求5所述的方法,其特征在于,所述在所述字符推荐窗口中显示除所述第二目标字符之外的其他目标字符之后,所述方法还包括:
当检测到对所述字符推荐窗口中的第三目标字符的选择操作时,将所述第三目标字符替换所述第二目标字符。


7.根据权利要求1所述的方法,其特征在于,所述根据所述代码输入界面中光标的位置和所述语法树,确定所述光标的位置在所述语法树中对应的至少一个参考节点,包括:
遍历所述语法树中的节点;
如果所述光标的位置属于当前遍历到的节点的位置区间,则将所述节点确定为参考节点。


8.根据权利要求1所述的方法,其特征在于,所述对所述至少一个参考节点进行分析,根据分析结果确定待推荐的目标字符,包括:
确定所述至少一个参考节点中的预设操作节点及所述预设操作节点对应的操作类型,所述预设操作节点是指对应的字符集合包括操作符的节点;
从操作符数据库中获取属于所述操作类型的操作符,作为目标字符,所述操作符数据库用于存储属于至...

【专利技术属性】
技术研发人员:朱仕达宿海成蔡雨利郭沛然刘历
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1