掌桥专利:专业的专利平台
掌桥专利
首页

代码标注方法、设备及计算机可读存储介质

文献发布时间:2024-07-23 01:35:21


代码标注方法、设备及计算机可读存储介质

技术领域

本申请涉及文本处理技术领域,尤其涉及代码标注方法、设备及计算机可读存储介质。

背景技术

在数控系统中,通常需要对人机界面中数控程序的关键词进行高亮标注,以便操作人员可以快速获取数控程序中的关键信息。在目前的标注方式中,通常利用现有的文本模块QTextPlainEdit(一种文本编辑器名称,简称QT)结合其自身的语法高亮模块来进行。然而,该高亮模块仅支持对编程语言规定的内置关键词进行高亮,无法根据人为的标注需求进行更改,如果需要高亮的关键词种类很多,以上方式则难以满足用户的需求。

上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。

发明内容

本申请的主要目的在于提供一种代码标注方法、设备及计算机可读存储介质,旨在解决目前高亮模块仅支持对编程语言规定的内置关键词进行高亮,无法根据人为的标注需求进行更改,如果需要高亮的关键词种类很多,以上方式则难以满足用户的需求的技术问题。

为实现上述目的,本申请提出一种代码标注方法,所述的方法包括:

获取用户输入的待标注关键词的标注需求,并根据所述标注需求生成标注规则;

根据所述标注规则,更新词法器的词法器逻辑;

在检测到程序文本的标注进程被触发时,判定所述程序文本是否符合所述词法器逻辑;

在所述程序文本中的关键词符合所述词法器逻辑时,将所述关键词进行高亮标注。

在一实施例中,所述获取用户输入的待标注关键词的标注需求,并根据所述标注需求生成标注规则的步骤包括:

基于输入界面接收到的所述用户的输入内容,获取所述待标注关键词的标注需求;

根据所述标注需求,确定所述待标注关键词对应的代码类别和参数;

确定所述代码类别对应的字符标识以及所述参数对应的数值范围;

根据所述字符标识和所述数值范围,生成所述标注规则。

在一实施例中,所述根据所述标注规则,更新词法器的词法器逻辑的步骤包括:

根据所述标注规则,确定词法单元的识别逻辑;

根据所述词法单元的识别逻辑,生成对应的规则表达式;

基于所述标注需求,确定标注分组和标注颜色;

根据所述规则表达式、所述标注分组和所述标注颜色,更新词法器规则文件中的词法器逻辑。

在一实施例中,所述判定所述程序文本是否符合所述词法器逻辑的步骤包括:

扫描所述程序文本,识别所述程序文本中的关键字、标识符和/或常量;

将所述关键字、所述标识符和/或常量转换为词法单元;

基于所述词法器逻辑校验所述词法单元的逻辑结构,并判定所述词法单元是否符合所述词法器逻辑。

在一实施例中,所述在所述程序文本中的关键词符合所述词法器逻辑时,将所述关键词进行高亮标注的步骤包括:

基于词法器识别所述关键词对应的词法类型;

根据所述词法类型确定对应的标注参数,对所述关键词进行高亮标注。

在一实施例中,所述将所述关键词进行高亮标注的步骤之前,还包括:

基于所述词法器,识别所述程序文本中的字符序列;

根据识别到的所述字符序列,定义所述字符序列的识别状态;

在所述识别状态为结束状态时,根据识别到的词法单元确定所述程序文本中的关键词。

在一实施例中,所述将所述关键词进行高亮标注的步骤之前,还包括:

在所述词法器无法识别出所述程序文本中的字符时,确定异常字符;

基于所述异常字符,确定错误信息并输出异常提示;

在所述词法器无法进行状态转换时,根据错误类型,输出对应的错误状态码。

在一实施例中,所述判定所述程序文本是否符合所述词法器逻辑的步骤之前,还包括:

根据所述程序文本的关键词,定义函数名和识别状态;

基于所述关键词的标注需求,设定标注参数。

此外,为实现上述目的,本申请还提出一种代码标注设备,所述代码标注设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的代码标注方法的步骤。

