[发明专利]作为数据对象的编译器支持程序有效

专利信息
申请号: 200680027769.6 申请日: 2006-06-21
公开(公告)号: CN101233488A 公开(公告)日: 2008-07-30
发明(设计)人: H·J·M·梅杰;A·赫杰斯伯格;M·J·沃伦;D·C·库尔卡尼;L·伯洛格纳斯;P·A·豪拉姆;G·S·凯茨泽伯格;D·布克斯 申请(专利权)人: 微软公司
主分类号: G06F9/45 分类号: G06F9/45
代理公司: 上海专利商标事务所有限公司 代理人: 陈斌
地址: 美国华*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 作为 数据 对象 编译器 支持 程序
【说明书】:

发明背景

在某些情况下,期望将计算机程序指令作为数据对象对待。例如,当计算机程序员编写从另一应用程序访问数据的计算机程序时,便出现这种需要。例如,以C编程语言编写程序的程序员可能期望访问回答以SQL编程语言编写的查询的数据库。为了从C程序查询数据库,C程序员可将SQL命令作为串插入到C程序中。C编译器并不将这些串转换成可执行代码。相反,C编译器将这些串按照程序员的输入而逐字存储。

在C程序执行时,这些串将被传递到数据库的应用程序编程接口(API)。API可以编译或解释串,并向数据库提供适当命令以对数据库执行期望的访问。

如果在源代码文件中显式引用代码,则诸如Lisp/Scheme、MetaML和Template-Haskel的语言的编译器也会创建表示源代码文件中代码的数据对象。

发明内容

本发明涉及将源代码文件中的内部语义对象表示成数据对象的编译器。在许多情况下,语义对象会是以源代码形式构成程序指令的表达式。一方面,本发明涉及根据由编译器所使用的句法来处理内部语义对象以便将数据对象创建为外部语义数据结构。可通过多种方式之一来使用数据对象。数据对象可表示要由应用程序执行的表达式或函数,并且可被提供给该应用程序以使该应用程序执行该函数或表达式。另一方面,本发明涉及自动选择内部语义对象以便表示成数据对象。编译器可从内部语义对象创建将要作为参数传递给一方法的外部语义数据结构,从而执行隐式类型转换,该方法被构造成基于该方法接收到的自变量类型来接收表示源代码的数据对象。

上述概述并非由所附权利要求书限定的本发明的限制。

附图简述

附图不旨在按比例绘制。在附图中,不同附图中示出的每个相同或近似相同的组件由相同的附图标记表示。为了清楚起见,并未在每个附图中都标出了各个组件。在附图中:

图1是表示可以使用编译器的应用程序环境的简图;

图2A和2B是表示可由图1的编译器处理的代码段的简图;

图3A和3B是可用于表示图2A和图2B的程序段中的表达式的数据对象的简图;

图4是图1的编译器可操作的进程的流程图;

图5A和5B是表示可实现API的一部分的代码段的简图;

图5C是表示可调用图5A或图5B中示出的API所定义的方法的代码段的简图。

具体实施方式

已经意识到,可通过提供可从其编译的源代码中的语义对象选择性创建数据对象的编译器来使计算机语言更加灵活。通过使用从正被编译的源代码的内部语义对象到包含该语义对象的句法数据表示的数据对象的编译时(compile-time)隐式类型转换来创建数据对象。可对诸如标签、表达式、委托、方法、类、语句块或任何其它源代码指令单元或分组的任何期望形式的内部语义对象创建数据对象。在以下描述中,计算机程序指令,尤其是表达式被用作内部语义对象的示例。

隐式类型转换可被视为允许程序员从给定编译时类型T获取(运行时)System.Type实例的(T)构造类型一般化。然而,可以通过任何合适方式从内部语义对象创建数据对象。

这种编译器能够简化对访问其它应用程序的应用程序的开放。当语义对象是旨在由用不同于编译器的本机语言的编程语言回答指令的一应用程序执行的计算机程序指令时,访问该应用程序的代码可以以与该程序其余部分相同的源代码语言编写。此外,隐式类型转换避免了程序员显式引用代码表达式的需要。

通过这种编译器,计算机程序员能够用编译器的本机语言编写控制对一应用程序的访问的指令。因为这些指令是以其本机语言编写的,编译器可对这些指令进行处理而不是简单地将它们作为串存储起来,这提供了诸如允许编译器在编译时检测句法错误的优点。此外,编译器可执行否则由程序员手动进行的名字绑定和变量捕捉。结果,表示编译器外部可用的计算机程序指令的数据对象可反映其主机语言的语义,并且可例如包括已被解析的变量名、已被校验的类型或者已根据主机语言的语义被插入的转换。重要的是该处理可在编译时进行,因此减少了在执行被简单地处理成串的代码的情况下在运行时可能发生的错误。

作为可以使用这种编译器的系统的示例,图1以简化框图形式示出应用程序环境100。应用程序环境100可在运行WINDOWS操作系统的台式计算机上创建。然而,具体应用程序环境并非是对本发明的限制。可以使用任何合适的操作系统。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200680027769.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top