[发明专利]基于双数组结构的括号配对方法、设备及存储介质在审
申请号: | 202210031887.5 | 申请日: | 2022-01-12 |
公开(公告)号: | CN114428731A | 公开(公告)日: | 2022-05-03 |
发明(设计)人: | 海克洪;李良胤 | 申请(专利权)人: | 湖北美和易思教育科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 武汉红观专利代理事务所(普通合伙) 42247 | 代理人: | 徐春燕 |
地址: | 430000 湖北省武汉市东湖新技术开发区北斗路6号武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 双数 结构 括号 配对 方法 设备 存储 介质 | ||
本发明提出了一种基于双数组结构的括号配对方法、设备及存储介质,其方法包括:获取多段括号匹配正确的完整代码和括号匹配不正确的非完整代码并作为目标代码;从目标代码中提取特征信息;采用双数组结构建立检测模型,将所述特征信息输入检测模型,训练并生成用于检测括号匹配是否正确的检测模型,作为最终检测模型;获取待检测代码,从待检测代码中提取特征信息并输入至最终检测模型,得到检测结果。本发明能够在没有编译器的情况下,检测纯手写代码括号配对是否正确,提高了开发人员的工作效率。
技术领域
本发明涉及计算机技术领域,尤其是涉及一种基于双数组结构的括号配对方法、设备及存储介质。
背景技术
程序员在编写程序时会用到各种框架,框架中会提供许多函数,有的可以直接调用源代码,而有的需要手动输入。由于数据量过于庞大,在编程过程中难免会出现输入错误的情况,编译器是整个软件开发过程中不可或缺的一部分,编译器不仅可以将高级编程语言编写的程序转换为计算机可识别的目标语言,还有一个重要任务,就是在翻译过程中发现程序中出现的错误。
随着技术的发展,编译器也拥有了大量的代码优化技术,大部分用户编写程序都是使用编译器编译,然而还有一些高级程序员为了开发出满足客户需求的产品时,不使用编译器,采用纯手写代码的形式,除此之外,还有一些不能直接调用源代码的程序也需要手动输入。纯手写代码很容易出错,当函数使用过多时,往往会出现括号丢失的情况,手动检查括号配对会带来大量没必要的任务量,耽误工作进出,因此,确保括号配对正确尤其重要。
发明内容
有鉴于此,本申请提出了一种基于双数组结构的括号配对方法、设备及存储介质,用于解决在没有编译器的情况下,纯手写代码如何检测括号配对是否正确的问题。
本发明的技术方案是这样实现的:
本发明提供了一种基于双数组结构的括号配对方法,所述方法包括:
S1,获取多段括号匹配正确的完整代码和括号匹配不正确的非完整代码并作为目标代码;
S2,从目标代码中提取特征信息;
S3,采用双数组结构建立检测模型,将所述特征信息输入检测模型,训练并生成用于检测括号匹配是否正确的检测模型,作为最终检测模型;
S4,获取待检测代码,从待检测代码中提取特征信息并输入至最终检测模型,得到检测结果。
在以上技术方案的基础上,优选的,步骤S2具体包括:
接收对目标代码的遍历请求;
根据遍历请求,生成遍历任务,同时生成与遍历任务所对应的存储节点,每个存储节点至少包括一个存储块;
对所述遍历任务进行拆分,得到若干个子任务,每一个子任务均与一个存储块对应;
获取每个子任务,在与子任务相应的存储块中进行目标代码的遍历,得到遍历结果,并将遍历结果存储在相应的存储块中;
提取所有存储块中的遍历结果,即正括号和反括号,作为目标代码的特征信息。
在以上技术方案的基础上,优选的,步骤S3具体包括:
S301,构建第一数组和第二数组,并将第一数组和第二数组进行初始化处理,建立一个共同索引;
S302,将所述特征信息中的正括号放入第一数组,将所述特征信息中的反括号放入第二数组;
S303,根据第二数组确定接下来遍历的范围;
S304,对第一数组或第二数据进行遍历,得到检测结果。
在以上技术方案的基础上,优选的,步骤S302具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北美和易思教育科技有限公司,未经湖北美和易思教育科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210031887.5/2.html,转载请声明来源钻瓜专利网。