此外,为实现上述目的,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的代码标注方法的步骤。

本发明实施例提供一种代码标注方法,用户输入对于待标注关键词的标注需求,在获取到用户输入的标注需求时,根据标注需求生成标注规则,基于标注规则更新词法器逻辑,在检测到程序文本的标注进程被触发时,修改后的词法器会基于更新后的词法器逻辑对程序文本进行判定,在程序文本中的关键词符合词法器逻辑时,就将关键词进行高亮标注。通过以上步骤,能够实现用户自定义需要标注的关键词,并对关键词进行高亮标注,更能贴合更加复杂的标注场景。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请代码标注方法第一实施例提供的流程示意图;

图2为本申请代码标注方法第一实施例中步骤S20的细化流程示意图;

图3为本申请代码标注方法实施例二提供的流程示意图;

图4为本申请代码标注方法第一实施例整体执行流程示意图;

图5为本申请实施例中代码标注方法涉及的硬件运行环境的设备结构示意图。

本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本申请的技术方案,并不用于限定本申请。

为了更好的理解本申请的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。

本申请实施例的主要解决方案是:获取用户输入的待标注关键词的标注需求,并根据所述标注需求生成标注规则;根据所述标注规则,更新词法器的词法器逻辑;在检测到程序文本的标注进程被触发时,判定所述程序文本是否符合所述词法器逻辑;在所述程序文本中的关键词符合所述词法器逻辑时,将所述关键词进行高亮标注。

在数控系统中,通常需要对人机界面中数控程序的关键词进行高亮标注,以便程序员可以快速浏览和理解程序的逻辑结构。在目前的标注方式中,通常利用现有的文本模块QTextPlainEdit(一种文本编辑器名称,简称QT)结合其自身的语法高亮模块来进行。然而,该高亮模块仅支持对编程语言规定的内置关键词进行高亮,无法根据人为的标注需求进行更改,如果需要高亮的关键词种类很多,以上方式则难以满足用户的需求。

本申请根据用户输入的待标注关键词的标注需求,生成标注规则,并基于标注规则更新词法器逻辑,在检测到程序文本的标注进程被触发时,修改后的词法器会基于更新后的词法器逻辑对程序文本进行判定,并对符合词法器逻辑的关键词进行高亮标注。以此实现用户自定义需要标注的关键词,并对关键词进行高亮标注的功能,更加贴合更加复杂的标注场景。

需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,例如平板电脑、个人电脑、手机等,或者是一种能够实现上述功能的电子设备、代码标注设备等。以下以代码标注为例,对本实施例及下述各实施例进行说明。

基于此,本申请实施例提供了一种代码标注方法,参照图1,图1为本申请代码标注方法第一实施例的流程示意图。

本实施例中,所述代码标注方法包括步骤S10~S40:

步骤S10、获取用户输入的待标注关键词的标注需求,并根据所述标注需求生成标注规则。

在本实施例中,当用户需要对数控程序进行标注时,可以在标注需求的输入界面输入待标注关键词的标注需求。标注需求可以是代码标注、参数标注、数控程序中的注释等。此外,还可以包括标注状态,代码类别有其自身对应的字符标识,代码参数是指字符标识后的数字编号,这些数字编号处于固定的数值范围内。根据用户输入的所要标注的代码类别和代码参数,可以确定对应的字符标识以及参数对应的数字范围,从而得以生成标注规则。

可选地,作为一种可行的实施方式,可以通过编写一个简单的表单或对话框来从用户处获取待标注关键词列表以及相应的标注需求。在另一可行的实施方式中,用户还可以通过编写数控程序的方式来输入自身的标注需求。解析用户输入的标注需求,以确定要应用的标注规则。例如,如果用户要求将所有匹配的关键词都用红色高亮显示,则需要定义一个“红色高亮”标注规则。根据用户输入的标注需求,采用NLP(自然语言处理)技术,转化为编程语言中的条件语句、函数或其他逻辑结构来生成相应的标注规则。例如,在Python中,可以使用if语句和字典对象来定义标注规则。将标注规则应用于编辑器中,创建并安装对应的词法器。

