DYNAMIC BINDING DIRECTED BY STATIC TYPES
    2.
    发明申请
    DYNAMIC BINDING DIRECTED BY STATIC TYPES 有权
    动态绑定的动态绑定

    公开(公告)号:US20100299660A1

    公开(公告)日:2010-11-25

    申请号:US12469696

    申请日:2009-05-21

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/54 G06F9/44521

    摘要: A static type, called “dynamic”, is introduced into a statically bound programming language. An expression or subexpression that is defined as a static type called “dynamic” in the source code of a program written in the statically bound programming language, is bound based on its runtime type instead of on its compile time type. Binding can be performed based on a mixture of compile time and runtime types that are based on the specification of types of expressions in source code. This type of binding is called hybrid binding. Operations are bound using the runtime type of constituent expressions (i.e., the runtime type of a receiver, an argument, or an operand) typed as dynamic and the compile time type of static constituents. If any constituent expression of an operation is dynamic, binding occurs at runtime instead of at compile time.

    摘要翻译: 称为“动态”的静态类型被引入到静态编程语言中。 在静态编程语言编写的程序的源代码中被定义为静态类型的动态表达式或子表达式是基于其运行时类型而不是编译时类型而绑定的。 可以基于基于源代码中表达式的类型的编译时间和运行时类型的混合来执行绑定。 这种类型的绑定称为混合绑定。 使用类型为动态的组合表达式(即,接收器的运行时类型,参数或操作数)的运行时类型以及静态组件的编译时间类型来绑定操作。 如果操作的任何组成表达式是动态的,则绑定在运行时而不是在编译时发生。

    USING COMPILER-GENERATED TASKS TO REPRESENT PROGRAMMING ELEMENTS
    3.
    发明申请
    USING COMPILER-GENERATED TASKS TO REPRESENT PROGRAMMING ELEMENTS 有权
    使用编译器生成的任务来表示编程元素

    公开(公告)号:US20120324457A1

    公开(公告)日:2012-12-20

    申请号:US13162328

    申请日:2011-06-16

    IPC分类号: G06F9/46

    CPC分类号: G06F8/45

    摘要: The present invention extends to methods, systems, and computer program products for representing various programming elements with compiler-generated tasks. Embodiments of the invention enable access to the future state of a method through a handle to a single and composable task object. For example, an asynchronous method is rewritten to generate and return a handle to an instance of a builder object, which represents one or more future states of the asynchronous method. Information about operation of the asynchronous method is then passed through the handle. Accordingly, state of the asynchronous method is trackable prior to and after completing.

    摘要翻译: 本发明扩展到用于用编译器生成的任务表示各种编程元素的方法,系统和计算机程序产品。 本发明的实施例能够通过对单个和可组合任务对象的句柄来访问方法的未来状态。 例如,重写异步方法以生成并返回对构建器对象的实例的句柄,该对象表示异步方法的一个或多个未来状态。 关于异步方法的操作的信息然后通过句柄传递。 因此,异步方法的状态在完成之前和之后是可跟踪的。

    Pattern-based compilation of asynchronous consumption
    4.
    发明授权
    Pattern-based compilation of asynchronous consumption 有权
    基于模式的异步消耗编译

    公开(公告)号:US08918767B2

    公开(公告)日:2014-12-23

    申请号:US13162288

    申请日:2011-06-16

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/456

    摘要: The present invention extends to methods, systems, and computer program products for transforming source code to await execution of asynchronous operations. Embodiments of the invention simplify authoring and use of asynchronous methods, by generating statements that use well-defined awaitable objects to await completion of asynchronous operations. For example, a computer system can transform a statement that requests to await the completion of an asynchronous operation into a plurality of statements that use a predefined pattern of members of an awaitable object corresponding the asynchronous operation. The pattern can include one or more members configured to return a completion status of the asynchronous operation, one or more members configured to resume execution of the asynchronous method at a resumption point when the asynchronous operation completes, and one or more members configured to retrieve completion results. Accordingly, the plurality of statements can use these members to await execution of the asynchronous operation.

    摘要翻译: 本发明扩展到用于转换源代码以等待执行异步操作的方法,系统和计算机程序产品。 本发明的实施例简化了异步方法的编写和使用,通过生成使用明确定义的等待对象等待完成异步操作的语句。 例如,计算机系统可以将请求等待完成异步操作的语句转换为使用对应于异步操作的可等待对象的成员的预定义模式的多个语句。 该模式可以包括被配置为返回异步操作的完成状态的一个或多个成员,被配置成在异步操作完成时在恢复点恢复异步方法的执行的一个或多个成员以及被配置为检索完成的一个或多个成员 结果。 因此,多个语句可以使用这些成员来等待异步操作的执行。

    PATTERN-BASED COMPILATION OF ASYNCHRONOUS CONSUMPTION
    5.
    发明申请
    PATTERN-BASED COMPILATION OF ASYNCHRONOUS CONSUMPTION 有权
    基于模式的异步消费的编译

    公开(公告)号:US20120324431A1

    公开(公告)日:2012-12-20

    申请号:US13162288

    申请日:2011-06-16

    IPC分类号: G06F9/45

    CPC分类号: G06F8/456

    摘要: The present invention extends to methods, systems, and computer program products for transforming source code to await execution of asynchronous operations. Embodiments of the invention simplify authoring and use of asynchronous methods, by generating statements that use well-defined awaitable objects to await completion of asynchronous operations. For example, a computer system can transform a statement that requests to await the completion of an asynchronous operation into a plurality of statements that use a predefined pattern of members of an awaitable object corresponding the asynchronous operation. The pattern can include one or more members configured to return a completion status of the asynchronous operation, one or more members configured to resume execution of the asynchronous method at a resumption point when the asynchronous operation completes, and one or more members configured to retrieve completion results. Accordingly, the plurality of statements can use these members to await execution of the asynchronous operation.

    摘要翻译: 本发明扩展到用于转换源代码以等待执行异步操作的方法,系统和计算机程序产品。 本发明的实施例简化了异步方法的编写和使用,通过生成使用明确定义的等待对象等待完成异步操作的语句。 例如,计算机系统可以将请求等待完成异步操作的语句转换为使用对应于异步操作的可等待对象的成员的预定义模式的多个语句。 该模式可以包括被配置为返回异步操作的完成状态的一个或多个成员,被配置成在异步操作完成时在恢复点恢复异步方法的执行的一个或多个成员以及被配置为检索完成的一个或多个成员 结果。 因此,多个语句可以使用这些成员来等待异步操作的执行。

    Using compiler-generated tasks to represent programming elements
    7.
    发明授权
    Using compiler-generated tasks to represent programming elements 有权
    使用编译器生成的任务来表示编程元素

    公开(公告)号:US08572585B2

    公开(公告)日:2013-10-29

    申请号:US13162328

    申请日:2011-06-16

    IPC分类号: G06F9/45

    CPC分类号: G06F8/45

    摘要: The present invention extends to methods, systems, and computer program products for representing various programming elements with compiler-generated tasks. Embodiments of the invention enable access to the future state of a method through a handle to a single and composable task object. For example, an asynchronous method is rewritten to generate and return a handle to an instance of a builder object, which represents one or more future states of the asynchronous method. Information about operation of the asynchronous method is then passed through the handle. Accordingly, state of the asynchronous method is trackable prior to and after completing.

    摘要翻译: 本发明扩展到用于用编译器生成的任务表示各种编程元素的方法,系统和计算机程序产品。 本发明的实施例能够通过对单个和可组合任务对象的句柄来访问方法的未来状态。 例如,重写异步方法以生成并返回对构建器对象的实例的句柄,该对象表示异步方法的一个或多个未来状态。 关于异步方法的操作的信息然后通过句柄传递。 因此,异步方法的状态在完成之前和之后是可追踪的。