-
公开(公告)号:US20070028222A1
公开(公告)日:2007-02-01
申请号:US11193566
申请日:2005-07-29
申请人: Henricus Meijer , Anders Hejlsberg , Matthew Warren , Luca Bolognese , Peter Hallam , Gary Katzenberger , Dinesh Kulkarni
发明人: Henricus Meijer , Anders Hejlsberg , Matthew Warren , Luca Bolognese , Peter Hallam , Gary Katzenberger , Dinesh Kulkarni
IPC分类号: G06F9/45
CPC分类号: G06F8/43
摘要: This disclosure concerns various manners and mechanisms to capture and interact with free/outer variables or parameters. The capture of such variables, among other things, enables the code to become mobile to facilitate transmission to and execution by various systems or sub-systems. Transmission can be accomplished, for instance, by generation of code objects or data packets that include substituted values of the free variables and/or references to the location of the values.
摘要翻译: 本公开涉及捕获自由/外部变量或参数的各种方式和机制。 除了别的以外,捕获这些变量使得代码变得可移动,以便于各种系统或子系统的传输和执行。 传输可以例如通过生成包括自由变量的替代值和/或对值的位置的引用的数据分组来实现。
-
2.
公开(公告)号:US20070028212A1
公开(公告)日:2007-02-01
申请号:US11193584
申请日:2005-07-29
申请人: Henricus Meijer , Anders Hejlsberg , Matthew Warren , Luca Bolognese , Peter Hallam , Gary Katzenberger , Dinesh Kulkarni
发明人: Henricus Meijer , Anders Hejlsberg , Matthew Warren , Luca Bolognese , Peter Hallam , Gary Katzenberger , Dinesh Kulkarni
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.
摘要翻译: 使用表达式而不是语句创建对象实例的语法。 语法组件有助于扩展常规的对象创建表达式语法。 初始化器组件通过对象和集合初始化器提供新创建的实体的初始化。 初始化器组件使用对象初始化器来提供新创建的实体的初始化,其中对象初始化器指定作为对象的新创建的实体的一个或多个字段或属性的值,并且包括由令牌包围的成员初始化器序列 并用逗号分隔。 初始化器组件还可以在底层对象实现特定接口或实现某种模式时,利用集合初始化器来提供新创建的实体的初始化。 可以调用重载构造函数作为初始化过程的一部分。 在另一方面,公开了代码推论,由此给定类型,相应的代码可以由编译器推断并插入以供编译器编译。
-
公开(公告)号:US20070027862A1
公开(公告)日:2007-02-01
申请号:US11193601
申请日:2005-07-29
申请人: Henricus Meijer , Anders Hejlsberg , Matthew Warren , Luca Bolognese , Peter Hallam , Gary Katzenberger , Dinesh Kulkarni
发明人: Henricus Meijer , Anders Hejlsberg , Matthew Warren , Luca Bolognese , Peter Hallam , Gary Katzenberger , Dinesh Kulkarni
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方法的标称类。 在同一方法中存在匿名类型的等价物,并将未实现的结构类型转换为结构兼容的名义类型。
-
公开(公告)号:US20070044083A1
公开(公告)日:2007-02-22
申请号:US11193565
申请日:2005-07-29
申请人: Henricus Meijer , Anders Hejlsberg , Donald Box , Matthew Warren , Luca Bolognese , Gary Katzenberger , Peter Hallam , Dinesh Kulkarni
发明人: Henricus Meijer , Anders Hejlsberg , Donald Box , Matthew Warren , Luca Bolognese , Gary Katzenberger , Peter Hallam , Dinesh Kulkarni
IPC分类号: G06F9/45
摘要: The subject disclosure pertains to lambda expressions and the employment of such expressions in imperative and/or object-oriented computer programming languages. Lambda expressions can be employed in conjunction with methods (e.g., arguments, assignment . . . ) to provide a more concise and functional manner of code specification. Further, lambda expressions can participate in type inference and checking as well as overload resolution, among other things.
摘要翻译: 主题公开涉及lambda表达式以及在命令式和/或面向对象的计算机编程语言中使用这种表达式。 Lambda表达式可以与方法(例如,参数,赋值...)一起使用,以提供更简洁和功能性的代码规范方式。 此外,lambda表达式可以参与类型推断和检查以及重载分辨率等等。
-
公开(公告)号:US20070028209A1
公开(公告)日:2007-02-01
申请号:US11192919
申请日:2005-07-29
申请人: Henricus Meijer , Anders Hejlsberg , Matthew Warren , Luca Bolognese , Peter Hallam , Gary Katzenberger , Dinesh Kulkarni
发明人: Henricus Meijer , Anders Hejlsberg , Matthew Warren , Luca Bolognese , Peter Hallam , Gary Katzenberger , Dinesh Kulkarni
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会在命名空间中的所有静态类中导入所有扩展方法。 实际上,导入的扩展方法在其第一个参数给出的类型上显示为附加方法,并且具有比常规实例方法更低的优先级。
-
公开(公告)号:US20070027907A1
公开(公告)日:2007-02-01
申请号:US11193690
申请日:2005-07-29
申请人: Dinesh Kulkarni , Anders Hejlsberg , Matthew Warren , Luca Bolognese , Henricus Meijer , Peter Hallam
发明人: Dinesh Kulkarni , Anders Hejlsberg , Matthew Warren , Luca Bolognese , Henricus Meijer , Peter Hallam
IPC分类号: G06F17/00
CPC分类号: G06F8/24 , G06F8/30 , G06F8/65 , G06F17/30595 , G06F17/30607 , Y10S707/99931 , Y10S707/99943 , Y10S707/99944
摘要: The subject disclosure pertains to code generation patterns for use in object relational mapping. The code patterns may be used to manage bidirectional relationships and ensure consistency. The code patterns may support on-demand or deferred loading of relational data. Change detection and tracking are also provided. In addition, a default member modifier allows developers to override tool generated source code without directly modifying the generated source code.
摘要翻译: 本发明涉及用于对象关系映射的代码生成模式。 代码模式可用于管理双向关系并确保一致性。 代码模式可以支持关系数据的按需或延迟加载。 还提供了更改检测和跟踪。 此外,默认成员修饰符允许开发人员覆盖工具生成的源代码,而无需直接修改生成的源代码。
-
公开(公告)号:US20070027906A1
公开(公告)日:2007-02-01
申请号:US11193574
申请日:2005-07-29
申请人: Henricus Meijer , Anders Hejlsberg , Dinesh Kulkarni , Luca Bolognese , Matthew Warren , Peter Hallam
发明人: Henricus Meijer , Anders Hejlsberg , Dinesh Kulkarni , Luca Bolognese , Matthew Warren , Peter Hallam
IPC分类号: G06F17/00
CPC分类号: G06F17/30595 , G06F17/30607
摘要: Systems and methods that enable consistent navigation (for a database and memory environment) in object relational mapping. This typically ensures fidelity of object graph via restrictions on collections of persistent objects (e.g., entity sets, entity refs . . . ). Moreover, a tracking component can detect changes as they occur, and only a copy of the objects that have changed can be created, to optimize operation.
摘要翻译: 在对象关系映射中实现一致导航(用于数据库和内存环境)的系统和方法。 这通常通过对持久对象的集合(例如,实体集,实体参考)的限制来确保对象图的保真度。 此外,跟踪组件可以检测到它们发生的变化,并且可以仅创建已经改变的对象的副本来优化操作。
-
公开(公告)号:US20070027905A1
公开(公告)日:2007-02-01
申请号:US11193573
申请日:2005-07-29
申请人: Matthew Warren , Anders Hejlsberg , Luca Bolognese , Dinesh Kulkarni , Henricus Meijer , Peter Hallam , Jomo Fisher
发明人: Matthew Warren , Anders Hejlsberg , Luca Bolognese , Dinesh Kulkarni , Henricus Meijer , Peter Hallam , Jomo Fisher
IPC分类号: G06F17/00
CPC分类号: G06F8/51 , G06F16/2452 , G06F16/284
摘要: A system for converting a query from a representation in a first computing language to an equivalent query in a representation in a second computing language that is different from the first computing language, comprises a query module that accepts a query in an object-oriented representation for translation to an equivalent query in a target query language. The system also includes a translation module that uses the object-oriented representation of the query to create a first version of the query in an idealized version of a target query language and uses the first version of the query to create a second version of the query in an implemented version of the target query language. Methods of using the system are also provided.
摘要翻译: 一种用于将来自第一计算语言的表示的查询转换成与第一计算语言不同的第二计算语言的表示中的等效查询的系统,包括在面向对象的表示中接受查询的查询模块 翻译成目标查询语言中的等效查询。 该系统还包括翻译模块,其使用查询的面向对象表示以目标查询语言的理想化版本来创建查询的第一版本,并且使用查询的第一版本来创建查询的第二版本 在目标查询语言的实现版本中。 还提供了使用该系统的方法。
-
9.
公开(公告)号:US20070027849A1
公开(公告)日:2007-02-01
申请号:US11193787
申请日:2005-07-29
申请人: Henricus Meijer , Anders Hejlsberg , Matthew Warren , Luca Bolognese , Peter Hallam , Gary Katzenberger , Dinesh Kulkarni
发明人: Henricus Meijer , Anders Hejlsberg , Matthew Warren , Luca Bolognese , Peter Hallam , Gary Katzenberger , Dinesh Kulkarni
IPC分类号: G06F17/30
CPC分类号: G06F16/2438 , G06F16/289
摘要: A general-purpose programming language having language extensions for strongly typed, compile-time checked query and set operations that can be applied to arbitrary data structures, be they object-relational (O-R) mappings or just regular objects. As is appropriate for a general purpose programming language, the extensions do not mandate a particular object-relational layer; rather, they are introduced as abstractions that can be implemented in multiple environments. Accordingly, there is provided a system that facilitates data querying in accordance with an innovative aspect. The system include a program component that provides embedded query and set operations in a programming language, and an application component that facilitates application of the query and set operations over a data structure of data. The data can be any kind of data such as that found in a database, a document (e.g., XML), and data sources in a programming language (e.g., C#), for example.
摘要翻译: 具有用于强类型,编译时检查查询和可应用于任意数据结构的集合操作的语言扩展的通用编程语言,无论是对象关系(O-R)映射还是只是常规对象。 适用于通用编程语言,扩展不要求特定的对象关系层; 相反,它们被引入可以在多个环境中实现的抽象。 因此,提供了一种根据创新方面促进数据查询的系统。 该系统包括以编程语言提供嵌入式查询和集合操作的程序组件,以及促进查询应用并且对数据的数据结构设置操作的应用程序组件。 数据可以是例如在数据库,文档(例如,XML)中找到的任何类型的数据,以及编程语言(例如,C#)中的数据源。
-
公开(公告)号:US20070028223A1
公开(公告)日:2007-02-01
申请号:US11193721
申请日:2005-07-29
申请人: Henricus Johannes Meijer , Anders Hejlsberg , Matthew Warren , Dinesh Kulkarni , Luca Bolognese , Peter Hallam , Gary Katzenberger , Donald Box
发明人: Henricus Johannes Meijer , Anders Hejlsberg , Matthew Warren , Dinesh Kulkarni , Luca Bolognese , Peter Hallam , Gary Katzenberger , Donald Box
IPC分类号: G06F9/45
摘要: 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.
摘要翻译: 支持语言的编译器,其中选择的语义对象被表示为数据对象。 数据对象可以以多种方式用于扩展编程语言的能力。 数据对象可以传递给应用程序,并用于为该应用程序创建可执行指令。 以这种方式,用编译器的母语编写的指令可以用于控制接受与编译器的本机语言不一致的语言的程序的应用程序。 编译器的语法检查和变量绑定功能可以用于将由与编译器生成的目标代码分离的应用程序执行的那些指令。 可以基于包含在源代码中的快速操作来选择表示为数据对象的语义对象,或者可以基于隐式类型转换。
-
-
-
-
-
-
-
-
-