【技术实现步骤摘要】
本
涉及软件开发,具体来讲涉及一种用于帮助生成软件开发工具的体系结构。背景可使用多种程序设计语言,以便在编程时为程序员提供每种语言所特有的有益之处。类似地,可以使用多种处理器,以便在执行特定工作时提供每种处理器所特有的有益之处。例如,嵌入式处理机特别适合于处理电子设备内部的意义明确的任务,而通用处理机诸如IntelPentium处理器更加灵活,并且能够处理复杂任务。此外,还存在为帮助程序员解决对于软件可靠性、安全性和高性能的逐渐增长的需求而创建的各种工具类型。因此,计算环境、结构配置和设备器件方面的多样性正在增加。因此,软件开发者面临在大量眼花缭乱的不同软件开发场景中进行适应和工作。解决这种多样性的需求使得已经极其复杂的积木式软件开发工具的领域变得更加复杂。这样的软件开发工具可能包括各种组件,诸如编译程序,反编译程序,解码器,编码器,指令选择组件,以及指令认可组件。往往,这样的组件已经叠加覆盖了要求,并且组件本身可能在超过一个开发工具中出现(例如,在编译器和调试器中)。尽管普遍需要类似的组件功能,但是难以开发出共享设计和实现方式的组件,特别是当涉及大量的程序设计语言或者其他程序表示时。往往,每一工具的每一个组件具有它自己的实现方式,这导致大量冗余的工作和重复的代码。另外,在体系结构之间、甚至在相同的源库内部几乎不具有一致性。因此,对一个组件的代码作出任何改进对于一种特定实现方式都是有用的,但是该改进不会自动地扩展至实现同一功能的其他工具或者体系结构。最终,在解决一特定软件开发场景方面付出的努力通常必须被重复进行,以解决不同的场景。专利技术概 ...
【技术保护点】
具有用于实现软件开发体系结构的计算机可执行指令的一个或多个计算机可读介质,其特征在于,该软件开发体系结构包括:一软件开发场景不相关的中间表示格式;一个或多个异常处理模型,用于支持多个程序设计语言专用异常处理模型;一类型系统,用于表示多个源语言的类型表示;以及一代码生成器,用于生成以多个执行体系结构为目标的代码。
【技术特征摘要】
US 2003-6-26 10/609,275;US 2003-6-27 10/607,591;US1.具有用于实现软件开发体系结构的计算机可执行指令的一个或多个计算机可读介质,其特征在于,该软件开发体系结构包括一软件开发场景不相关的中间表示格式;一个或多个异常处理模型,用于支持多个程序设计语言专用异常处理模型;一类型系统,用于表示多个源语言的类型表示;以及一代码生成器,用于生成以多个执行体系结构为目标的代码。2.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述体系结构可调节以产生范围从轻型的JIT编译器到整体程序优化编译器的目标软件开发工具。3.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述体系结构能够被配置成产生具有不同范围的存储器占用面积、编译速度和优化的目标软件开发工具。4.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述软件开发体系结构可用于产生可通过将修改组件与该软件开发体系结构相组合来进行修改的软件开发工具。5.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述软件开发体系结构可用于通过将软件开发体系结构的二进制版本与修改组件动态地进行链接来产生软件开发工具。6.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述中间表示格式在采用该中间表示格式的软件工具的运行时是可扩展的。7.如权利要求1所述的一个或多个计算机可读介质,其特征在于,所述体系结构可与一个或多个软件开发组件相组合。8.如权利要求7所述的一个或多个计算机可读介质,其特征在于,所述一个或多个软件开发组件包括描述目标软件开发工具的数据。9.如权利要求7所述的一个或多个计算机可读介质,其特征在于,所述一个或多个软件开发组件为所述代码生成器提供了目标执行体系结构数据。10.如权利要求7所述的一个或多个计算机可读介质,其特征在于,所述一个或多个软件开发组件为所述类型系统提供了一个或多个类型校验规则。11.如权利要求7所述的一个或多个计算机可读介质,其特征在于,所述一个或多个软件开发组件为所述体系结构提供了一组类扩展声明。12.如权利要求7所述的一个或多个计算机可读介质,其特征在于,所述组合的一个或多个软件开发组件和体系结构产生一目标软件开发工具。13.如权利要求12所述的一个或多个计算机可读介质,其特征在于,所述目标软件开发工具包括本机编译器。14.如权利要求12所述的一个或多个计算机可读介质,其特征在于,所述目标软件开发工具包括JIT编译器。15.一种创建目标软件开发工具的方法,其特征在于,所述方法包括接收指定了专用于一个或多个软件开发场景的功能的至少一个计算机可读规范;根据所述至少一个规范创建至少一个软件开发组件;以及将所述至少一个软件开发组件集成到一软件开发场景不相关框架中。16.如权利要求15所述的方法,其特征在于,它还包括编译所述至少一个软件开发组件和框架,以创建所述目标软件开发工具。17.如权利要求15所述的方法,其特征在于,根据多个计算机可读规范,为多个相应的软件开发场景创建的软件开发组件被集成到所述框架中。18.如权利要求17所述的方法,其特征在于,所述多个计算机可读规范为以下相应的软件开发场景指定了功能目标执行体系结构;输入语言或者输入二进制格式;以及编译类型。19.如权利要求15所述的方法,其特征在于,所述计算机可读规范为所述软件开发工具的目标执行体系结构指定了功能。20.如权利要求15所述的方法,其特征在于,所述计算机可读规范为所述软件开发工具指定了用于适应输入语言的功能。21.如权利要求15所述的方法,其特征在于,所述计算机可读规范为所述软件开发工具指定了用于适应二进制输入的功能。22.如权利要求15所述的方法,其特征在于,所述计算机可读规范包括用于类型校验一个或多个语言的一个或多个规则组。23.如权利要求15所述的方法,其特征在于,所述计算机可读规范包括专用于一个或多个软件开发场景的一组类扩展声明。24.如权利要求15所述的方法,其特征在于,所述计算机可读规范包括用于处理能够表示多个程序设计语言的中间表示格式的功能。25.如权利要求24所述的方法,其特征在于,所述中间表示格式包括能够支...
【专利技术属性】
技术研发人员:AVS萨斯特里,AE艾尔斯,AJ爱德华兹,CL米谢尔,DM吉尔斯,DR小塔迪蒂,J伯格,ML罗伯茨,MR普莱斯克,VK格罗弗,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。