在本实施例中,通过用户自定义待标注关键词的标注需求,并根据标注需求生成标注规则。便于后续过程中根据标注规则来更新词法器逻辑。以此来实现根据用户自身标注需求来对关键词进行灵活标注。

步骤S20、根据所述标注规则,更新词法器的词法器逻辑。

在本实施例中,通过标注规则来更新词法器的底层词法器逻辑,以此来达到数控系统中自定义关键词高亮的目的。词法器能够将输入的字符序列(如数控程序的源代码)分解成有意义的词法单元,以便后续的代码标注,这些词法单元是编程语言中的基本构建块,如关键字、标识符、运算符、常量等。通过标注规则,确定词法单元的识别逻辑,根据识别逻辑来生成对应的规则表达式,此外,还需要根据用户的标注需求设定标注分组和标注颜色,最后根据规则表达式、标注分组和标注颜色,更新词法器规则文件中的词法器逻辑。

进一步地,参照图2,所述根据所述标注规则,更新词法器的词法器逻辑的步骤包括:

步骤S21、根据所述标注规则,确定词法单元的识别逻辑;

步骤S22、根据所述词法单元的识别逻辑,生成对应的规则表达式;

步骤S23、基于所述标注需求,确定标注分组和标注颜色;

步骤S24、根据所述规则表达式、所述标注分组和所述标注颜色,更新词法器规则文件中的词法器逻辑。

在一可行的实施方式中,参照图4,本申请以Qsciscintilla(一种文本编辑模块名称)模块为基础,通过修改器相应的底层词法器逻辑,来实现对于数控程序自定义关键词高亮的功能。Qsciscintilla支持多种编程语言的语法高亮显示,使代码更容易阅读和理解。进一步地,根据新的标注规则对词法分析器的影响,确定需要添加、修改或删除哪些规则来满足新的标注需求。这些规则包括对标识符、关键字、运算符、字符串、数字等词法单元的识别逻辑。根据词法单元的识别逻辑,生成相应的规则表达式。作为一种可行的实施方式,这里可以预先定义了一个字典lexical_units,其中包含了词法单元的名称和对应的规则表达式,通过遍历字典中的每个词法单元,将其名称和模式组合成规则表达式,并将这些规则表达式存储在规则列表中。随后遍历规则列表并打印出每个规则表达式。根据标注需求,确定每个词法单元的标注分组和标注颜色,这里可以根据具体的应用场景和需求来确定,例如将关键词分为不同的组别,并为每个组别指定不同的颜色。定义一组标注分组,每个分组包含了一系列词法单元,以及对应的颜色。通过循环遍历每个词法单元,检查该词法单元属于哪个分组,并为该词法单元分配相应的分组和颜色。如果找到了匹配的分组,就将该词法单元的分组和对应颜色进行存储,并输出每个词法单元及其对应的分组和颜色。最后,根据生成的规则表达式、标注分组和标注颜色,更新词法器规则文件中的词法器逻辑。可选地,在更新了的词法器的词法逻辑后,还可以对其进行测试以确保它能够正确地根据新的标注规则识别和分类词法单元。将更新后的词法器集成到现有的编译系统中,替换旧的词法器,就可以进行使用。

进一步地,以G代码为例,用户在输入界面中自定义待标注关键词标注需求“#define SEC_C_G 28”,生成的新标注规则如下:

