[发明专利]源代码格式的检查方法及设备有效
申请号: | 201810988816.8 | 申请日: | 2018-08-28 |
公开(公告)号: | CN109471634B | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 彭凡 | 申请(专利权)人: | 上海思立微电子科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 甘章乖;王路丰 |
地址: | 201210 上海市浦东新区自由*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 格式 检查 方法 设备 | ||
1.一种源代码格式的检查方法,其中,该方法包括:
获取进行格式检查的目标源代码;
读取所述目标源代码,查找并确定定位字符串;
获取指向定位字符串的文件流指针,将文件流指针在定位字符串的上下文中向前或向后移动,再根据文件流指针获取的字符串和预设语义环境判定规则,确定定位字符串对应的语义环境和格式检查字符串;
将所述格式检查字符串与所述语义环境对应的预设标准代码格式进行匹配,在匹配不一致时,给出相应的提示信息;
获取目标源代码文件的文件路径;
根据所述文件路径,确定目标源代码的代码格式,其中,所述代码格式包括LinuxKernel格式和应用程序格式;
根据确定的代码格式,获取与所述代码格式对应的预设标准代码格式;
根据所述预设标准代码格式对所述目标源代码进行格式检查。
2.根据权利要求1所述的方法,其中,所述定位字符串包括:运算符、关键字和括号。
3.根据权利要求1所述的方法,其中,根据确定的定位字符串,确定所述定位字符串对应的语义环境和格式检查字符串,包括:
获取指向定位字符串的文件流指针,并将所述文件流指针在定位字符串的上下文中向前或向后移动;
根据所述文件流指针获取的字符和预设语义环境判定规则,确定所述定位字符串对应的语义环境和格式检查字符串。
4.根据权利要求3所述的方法,其中,根据确定的定位字符串,确定所述定位字符串对应的语义环境和格式检查字符串之后,还包括:
根据所述语义环境,获取与所述语义环境对应的预设标准代码格式。
5.根据权利要求1所述的方法,其中,获取进行格式检查的目标源代码之前,还包括:
监测用户操作,在用户执行目标源代码提交操作时,触发对目标源代码的获取。
6.根据权利要求1所述的方法,其中,获取进行格式检查的目标源代码之后,还包括:
获取预设的源代码格式规范;
根据所述源代码格式规范中的配置,获取预设标准代码格式。
7.根据权利要求1所述的方法,其中,根据所述预设标准代码格式对所述目标源代码进行格式检查,包括:
若确定的代码格式为Linux Kernel格式,且所述定位字符串为左花括号,获取的预设标准代码格式为if(或else if或while或for或switch)语句后直接跟随{,或者为if(或else if或while或for或switch)语句后的单行语句不使用{和}包裹,则将获取的格式检查字符串与所述预设标准代码格式进行匹配,在匹配不成功时,给出格式检查未通过的提示信息。
8.根据权利要求1所述的方法,其中,根据所述预设标准代码格式对所述目标源代码进行格式检查,包括:
若确定的代码格式为应用程序格式,且所述定位字符串为左花括号,获取的预设标准代码格式为if(或else if或while或for或switch)语句后另起一行再跟随{,或者为if(或else if或while或for或switch)语句后的单行语句使用{和}包裹,则将获取的格式检查字符串与所述预设标准代码格式进行匹配,在匹配不成功时,给出格式检查未通过的提示信息。
9.一种源代码格式的检查设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,使该设备执行权利要求1至8中任一项所述的方法。
10.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至8中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海思立微电子科技有限公司,未经上海思立微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810988816.8/1.html,转载请声明来源钻瓜专利网。