[发明专利]用于对具有缺少源位置的代码段的源代码建模的方法有效
申请号: | 201480007584.3 | 申请日: | 2014-02-04 |
公开(公告)号: | CN104969188B | 公开(公告)日: | 2017-05-17 |
发明(设计)人: | J·V·戈格;S·F·耶奇;M·J·弗洛姆贝格;A·沙利;G·S·韦斯特;J·A·丹尼特;L·埃斯佩霍尔特;R·A·布朗斯坦 | 申请(专利权)人: | 谷歌公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京市柳沈律师事务所11105 | 代理人: | 邵亚丽 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 具有 缺少 位置 代码 源代码 建模 方法 | ||
1.一种用于对源代码建模的方法,包括:
接收包括不具有源位置的代码段的源代码;
对所接收的源代码编索引;
根据经编索引的源代码创建数据模型,所述数据模型包括表示代码元素的多个节点以及用于元素之间的关系的多个边;
确定要与每个节点关联的所述源位置;
响应于将所述代码段中的一个代码段识别为隐藏代码段或者隐式代码段,创建用于所述代码段的虚构节点,其中所述数据模型使用所述虚构节点与表示包含对所述虚构的引用的代码元素的节点之间的边来表示所述虚构的行为,并且其中所述虚构节点的内容不表示有效的代码语法;以及
将所创建的虚构指派为与所述代码段的节点关联的所述源位置。
2.根据权利要求1所述的方法,其中特别地注释虚构节点以将所述节点同所述数据模型中的其他节点区分开来。
3.根据权利要求1所述的方法,还包括向用户提供所述数据模型。
4.根据权利要求3所述的方法,其中经由API向用户提供所述数据模型。
5.根据权利要求3所述的方法,其中经由用户界面向用户提供所述数据模型。
6.根据权利要求3所述的方法,其中经由命令行代码向用户提供所述数据模型。
7.根据权利要求1所述的方法,其中所述数据模型包括多个虚构节点并且至少一个虚构节点的内容是有效的代码语法。
8.一种用于向表示不具有源位置的代码段的数据模型中的节点提供源位置的方法,包括:
响应于将所述代码段识别为缺少源位置,创建用于所述代码段的虚构节点,其中所述数据模型使用所述虚构节点与表示包含对所述虚构的引用的代码元素的节点之间的边来表示所述虚构的行为,并且其中所述虚构节点的内容不表示有效的代码语法;以及
将所创建的虚构指派为与所述代码段的节点关联的所述源位置。
9.一种用于使用表示不具有源位置的代码段的数据模型的方法,包括:
请求用于包括不具有源位置的代码段的代码的数据模型;
接收所请求的、包括不具有源位置的所述代码段的虚构节点的数据模型,其中所述数据模型使用所述虚构节点与表示包含对所述虚构的引用的代码元素的节点之间的边来表示所述虚构的行为,并且其中所述虚构节点的内容不表示有效的代码语法;以及
向最终用户可选地显示所述代码段的虚构表示。
10.根据权利要求9所述的方法,其中所接收的数据模型包含关于所述虚构表示的元数据。
11.根据权利要求10所述的方法,其中所述元数据被用来示出和隐藏来自所述最终用户的所述虚构表示。
12.根据权利要求10所述的方法,其中所述元数据被用来显示代码段是虚构的信息。
13.根据权利要求10所述的方法,其中所述元数据被用来显示代码段包含虚构的信息。
14.根据权利要求9所述的方法,其中使用应用编程接口来请求数据模型。
15.一种用于对源代码建模的系统,包括:
一个或多个处理设备;以及
存储指令的一个或多个存储设备,所述指令在由所述一个或多个处理设备执行时,引起所述一个或多个处理设备:
接收包括不具有源位置的代码段的源代码;
对所接收的源代码编索引;
根据经编索引的源代码创建数据模型,所述数据模型包括表示代码元素的多个节点以及用于元素之间的关系的多个边;
确定要与每个节点关联的所述源位置;
响应于将所述代码段中的一个代码段识别为隐藏代码段或者隐式代码段,创建用于所述代码段的虚构节点,其中所述数据模型使用所述虚构节点与表示包含对所述虚构的引用的代码元素的节点之间的边来表示所述虚构的行为,并且其中所述虚构节点的内容不表示有效的代码;以及
将所创建的虚构指派为与所述代码段的节点关联的所述源位置。
16.根据权利要求15所述的系统,其中特别地注释虚构节点以将所述节点同所述数据模型中的其他节点区分开来。
17.根据权利要求15所述的系统,还包括向用户提供所述数据模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谷歌公司,未经谷歌公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480007584.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:高性能互连一致性协议
- 下一篇:用于实现便笺式存储器的装置和方法