Generic representation of optional values
    1.
    发明申请
    Generic representation of optional values 审中-公开
    可选值的通用表示

    公开(公告)号:US20060015528A1

    公开(公告)日:2006-01-19

    申请号:US10891459

    申请日:2004-07-14

    IPC分类号: G06F17/00

    CPC分类号: G06F8/437

    摘要: A generic nullable type that is capable of representing null values for reference, value, and other types in a uniform manner is described. The nullable generic type includes at least two portions: a container portion and a Boolean member portion. The container portion can hold other objects of other types, including both reference and value types. The Boolean member portion indicates whether the type held by the container has a value or not. Specifically, when the Boolean member is true, the values of the general type held by the container are valid. When the Boolean member is false, the values of the general type are invalid or undefined to represent an unspecified or null condition. Stack memory usage for the nullable type, a comparison of two objects of the nullable type, and an example database manipulation using the nullable type are also described.

    摘要翻译: 描述了能够以均匀方式表示参考值,值和其他类型的空值的通用可空类型。 可空的通用类型包括至少两个部分:容器部分和布尔成员部分。 容器部分可以容纳其他类型的其他对象,包括引用和类型。 布尔构件部分指示容器持有的类型是否具有值。 具体来说,当布尔成员为true时,容器持有的通用类型的值是有效的。 当布尔成员为false时,通用类型的值无效或未定义,以表示未指定或空值。 还描述了可空类型的堆栈内存使用,可空类型的两个对象的比较以及使用可空类型的示例数据库操作。

    Compiler supporting programs as data objects
    4.
    发明授权
    Compiler supporting programs as data objects 有权
    编译器支持程序作为数据对象

    公开(公告)号:US07992140B2

    公开(公告)日:2011-08-02

    申请号:US11193721

    申请日:2005-07-29

    CPC分类号: G06F8/47 G06F8/427 G06F8/436

    摘要: A compiler supporting a language in which selected semantic objects are represented as data objects. The data objects may be used in multiple ways to expand the capabilities of the programming language. Data objects may be passed to applications and used to create executable instructions for that application. In this way, instructions written in the native language of the compiler may be used to control applications that accept programs in a language inconsistent with the native language of the compiler. The syntax checking and variable binding capabilities of the compiler may be used for those instructions that will be executed by an application separate from the object code generated by the compiler. The semantic objects represented as data objects may be selected based on express operations included in the source code or may be based on implicit type conversion.

    摘要翻译: 支持语言的编译器,其中选择的语义对象被表示为数据对象。 数据对象可以以多种方式用于扩展编程语言的能力。 数据对象可以传递给应用程序,并用于为该应用程序创建可执行指令。 以这种方式,用编译器的母语编写的指令可以用于控制接受与编译器的本机语言不一致的语言的程序的应用程序。 编译器的语法检查和变量绑定功能可以用于将由与编译器生成的目标代码分离的应用程序执行的那些指令。 可以基于包含在源代码中的快速操作来选择表示为数据对象的语义对象,或者可以基于隐式类型转换。

    Lightweight application program interface (API) for extensible markup language (XML)
    6.
    发明申请
    Lightweight application program interface (API) for extensible markup language (XML) 有权
    用于可扩展标记语言(XML)的轻量级应用程序接口(API)

    公开(公告)号:US20070028163A1

    公开(公告)日:2007-02-01

    申请号:US11193567

    申请日:2005-07-29

    IPC分类号: G06F17/24

    CPC分类号: G06F17/2247 G06F17/30932

    摘要: An architecture that leverages support for markup language operations, e.g., extensible markup language (XML) queries, via a lightweight application program interface (API). The API defines an object model that can simplify construction of XML values in languages that do not natively support XML. The novel aspects of the described innovation can enable query languages to be factored into general operations (e.g., mapping, filtering, sorting, and/or projection of functions) on collections on one hand, and a set of domain specific operations (e.g., navigation, construction and modification) on the elements of these collections on another hand. The subject API can support creation of XML data that is node centric (e.g., context-free). Accordingly, nodes do not have to be constructed within the context of a document. Additionally, aspects can enable expression-oriented interface mechanisms as opposed to the imperative statement-oriented style interfaces used in connection with traditional interface mechanisms (e.g., DOM).

    摘要翻译: 通过轻量级应用程序接口(API)利用支持标记语言操作(例如可扩展标记语言(XML)查询)的体系结构。 API定义了一个对象模型,可以简化XML本身不支持XML的语言的构造。 所描述的创新的新颖方面可以使查询语言能够一方面被视为一般操作(例如,功能的映射,过滤,排序和/或投影),以及一组特定于领域的操作(例如,导航 ,建设和修改)另一方面对这些收藏品的要素。 主题API可以支持以节点为中心(例如,无上下文)创建XML数据。 因此,节点不必在文档的上下文中构建。 另外,方面可以实现面向表达式的接口机制,而不是与传统接口机制(例如,DOM)结合使用的面向语句的风格接口。

    COMPILER SUPPORTING PROGRAMS AS DATA OBJECTS
    7.
    发明申请
    COMPILER SUPPORTING PROGRAMS AS DATA OBJECTS 有权
    编译器支持程序作为数据对象

    公开(公告)号:US20110246973A1

    公开(公告)日:2011-10-06

    申请号:US13161816

    申请日:2011-06-16

    IPC分类号: G06F9/45

    CPC分类号: G06F8/47 G06F8/427 G06F8/436

    摘要: A compiler supporting a language in which selected semantic objects are represented as data objects. The data objects may be used in multiple ways to expand the capabilities of the programming language. Data objects may be passed to applications and used to create executable instructions for that application. In this way, instructions written in the native language of the compiler may be used to control applications that accept programs in a language inconsistent with the native language of the compiler. The syntax checking and variable binding capabilities of the compiler may be used for those instructions that will be executed by an application separate from the object code generated by the compiler. The semantic objects represented as data objects may be selected based on express operations included in the source code or may be based on implicit type conversion.

    摘要翻译: 支持语言的编译器,其中选择的语义对象被表示为数据对象。 数据对象可以以多种方式用于扩展编程语言的能力。 数据对象可以传递给应用程序,并用于为该应用程序创建可执行指令。 以这种方式,用编译器的母语编写的指令可以用于控制接受与编译器的本机语言不一致的语言的程序的应用程序。 编译器的语法检查和变量绑定功能可以用于将由与编译器生成的目标代码分离的应用程序执行的那些指令。 可以基于包含在源代码中的快速操作来选择表示为数据对象的语义对象,或者可以基于隐式类型转换。

    Compiler supporting programs as data objects
    8.
    发明申请
    Compiler supporting programs as data objects 有权
    编译器支持程序作为数据对象

    公开(公告)号:US20070028223A1

    公开(公告)日:2007-02-01

    申请号:US11193721

    申请日:2005-07-29

    IPC分类号: G06F9/45

    CPC分类号: G06F8/47 G06F8/427 G06F8/436

    摘要: A compiler supporting a language in which selected semantic objects are represented as data objects. The data objects may be used in multiple ways to expand the capabilities of the programming language. Data objects may be passed to applications and used to create executable instructions for that application. In this way, instructions written in the native language of the compiler may be used to control applications that accept programs in a language inconsistent with the native language of the compiler. The syntax checking and variable binding capabilities of the compiler may be used for those instructions that will be executed by an application separate from the object code generated by the compiler. The semantic objects represented as data objects may be selected based on express operations included in the source code or may be based on implicit type conversion.

    摘要翻译: 支持语言的编译器,其中选择的语义对象被表示为数据对象。 数据对象可以以多种方式用于扩展编程语言的能力。 数据对象可以传递给应用程序,并用于为该应用程序创建可执行指令。 以这种方式,用编译器的母语编写的指令可以用于控制接受与编译器的本机语言不一致的语言的程序的应用程序。 编译器的语法检查和变量绑定功能可以用于将由与编译器生成的目标代码分离的应用程序执行的那些指令。 可以基于包含在源代码中的快速操作来选择表示为数据对象的语义对象,或者可以基于隐式类型转换。

    Architecture that extends types using extension methods
    10.
    发明授权
    Architecture that extends types using extension methods 有权
    使用扩展方法扩展类型的体系结构

    公开(公告)号:US08370801B2

    公开(公告)日:2013-02-05

    申请号:US12728939

    申请日:2010-03-22

    IPC分类号: G06F9/44

    CPC分类号: G06F8/315

    摘要: Architecture that extends existing types including constructed and sealed types using extension methods. Extension methods are static methods that can be invoked using instance method syntax. Extension methods are declared by specifying the keyword “this” as a modifier on the first parameter of the methods. Extension methods have all the capabilities of regular static methods. In addition, once imported, extension methods can be invoked using instance method syntax. Also disclosed are rules for importing extension methods, and extension method invocations. Extension methods are imported through using-namespace-directives. In addition to importing the types contained in a namespace, a using-namespace-directive imports all extension methods in all static classes in the namespace. In effect, imported extension methods appear as additional methods on the types that are given by their first parameter and have lower precedence than regular instance methods.

    摘要翻译: 使用扩展方法扩展现有类型(包括构造和密封类型)的体系结构。 扩展方法是可以使用实例方法语法调用的静态方法。 通过将关键字this指定为方法的第一个参数的修饰符来声明扩展方法。 扩展方法具有常规静态方法的所有功能。 另外,一旦导入,可以使用实例方法语法来调用扩展方法。 还公开了导入扩展方法和扩展方法调用的规则。 扩展方法通过using-namespace-directives导入。 除了导入命名空间中包含的类型之外,using-namespace-directive会在命名空间中的所有静态类中导入所有扩展方法。 实际上,导入的扩展方法在其第一个参数给出的类型上显示为附加方法,并且具有比常规实例方法更低的优先级。