else if(s[0] == 'G'&&IsADigit(s[1])

{

sc.ChangeState(SEC_C_G | activitySet);

}

,在该项标注规则中,s表示一个待标注词,如果这个词的第一个字符标识为“G”,并且这个词的第二个字符参数为数字,则将该词的状态切换为状态SEC_C_G28,即状态28。通过改变其状态,对待标注词进行后续的高亮标注。新增G代码对应分组:KeywordGGroup =28;设置G代码对应的颜色:textLexer->setColor(QColor("#2C2C2C"),QsciLexerCPP::KeywordGGroup),将以上规则表达式更新到Qsciscintilla模块的词法器逻辑文件中。通过以上步骤,可以实现自定义G代码高亮的目的。在后续过程中,若存在其他需要高亮的自定义代码,也可以按照上述过程来实现。需要说明的是,若对于词法器中存在其他标注规则,还需要进行删除,若保留此部分规则,会导致新增的规则无法生效。

在本实施例中,通过标注规则来更新词法器逻辑,使得词法器能够对用户自定义的待标注关键词进行标注。当用户想要更改所要标注的关键词时,采用以上步骤可以再次达到用户的目的,提升了代码标注的灵活性。

步骤S30、在检测到程序文本的标注进程被触发时,判定所述程序文本是否符合所述词法器逻辑。

在本实施例中,当对数控程序的程序文本被标注的进程被触发时,词法器会基于自身的标注逻辑对程序文本进行识别,即词法器扫描程序文本,识别程序文本中的关键词、标识符和/或常量,随后将关键词、标识符和/或常量转换为词法单元,通过更新后的词法器逻辑校验词法单元的逻辑结构,并判定其是否符合词法器逻辑。其中,词法单元是指在词法分析中最小的有意义的单元,例如单词、标点符号、数字等。在词法分析的过程中,程序文本会被分割成词法单元的序列,以便后续对每个词法单元进行进一步的处理,例如词性标注、命名实体识别等。

进一步地,词法器对程序文本进行词法分析,按照规则逐个扫描程序文本,识别出其中的关键字、标识符、常量等,并将其转换为词法单元。在一过程中,作为一种可行的实施方式,词法器可以选择使用有限状态机从输入文本中读取字符并在转换表中查找匹配,以确定词法结构。基于语言的词法规则编写的识别器函数扫描程序文本并将其转换为词法单元,该函数可以返回一个词法单元对象,包括词法单元类型和值,并将其返回给词法器的下一个阶段进行进一步处理。此外,在识别过程中,还需要跳过注释、空格、制表符等无用字符,以确保识别出的词法单元能够真正反映源代码的结构。在下一阶段的词法分析的过程中,词法器会根据预先定义的规则进行逻辑判断。这些规则包括关键字的使用顺序、参数的格式、注释的位置等。根据这些规则,词法器会逐个检查词法单元是否符合预期的逻辑结构。词法器在完成逻辑判断后,将输出判定结果。如果程序文本符合规则,词法器返回符合逻辑的结果,并对其进行下一步的标注高亮工作。若存在不符合规则的部分,词法器将返回相应的错误信息。

需要说明的是,在进行标注之前,还需要根据程序文本的关键词定义函数名和识别状态,然后基于标注需求设定标注参数。程序文本关键词包括函数名、变量名、关键字等。根据这些关键词,可以定义识别状态。根据标注需求,确定需要标注的内容和标注类型。例如,标注需求可能包括词性标注、命名实体识别等。设定的标注参数,包括标注颜色、标注规则等。根据定义的函数名和识别状态,识别程序文本中的关键词,并将其与相应的识别状态关联起来。根据设定的标注参数,对程序文本中的关键词进行标注。这可以通过在词法分析器中实现相应的标注逻辑来实现。

在本实施例中,通过更新词法器逻辑的词法器,对程序文本进行关键词的识别,并将其转换为词法单元,从而判定其逻辑结构是否符合词法器的词法逻辑,以便后续对其进行高亮标注。

步骤S40、在所述程序文本中的关键词符合所述词法器逻辑时,将所述关键词进行高亮标注。

在本实施例中,参照图4,在程序文本中的关键词符合词法器逻辑时,会对该关键词进行高亮标注。即当加载程序文本时,词法器不断地对编辑器上的文本进行分析,为不同的标识符记录不同的状态。比如识别一个注释,如果遇到/*就记录当前状态为注释开始状态,当遇到*/时候,就切换当前状态为其它对应状态。对于每个状态,编辑器都会给它赋予一个style(样式),通过设置这个style的具体属性,就可以为不同的标识符设置不同的颜色、字体等。因此,可以将自定义关键词满足的要求加入到词法分析器中,然后再按需设置好其对应的高亮颜色即可。其中,不同关键词中的标识符对应不同的词法类型,不同样式对应不同的标注参数。

进一步地,在进行标注时,需要确定词法器识别关键词处于的所有状态。例如,在解析一个标识符时,可能有初始状态、识别标识符的状态和结束状态等。对于每个状态,确定在接收到特定输入字符时将会发生的状态转换,作为一种可行的实施方式,可以通过状态转换表或者状态转换函数来进行。状态转换通常基于当前状态和输入字符来决定下一个状态。例如,在识别标识符的状态下,如果接收到一个字母或下划线,则保持在该状态;如果接收到数字,则转换到一个新的状态,识别整数常量。对于其他些状态,需要在达到某个条件时结束。例如,在识别标识符的状态下,当遇到一个非字母、非数字的字符时,该状态结束。在识别状态结束时,根据此前为每个词法类型定义相应的标注参数,包括颜色、字体样式等,在编辑器或显示文本的界面中,根据词法类型的标注参数对关键字进行高亮标注。

在本实施例中,通过用户自定义待标注关键词的标注需求,并根据标注需求生成标注规则。并根据标注规则来更新词法器逻辑。以此来实现根据用户自身标注需求来对关键词进行灵活标注。

基于本申请第一实施例,在本申请第二种实施例中,与上述实施例一相同或相似的内容,可以参考上文介绍,后续不再赘述。在此基础上,请参照图3,步骤S40之后,所述代码标注方法还包括步骤S50~S70:

步骤S50、在所述词法器无法识别出所述程序文本中的字符时,确定异常字符。

步骤S60、基于所述异常字符,确定错误信息并输出异常提示。

步骤S70、在所述词法器无法进行状态转换时,根据错误类型,输出对应的错误状态码。

在本实施例中,当词法器无法识别出程序文本中的字符时,还需具备一定的容错处理机制。即确定无法识别的异常字符,并基于异常字符,确定错误信息并输出异常提示。当词法器无法进行状态转换时,就根据其错误类型,输入对应的错误状态码。

进一步地,当词法器在遇到无法识别的字符或者无法进行状态转换的情况下,需要进行错误处理。在执行过程中,根据输入的字符序列,按照定义好的状态和状态转换来执行状态机。进一步地,在一可行的实施方式中,可以预先定义一个异常字符列表,包含所有可能的异常字符。在遍历程序文本中的字符时,检查其是否属于异常字符列表。如果发现异常字符,将其记录下来,并继续处理后续字符。根据记录的异常字符,确定错误信息。例如,可以给出具体的错误提示,如未知字符“x”。此外,还需要预先定义一个错误状态码列表,包含所有可能的错误状态码。在词法分析器的状态转换过程中,如果遇到无法进行状态转换的情况,将错误状态码记录下来。根据记录的错误状态码,确定对应的错误信息。例如,可以给出具体的错误提示,如“无效的状态转换”。在输出错误信息和对应的错误状态码,可以使用控制台输出或GUI界面显示等方式。

在本实施例中,根据代码标注的具体的需求和应用场景,选择合适的错误处理方式或者将它们结合起来,能够确保词法分析过程的稳健性和可靠性。

需要说明的是,上述示例仅用于理解本申请,并不构成对本申请代码标注方法的限定,基于此技术构思进行更多形式的简单变换,均在本申请的保护范围内。

本申请提供一种代码标注设备,代码标注设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例一中的代码标注方法。

下面参考图5,其示出了适于用来实现本申请实施例的代码标注设备的结构示意图。本申请实施例中的代码标注设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(Personal Digital Assistant:个人数字助理)、PAD(PortableApplication Description:平板电脑)、PMP(Portable Media Player:便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的代码标注设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图5所示,代码标注设备可以包括处理装置1001(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM:Read Only Memory)1002中的程序或者从存储装置1003加载到随机访问存储器(RAM:Random Access Memory)1004中的程序而执行各种适当的动作和处理。在RAM1004中,还存储有代码标注设备操作所需的各种程序和数据。处理装置1001、ROM1002以及RAM1004通过总线1005彼此相连。输入/输出(I/O)接口1006也连接至总线。通常,以下系统可以连接至I/O接口1006:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置1007;包括例如液晶显示器(LCD:LiquidCrystal Display)、扬声器、振动器等的输出装置1008;包括例如磁带、硬盘等的存储装置1003;以及通信装置1009。通信装置1009可以允许代码标注设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种系统的代码标注设备,但是应理解的是,并不要求实施或具备所有示出的系统。可以替代地实施或具备更多或更少的系统。

特别地,根据本申请公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置1003被安装,或者从ROM1002被安装。在该计算机程序被处理装置1001执行时,执行本申请公开实施例的方法中限定的上述功能。

本申请提供的代码标注设备,采用上述实施例中的代码标注方法,能解决目前高亮模块仅支持对编程语言规定的内置关键词进行高亮,无法根据人为的标注需求进行更改,如果需要高亮的关键词种类很多,以上方式则难以满足用户的需求的技术问题。与现有技术相比,本申请提供的代码标注设备的有益效果与上述实施例提供的代码标注方法的有益效果相同,且该代码标注设备中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。

应当理解,本申请公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

本申请提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令(即计算机程序),计算机可读程序指令用于执行上述实施例中的代码标注方法。

本申请提供的计算机可读存储介质例如可以是U盘,但不限于电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体地例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM:Random Access Memory)、只读存储器(ROM:Read Only Memory)、可擦式可编程只读存储器(EPROM:Erasable Programmable Read Only Memory或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM:CD-Read Only Memory)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(Radio Frequency:射频)等等,或者上述的任意合适的组合。

上述计算机可读存储介质可以是代码标注设备中所包含的;也可以是单独存在,而未装配入代码标注设备中。

上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被代码标注设备执行时,使得代码标注设备:

获取用户输入的待标注关键词的标注需求,并根据所述标注需求生成标注规则;

根据所述标注规则,更新词法器的词法器逻辑;

在检测到程序文本的标注进程被触发时,判定所述程序文本是否符合所述词法器逻辑;

在所述程序文本中的关键词符合所述词法器逻辑时,将所述关键词进行高亮标注。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN:Local Area Network)或广域网(WAN:Wide Area Network)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。

