[发明专利]扩展开发环境有效
申请号: | 201380068712.0 | 申请日: | 2013-12-27 |
公开(公告)号: | CN105164641B | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | F·A·玛每瑞;M·C·范宁 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;G06F8/40 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 王英 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 扩展 开发 环境 | ||
本文描述了用于扩展软件开发工具的行为的概念和技术。软件开发工具可访问并消费扩展以将该软件开发工具配置成以扩展模式执行操作。在一个示例中,扩展可基于输入源代码来扩展编译器。在一个配置中,编译器扩展可以向编译器提供特定编程语言的各种源代码元素的一个或多个运行时语义。编译器可访问扩展列表以确定编译器是否将要以扩展模式对特定源代码元素或逻辑单元执行编译操作。
背景
为了开发用于执行计算任务的软件应用,软件开发者通常为软件应用编写概括该软件应用的功能的源代码。存在对开发者可用的各种类型的语言,这取决于软件应用的特定用途、其中将执行软件应用的计算环境和/或软件开发者的个人偏好。例如,语言可以是其中通常在编译时确定变量类型的静态类型化编程语言。在另一示例中,语言可以是在运行时确定变量类型的动态类型化编程语言。
一旦软件开发者编写源代码,如果其中将要执行源代码的环境需要可执行代码,则使用编译器来将源代码编译成可执行代码(或者取决于系统环境而能在执行时被解释)。编译器用于将源代码转换成可以直接在计算机系统上执行的机器代码。计算环境执行可执行代码以实现源代码的功能。连同将源代码编译成可执行代码,常规编译器还可通过输出调试信息来帮助软件开发者。软件开发者可使用调试信息来修复源代码中的潜在问题,当在运行时期间执行可执行代码时,这些潜在问题可能导致故障。
本文所做出的本公开正是关于这些和其他考虑事项而提出的。
概述
本文描述了用于扩展开发环境的概念和技术。开发工具可消费扩展以修改开发工具针对所描绘的源代码元素的行为。在一些实施例中,开发工具可消费扩展以便在各种过程中使用扩展行为,这些过程包括但不限于预处理、词法分析、句法分析、静态分析、指令调度、代码生成、链接、汇编、解释和JIT编译。例如,在扩展编译器的行为时,扩展可由编译器在包括但不限于句法分析、语义分析、代码生成和代码优化的编译过程的各个阶段期间消费。在一个配置中,当在编译器开发环境内使用时,编译器扩展可以向编译器提供特定编程语言的各种源代码元素的一个或多个运行时语义。在一些配置中,可以在诸如但不限于静态分析器、解释器、编译器、链接器、汇编器和模拟器的各种编程操作中使用扩展。
应当理解,上述主题可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读存储介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
提供本概述是为了以精简的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
附图简述
图1是可被用来实现本文公开的各实施例的说明性操作环境的系统图。
图2是执行可被用来实现本文公开的各实施例的编译器的说明性编译环境的系统图。
图3是示出根据一些实施例的其中根据扩展来处理源代码的逻辑单元的编译环境的功能框图。
图4是示出根据一些实施例的将传统源代码变换成用于经更新的操作环境的可执行代码的功能框图。
图5是示出根据一些实施例的用于扩展软件开发工具的示例性方法的框图。
图6是示出能够实现本文中所呈现的实施例的各方面的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图。
详细描述
以下详细描述涉及扩展软件开发工具的行为。在各配置中,向软件开发工具提供扩展。软件开发工具消费扩展。扩展将软件开发工具针对所描绘的操作的行为从默认模式改为扩展模式。在一些示例中,软件开发工具可出于各种原因在扩展模式中使用,这些原因的示例在下文中更详细地描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380068712.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:地铁列车车门控制器的离线检测装置
- 下一篇:防爆按键信号采集转换模块