-
公开(公告)号:US20050034109A1
公开(公告)日:2005-02-10
申请号:US10896610
申请日:2004-07-21
申请人: Jennifer Hamilton , Michael Magruder , James Hogg , William Evans , Vance Morrison , Lawrence Sullivan , Sean Trowbridge , Jason Zander , Ian Carmichael , Patrick Dussud , John Hamby , John Rivard , Li Zhang , Mario Chenier , Douglas Rosen , Steven Steiner , Peter Hallam , Brian Crawford , James Miller , Sam Spencer , Habib Heydarian
发明人: Jennifer Hamilton , Michael Magruder , James Hogg , William Evans , Vance Morrison , Lawrence Sullivan , Sean Trowbridge , Jason Zander , Ian Carmichael , Patrick Dussud , John Hamby , John Rivard , Li Zhang , Mario Chenier , Douglas Rosen , Steven Steiner , Peter Hallam , Brian Crawford , James Miller , Sam Spencer , Habib Heydarian
CPC分类号: G06F11/3664 , G06F8/34 , G06F8/48 , G06F9/455 , Y10S707/99944
摘要: A system and method of providing edit and continue support in a software program debugging environment. “Edit and continue” support allows a user (e.g., programmer and/or developer) to update the code and/or data structure(s) of an executing program while it is running. After the user has finished editing their code and resumes execution, an integrated development environment (IDE) propagates the edit(s) into a common language runtime (CLR) environment before continuing. Therefore, from the CLR environment's perspective, an edit is a block of intermediate language code (IL) and/or metadata that is inserted into a running process. The IDE can facilitate: determining “legality” of an edit; building the edit; sending the edit to the CLR environment; and/or, facilitating the CLR environment switch execution to the edited code.
摘要翻译: 在软件程序调试环境中提供编辑和继续支持的系统和方法。 “编辑和继续”支持允许用户(例如,程序员和/或开发者)在运行程序时更新执行程序的代码和/或数据结构。 用户完成编辑代码并恢复执行后,集成开发环境(IDE)将编辑传播到公共语言运行时(CLR)环境中,然后再继续。 因此,从CLR环境的角度来看,编辑是插入到正在运行的进程中的中间语言代码(IL)和/或元数据块。 IDE可以方便:确定编辑的“合法性”; 编辑编辑; 将编辑发送到CLR环境; 和/或促进CLR环境切换到编辑代码的执行。
-
公开(公告)号:US20060020446A1
公开(公告)日:2006-01-26
申请号:US10887739
申请日:2004-07-09
申请人: John Hamby , Niklas Gustafsson , Jason Allen
发明人: John Hamby , Niklas Gustafsson , Jason Allen
IPC分类号: G06F17/27
摘要: The present invention adds support for concurrency to a mainstream object-oriented language. Language extensions are provided that can enable programs to be developed that can either be run in one address space, distributed across several process on a single computer, or distributed across a local-area or wide-area network, without recoding the program. Central to this aspect is the notion of a service, which can execute its own algorithmic (logical) thread. Services do not share memory or synchronize using explicit synchronization primitives. Rather, both data sharing and synchronization is accomplished via message-passing, e.g., a set of explicitly declared messages are sent between services. Messages can contain data that is shared, and the pattern of message exchange provide the necessary synchronization.
摘要翻译: 本发明增加了对主流面向对象语言的并发性的支持。 提供了语言扩展,可以使开发程序能够在一个地址空间中运行,分布在单个计算机上的多个进程中,或分布在局域网或广域网上,而无需重新编程程序。 这个方面的核心是服务的概念,它可以执行自己的算法(逻辑)线程。 服务不共享内存或使用显式同步原语进行同步。 相反,数据共享和同步通过消息传递来实现,例如,在服务之间发送一组明确声明的消息。 消息可以包含共享的数据,并且消息交换的模式提供必要的同步。
-
公开(公告)号:US07620944B2
公开(公告)日:2009-11-17
申请号:US10699327
申请日:2003-10-31
IPC分类号: G06F9/45
CPC分类号: G06F8/437
摘要: Techniques are disclosed to support the resolution of an operator which has been called with inconsistent typing and at least one operand of a user-defined type. In order to allow the compilation of such an operation, first all possible widening conversions for each operand are examined to determine if any widening conversions of any operands would result in types over which the operator is defined. If not, both the narrowing and the widening conversions of each operand are considered, to determine if any conversions of either or both operands would result in types for which the operator is defined. If only widening conversions are used, the most encompassed possible result type is selected as the target type. If a narrowing conversion is used, the most encompassing possible result type is selected as the target type. In order to use the target type, each operand is converted to the target type. The operation is then performed using the converted operands.
摘要翻译: 公开了技术来支持以不一致的打字和用户定义的类型的至少一个操作数来调用的操作者的解析。 为了允许编译这样的操作,首先检查每个操作数的所有可能的扩展转换,以确定任何操作数的任何扩大转换是否会导致定义操作符的类型。 如果不是,则考虑每个操作数的缩小和扩大的转换,以确定任一或两个操作数的任何转换是否会导致定义操作符的类型。 如果仅使用加宽转换,则选择最包含的可能结果类型作为目标类型。 如果使用缩小转换,则选择最包含的可能结果类型作为目标类型。 为了使用目标类型,每个操作数都转换为目标类型。 然后使用转换的操作数执行操作。
-
公开(公告)号:US10104954B1
公开(公告)日:2018-10-23
申请号:US15791579
申请日:2017-10-24
申请人: John Hamby
发明人: John Hamby
摘要: The portable tray for a folding chair is a table. The portable tray for a folding chair is configured for use with a drink holder. The portable tray for a folding chair attaches to the drink holder such that a portion of the load path of the portable tray for a folding chair transfers through the drink holder to the supporting surface that supports the structure containing the drink holder. The portable tray for a folding chair comprises a tray, a telescopic stanchion, and a stabilizer. The tray is a horizontal surface that is used to support objects. The telescopic stanchion is a vertical support that raises the tray above the supporting surface. The stabilizer is a device that attaches the tray to the drink holder. The vertical span of the telescopic stanchion is adjustable.
-
公开(公告)号:US06067413A
公开(公告)日:2000-05-23
申请号:US662648
申请日:1996-06-13
申请人: Niklas Gustafsson , John Hamby
发明人: Niklas Gustafsson , John Hamby
CPC分类号: G06F8/20 , G06F8/47 , G06F9/4428
摘要: Method for enabling the simultaneous use of a first and a second programming language within a computer program, and apparatus to practice the method. To enable this sharing of languages, the present invention first provides for a common runtime representation of the data between the several languages in a program as a shared object model. The shared object model includes the layout of complex data structures (e.g., classes), the creation of data, the calling conventions, the destruction of data, the runtime representation of type information, dynamic function call dispatch, and dynamic type conversions. The use of a shared object model enables the sharing of the several compilers' internal representation of data between the different languages as a persistent shared symbol table. This shared internal data representation enables the several compilers to define their respective internal data representations in terms common to each of the compilers.
摘要翻译: 能够同时使用计算机程序中的第一和第二编程语言的方法以及实施该方法的装置。 为了实现语言共享,本发明首先提供了作为共享对象模型的程序中的几种语言之间的数据的公共运行时表示。 共享对象模型包括复杂数据结构(例如类),数据创建,调用约定,数据破坏,类型信息的运行时表示,动态函数调用调度和动态类型转换的布局。 使用共享对象模型可以将多个编译器在不同语言之间的数据内部表示共享作为持久共享符号表。 这种共享的内部数据表示使得几个编译器能够以与每个编译器通用的术语来定义它们各自的内部数据表示。
-
公开(公告)号:US20050097532A1
公开(公告)日:2005-05-05
申请号:US10699327
申请日:2003-10-31
申请人: Cameron Beccario , Paul Vick , Harish Kantamneni , Amanda Silver , John Hamby
发明人: Cameron Beccario , Paul Vick , Harish Kantamneni , Amanda Silver , John Hamby
IPC分类号: G06F9/45
CPC分类号: G06F8/437
摘要: Techniques are disclosed to support the resolution of an operator which has been called with inconsistent typing and at least one operand of a user-defined type. In order to allow the compilation of such an operation, first all possible widening conversions for each operand are examined to determine if any widening conversions of any operands would result in types over which the operator is defined. If not, both the narrowing and the widening conversions of each operand are considered, to determine if any conversions of either or both operands would result in types for which the operator is defined. If only widening conversions are used, the most encompassed possible result type is selected as the target type. If a narrowing conversion is used, the most encompassing possible result type is selected as the target type. In order to use the target type, each operand is converted to the target type. The operation is then performed using the converted operands.
摘要翻译: 公开了技术来支持以不一致的打字和用户定义的类型的至少一个操作数来调用的操作者的解析。 为了允许编译这样的操作,首先检查每个操作数的所有可能的扩展转换,以确定任何操作数的任何扩大转换是否会导致定义操作符的类型。 如果不是,则考虑每个操作数的缩小和扩大的转换,以确定任一或两个操作数的任何转换是否会导致定义操作符的类型。 如果仅使用加宽转换,则选择最包含的可能结果类型作为目标类型。 如果使用缩小转换,则选择最包含的可能结果类型作为目标类型。 为了使用目标类型,将每个操作数转换为目标类型。 然后使用转换的操作数执行操作。
-
公开(公告)号:US5764989A
公开(公告)日:1998-06-09
申请号:US608820
申请日:1996-02-29
申请人: Niklas Gustafsson , John Hamby , Patrick Lau
发明人: Niklas Gustafsson , John Hamby , Patrick Lau
CPC分类号: G06F11/3664 , G06F8/48 , G06F8/70 , G06F8/71 , G06F9/44521
摘要: An interactive program development system which replaces compilers, linkers and debuggers required for conventional software development. The present invention comprises a new program compilation system for producing a novel type of translated structure called a code object, and an Incremental Image which forms the program image from code objects and their respective intermediate language symbols stored in a persistent symbol table. The new program compilation system operates on conventional computers having a CPU, monitor, memory system and input devices. The present invention obviates the need to halt execution of a program under development or during maintenance update to correct programming errors.
摘要翻译: 交互式程序开发系统,用于替代常规软件开发所需的编译器,链接器和调试器。 本发明包括一种用于产生被称为代码对象的新型翻译结构的新程序编译系统,以及从存储在永久符号表中的代码对象及其各自的中间语言符号形成程序图像的增量图像。 新的程序编译系统在具有CPU,监视器,存储器系统和输入设备的常规计算机上操作。 本发明避免了在开发中或在维护更新期间停止执行程序以纠正编程错误的需要。
-
公开(公告)号:US5848274A
公开(公告)日:1998-12-08
申请号:US645955
申请日:1996-05-10
申请人: John Hamby , Niklas Gustafsson , Patrick Lau
发明人: John Hamby , Niklas Gustafsson , Patrick Lau
CPC分类号: G06F8/48 , G06F11/3664 , G06F8/70 , G06F8/71 , G06F9/44521
摘要: An incremental byte code compiler which provides a high-performance execution environment for dynamically linked languages and for distributed target-independent applications. The execution environment provided by the present invention includes an incremental byte code compiler for generating IL symbols and code objects from a byte code source file, a persistent symbol table for storing the IL symbols and code objects, and an incremental imager for dynamically forming the image of the program from the code objects. The present invention further provides an extremely efficient methodology for dynamically adding program elements to a program under execution.
摘要翻译: 增量字节码编译器,为动态链接语言和分布式目标独立应用程序提供高性能执行环境。 本发明提供的执行环境包括用于从字节代码源文件生成IL符号和代码对象的增量字节代码编译器,用于存储IL符号和代码对象的持久性符号表,以及用于动态地形成图像的增量成像器 的程序从代码对象。 本发明还提供了一种用于将程序元素动态地添加到正在执行的程序的非常有效的方法。
-
-
-
-
-
-
-