本申请提供的可读存储介质为计算机可读存储介质,所述计算机可读存储介质存储有用于执行上述代码标注方法的计算机可读程序指令(即计算机程序),能够解决目前高亮模块仅支持对编程语言规定的内置关键词进行高亮,无法根据人为的标注需求进行更改,如果需要高亮的关键词种类很多,以上方式则难以满足用户的需求的技术问题。与现有技术相比,本申请提供的计算机可读存储介质的有益效果与上述实施例提供的代码标注方法的有益效果相同,在此不做赘述。

本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的代码标注方法的步骤。

本申请提供的计算机程序产品能够解决目前高亮模块仅支持对编程语言规定的内置关键词进行高亮,无法根据人为的标注需求进行更改,如果需要高亮的关键词种类很多,以上方式则难以满足用户的需求的技术问题。与现有技术相比,本申请提供的计算机程序产品的有益效果与上述实施例提供的代码标注方法的有益效果相同,在此不做赘述。

以上所述仅为本申请的部分实施例,并非因此限制本申请的专利范围,凡是在本申请的技术构思下,利用本申请说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本申请的专利保护范围内。

相关技术
  • 文本标注方法、装置、设备和计算机可读存储介质
  • 一种代码编译方法、计算机装置及计算机可读存储介质
  • 医学图像的病理标注方法及装置、计算机可读存储介质
  • 地域标注方法、装置及计算机可读存储介质
  • 代码测试方法、装置及计算机可读存储介质
  • 标注方法及标注装置、电子设备和计算机可读存储介质
  • 代码标注方法、装置、计算机设备和存储介质
技术分类

06120116678650