Lightweight application program interface (API) for extensible markup language (XML)
    1.
    发明申请
    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)结合使用的面向语句的风格接口。

    Data types with incorporated collation information
    3.
    发明申请
    Data types with incorporated collation information 有权
    包含归类信息的数据类型

    公开(公告)号:US20060047671A1

    公开(公告)日:2006-03-02

    申请号:US10925509

    申请日:2004-08-25

    IPC分类号: G06F17/00

    CPC分类号: G06F9/454

    摘要: The subject invention pertains to a system and method of incorporating collation information into data types. In particular, the subject invention provides for parameterizing data types with collation information such that a comparison between two different collations generates a static-type error rather than a run-time error. Additionally, the invention affords for conveniently working with localized data types to allow generic parameterization over collations as well as ordinary types. In the context of strings, the present invention enables concurrent use of strings in multiple languages and facilitates the correct handling thereof.

    摘要翻译: 本发明涉及将归类信息并入数据类型的系统和方法。 特别地,本发明提供了用归类信息参数化数据类型,使得两个不同排序顺序之间的比较产生静态类型错误而不是运行时错误。 此外,本发明提供了方便地使用本地化数据类型以允许通过归一化以及普通类型的一般参数化。 在字符串的上下文中,本发明能够并行使用多种语言的字符串并且有助于其正确处理。

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

    公开(公告)号:US20070028209A1

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

    申请号:US11192919

    申请日:2005-07-29

    IPC分类号: G06F9/44 G06F9/45

    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会在命名空间中的所有静态类中导入所有扩展方法。 实际上,导入的扩展方法在其第一个参数给出的类型上显示为附加方法,并且具有比常规实例方法更低的优先级。

    Local type alias inference system and method
    7.
    发明申请
    Local type alias inference system and method 审中-公开
    本地类型别名推理系统和方法

    公开(公告)号:US20060048095A1

    公开(公告)日:2006-03-02

    申请号:US10930145

    申请日:2004-08-31

    IPC分类号: G06F9/44

    CPC分类号: G06F8/434

    摘要: The present invention discloses an improved system and method for specifying and compiling computer programs. Type aliases are introduced whose binding is inferred by a type inference component during compilation. Once declared, type aliases can be utilized just like regular types thereby providing added efficiency in coding, among other things. Additionally, a mechanism for specifying the introduction of a new variable whose type is to be inferred is disclosed. This mechanism clears up an ambiguity during type inference concerning whether to infer a new variable type or utilize a variable in scope. Further yet, an efficient type inference system and method is disclosed to effectively deal with overloading among other things.

    摘要翻译: 本发明公开了一种用于指定和编译计算机程序的改进的系统和方法。 引入类型别名,其编译期间由类型推断组件推断其绑定。 一旦声明,类别别可以像常规类型一样使用,从而提高编码的效率等等。 另外,公开了一种用于指定引入类型被推断的新变量的机制。 这种机制在关于是推断新的变量类型还是在范围中使用变量的类型推理中清除了歧义。 此外,公开了一种有效的类型推理系统和方法,以有效地处理超负荷等。

    Extending expression-based syntax for creating object instances
    8.
    发明申请
    Extending expression-based syntax for creating object instances 有权
    扩展用于创建对象实例的基于表达式的语法

    公开(公告)号:US20070028212A1

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

    申请号:US11193584

    申请日:2005-07-29

    IPC分类号: G06F9/44

    CPC分类号: G06F9/4488

    摘要: Syntax for creating object instances utilizing expressions instead of statements. A syntax component facilitates extension of conventional object-creation-expression syntax. An initializer component provides for initialization of a newly-created entity via object and collection initializers. The initializer component provides initialization of the newly-created entity utilizing an object initializer where the object initializer specifies values for one or more fields or properties of the newly-created entity which is an object, and consists of a sequence of member initializers enclosed by tokens and separated by commas. The initializer component can also provides initialization of the newly-created entity utilizing a collection initializer when the underlying object implements a certain interface or implements a certain pattern. An overloading constructor can be called as part of the initialization process. In another aspect, code inferencing is disclosed whereby given a type, the corresponding code can be inferred by the compiler and inserted for compiling by a compiler.

    摘要翻译: 使用表达式而不是语句创建对象实例的语法。 语法组件有助于扩展常规的对象创建表达式语法。 初始化器组件通过对象和集合初始化器提供新创建的实体的初始化。 初始化器组件使用对象初始化器来提供新创建的实体的初始化,其中对象初始化器指定作为对象的新创建的实体的一个或多个字段或属性的值,并且包括由令牌包围的成员初始化器序列 并用逗号分隔。 初始化器组件还可以在底层对象实现特定接口或实现某种模式时,利用集合初始化器来提供新创建的实体的初始化。 可以调用重载构造函数作为初始化过程的一部分。 在另一方面,公开了代码推论,由此给定类型,相应的代码可以由编译器推断并插入以供编译器编译。

    Anonymous types for statically typed queries
    9.
    发明申请
    Anonymous types for statically typed queries 有权
    用于静态类型查询的匿名类型

    公开(公告)号:US20070027862A1

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

    申请号:US11193601

    申请日:2005-07-29

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30421 G06F17/3041

    摘要: Anonymous types for a programming language. Non-denotable anonymous types are types that a compiler generates on behalf of a programmer and can then be used as nominal types. Insofar as anonymous types do not have a name, they can be used only inside a method in which they are created. Additionally, an anonymous type cannot be exposed in any way outside of the method. Syntax to create an anonymous type is useful when employed with a Select operator to generate a result with a particular shape, without the need of having a regular type for it. Anonymous types are expressible such that an expression of that type can be written. Translation of an anonymous type by a compiler generates a nominal class that implements Equals and GetHashCode methods. There is equivalence of anonymous types within the same method, and conversion of an unrealized structural type into structurally compatible nominal type.

    摘要翻译: 编程语言的匿名类型。 不可表示的匿名类型是编译器代表程序员生成的类型,然后可以用作标称类型。 只要匿名类型没有名称,它们只能在创建它们的方法中使用。 此外,匿名类型不能以任何方式暴露在该方法之外。 创建匿名类型的语法在与“选择”运算符一起使用以生成具有特定形状的结果时非常有用,而无需为其定义类型。 匿名类型是可表达的,使得可以写入该类型的表达式。 编译器生成一个匿名类型,生成一个实现Equals和GetHashCode方法的标称类。 在同一方法中存在匿名类型的等价物,并将未实现的结构类型转换为结构兼容的名义类型。