发明名称 |
一种用于创建数据结构的系统和方法 |
摘要 |
通过创建数据结构来启用在增量改变下带有父指针的高效不可变句法表示,该数据结构包括至少一个允许在树中进行向上和向下引用两者的树结构、以及不可变的(只读)且允许其自身的部分在其他数据结构中被重复使用的树结构。所描述的数据结构使得工具能够搜索并将特定的子树定位目标。该树的表示被定为目标的子树的片段在使用时被产生。树的其余部分不被产生。只读树保留相对信息,从而使其可被重新组装和共享。 |
申请公布号 |
CN102696026B |
申请公布日期 |
2016.01.20 |
申请号 |
CN201080060863.8 |
申请日期 |
2010.12.31 |
申请人 |
微软技术许可有限责任公司 |
发明人 |
M·J·沃伦;A·Y·阿哈罗尼;M·托格森;R·帕凯;N·M·加夫特;J·帕森斯;D·N·舒艾奇;A·V·青高兹;P·戈尔德;K·皮尔希-比森;刘凯玲 |
分类号 |
G06F17/00(2006.01)I;G06F17/27(2006.01)I |
主分类号 |
G06F17/00(2006.01)I |
代理机构 |
上海专利商标事务所有限公司 31100 |
代理人 |
蔡悦 |
主权项 |
一种用于创建数据结构的系统,包括:处理器和存储器,所述存储器包括一模块,其被配置成使所述处理器执行:创建至少一个消费者可访问的数据结构,所述数据结构表示树,所述树表示源代码的至少一个语句,其中所述数据结构包括:可重复使用的第一树,该第一树表示所述至少一个消费者不可直接访问的共享的只读树的,其中所述只读树中的节点具有单向指针,使得第一树的所述节点不具有指向父节点的指针,所述只读树中的节点与所述源代码的所述至少一个语句的不同的相应元素相对应;以及所述至少一个消费者可访问的第二树,该第二树包括控制所述至少一个消费者对第一树的访问的至少一个根节点,其中第二树的根节点包括指向第一树的根节点的指针,所述第二树被构建成表示所述至少一个消费者对所述第一树的已修改版本,而仍然允许其他消费者用所述第一树来工作,所述第二树包括覆盖所述第一树的根节点的根节点。 |
地址 |
美国华盛顿州 |