[发明专利]用于处理程序代码中的变量的引用的方法和系统有效
申请号: | 201911369988.8 | 申请日: | 2019-12-26 |
公开(公告)号: | CN111158663B | 公开(公告)日: | 2021-07-02 |
发明(设计)人: | 丛明舒;瞿中明;曲嘉宝;曾凯;唐来朋;何毅良 | 申请(专利权)人: | 深圳逻辑汇科技有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/34;G06F8/41 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 吴信刚 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 处理 程序代码 中的 变量 引用 方法 系统 | ||
1.一种用于处理程序代码中的变量的引用的方法,包括:
顺序地接收用户输入中包含的字符流,其中所述字符流是所述程序代码的一部分;
从所接收的字符流中识别第一变量符号并且存储与第一变量符号相关的信息,其中第一变量符号表示第一变量并且与第一变量符号相关的信息至少包括与第一变量符号相关的操作;
把第一变量符号与从所述程序代码中先前识别的至少一个变量符号进行匹配以确定所述至少一个变量符号中是否存在表示第一变量的第二变量符号;
响应于确定存在至少一个第二变量符号,根据与第一变量符号相关的操作以及与所述一个或多个第二变量符号相关的操作,确定第一变量符号是否涉及未定义引用,其中与变量符号相关的操作是指对变量符号代表的变量的操作;以及
响应于确定第一变量符号涉及未定义引用,向用户提供可视辅助来处理该未定义引用。
2.根据权利要求1所述的方法,还包括:响应于确定不存在第二变量符号,根据与第一变量符号相关的操作,确定第一变量符号是否涉及未定义引用。
3.根据权利要求1所述的方法,还包括:
从所接收的字符流中继续识别第三变量符号并且存储与第三变量符号相关的信息,其中第三变量符号表示第一变量;
把第三变量符号与从所述程序代码中先前识别的至少一个变量符号进行匹配以确定所述至少一个变量符号中是否存在表示第一变量的变量符号;
通过所述匹配至少找到与第三变量符号均表示第一变量的第一变量符号;以及
在确定与第一变量符号相关的操作依赖于与第三变量符号相关的操作的情况下,至少利用与第三变量符号相关的操作来执行与第一变量符号相关的操作。
4.根据权利要求1所述的方法,还包括解析或执行所述程序代码的一部分,该部分不包括包含第一变量符号的程序语句。
5.根据权利要求1所述的方法,其中,所述用户输入包括以下输入中的一者:用户编辑完成并存储的程序代码的至少一部分,由文本编辑器监听的用户输入动作产生的程序代码的至少一部分,以及通过用户在图形用户界面编辑器中的操作产生的程序代码的至少一部分。
6.根据权利要求5所述的方法,其中向用户提供可视辅助包括以下的一者或多者:在文本编辑器或图形用户界面编辑器中,在第一变量符号的附近显示提示框、或者突出显示第一变量符号。
7.根据权利要求1所述的方法,其中从所接收的字符流中识别第一变量符号包括利用词法分析器或者机器学习分类器中的一者或多者从所接收的字符流中识别第一变量符号。
8.根据权利要求1所述的方法,其中从所接收的字符流中识别第一变量符号包括把从图形用户界面编辑器的特定组件中接收的字符流识别为第一变量符号。
9.根据权利要求1或3所述的方法,其中与变量符号相关的信息包括以下信息中的一者或多者:变量符号的名称、变量符号在程序代码中的位置、变量符号的命名空间、变量符号的作用域、变量符号表示的变量的类型、变量符号表示的变量、以及与变量符号相关的操作。
10.根据权利要求9所述的方法,其中与变量符号相关的信息被存储到变量符号表中,并且其中所述变量符号表存储有与所述程序代码中的每个识别的变量符号相关的信息。
11.根据权利要求10所述的方法,还包括建立变量表以及建立变量符号表和变量表之间的关系。
12.根据权利要求11所述的方法,其中,所述变量表存储所识别的变量的状态,并且变量的状态包括以下一者或多者:表示该变量的变量符号、变量在内存中的地址、变量进行的操作、变量是否被定义、以及变量是否被引用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳逻辑汇科技有限公司,未经深圳逻辑汇科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911369988.8/1.html,转载请声明来源钻瓜专利网。