Program interpreter
    1.
    发明授权
    Program interpreter 有权
    程序口译员

    公开(公告)号:US06973644B2

    公开(公告)日:2005-12-06

    申请号:US10121743

    申请日:2002-04-12

    IPC分类号: G06F9/45 G06F9/455 C06F9/45

    CPC分类号: G06F8/41 G06F9/45504

    摘要: A method and system is provided that allows a well-behaved program to execute more quickly than dynamically typed programming languages did in the past, thereby allowing a the dynamically typed language to be competitive with static declarative programming languages. A method includes converting lines of source code representing functions to byte-codes representing functions, selecting a subsequence of the byte-codes based on the byte-codes and the dynamic run-time properties of program variables, generating processor instructions in a compiler for the subsequence, and interpreting the byte-codes not contained in the subsequence.

    摘要翻译: 提供了一种方法和系统,其允许行为良好的程序比过去执行的动态类型编程语言更快地执行,从而允许动态类型语言与静态声明式编程语言竞争。 一种方法包括将表示功能的源代码行转换为表示功能的字节代码,基于字节码和程序变量的动态运行时属性来选择字节码的子序列,在编译器中生成处理器指令, 子序列,并解释子包中不包含的字节码。

    Program interpreter
    2.
    发明授权
    Program interpreter 有权
    程序口译员

    公开(公告)号:US07725883B1

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

    申请号:US11295223

    申请日:2005-12-05

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/41 G06F9/45504

    摘要: A method and system is provided that allows a well-behaved program to execute more quickly than dynamically typed programming languages did in the past, thereby allowing a the dynamically typed language to be competitive with static declarative programming languages. A method includes converting lines of source code representing functions to byte-codes representing functions, selecting a subsequence of the byte-codes based on the byte-codes and the dynamic run-time properties of program variables, generating processor instructions in a compiler for the subsequence, and interpreting the byte-codes not contained in the subsequence.

    摘要翻译: 提供了一种方法和系统,其允许行为良好的程序比过去执行的动态类型编程语言更快地执行,从而允许动态类型语言与静态声明式编程语言竞争。 一种方法包括将表示功能的源代码行转换为表示功能的字节代码,基于字节码和程序变量的动态运行时属性来选择字节码的子序列,在编译器中生成处理器指令, 子序列,并解释子包中不包含的字节码。

    Function call translation
    3.
    发明授权
    Function call translation 有权
    函数调用转换

    公开(公告)号:US07454746B2

    公开(公告)日:2008-11-18

    申请号:US09911819

    申请日:2001-07-24

    IPC分类号: G06F9/45

    CPC分类号: G06F8/447

    摘要: Methods and apparatus for using description information about a function to translate a call to the function in a first language into a call to a corresponding function in a second language. The methods include create description information from a definition of a function associated with a first language that enables translation of a call to the function in the first language into a call to a corresponding function in a second language without requiring processing of the definition of the function. In one aspect, the methods include providing a description file of items, each item including description information about a function associated with a first language, and using the file of description items to translate a first program file from the first language into a second language.

    摘要翻译: 使用关于功能的描述信息的方法和装置,用于将对第一语言的功能的调用转换为对第二语言的对应功能的调用。 所述方法包括从与第一语言相关联的功能的定义创建描述信息,所述功能使得能够将对第一语言的功能的调用转换为对第二语言的对应功能的调用,而不需要处理功能的定义 。 在一个方面,所述方法包括提供项目的描述文件,每个项目包括关于与第一语言相关联的功能的描述信息,以及使用描述项目的文件将第一程序文件从第一语言翻译成第二语言。

    Incremental linking in source-code development system
    4.
    发明授权
    Incremental linking in source-code development system 失效
    源代码开发系统中的增量连接

    公开(公告)号:US5193191A

    公开(公告)日:1993-03-09

    申请号:US375398

    申请日:1989-06-30

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F8/48 G06F8/71

    摘要: A computer-aided software development system includes programs to implement edit, compile, link and run sequences, all from memory, at very high speed. The complier and linker operate on an incremental basis, line-by-line or increment-by-increment, so if only one line is changed in an edit session, then only that line and lines related to it need be recompiled if no other code is affected; linking is also done in a manner to save and re-use parts of link tables and link lists which are not changed from one edit session to another. Scanning is also done incrementally, and the resulting token lists and token tables, and lexical increment tables, are saved in memory to be used again where no changes are made. All of the linking tables are saved in memory so there is no need to generate link tables for increments of code where no changes in links are needed. The compiler is able to skip lines or blocks of lines of source code which haven't been changed. All of the source code text modules, the token lists, symbol tables, code tables, link lists and related data, etc., saved from one compile to another are maintained in virtual memory rather than in files so that speed of operation is enhanced. Also, the object code created is maintained in memory rather than in a file, and executed from this memory image, to reduce delays. A virtual memory management arrangement for the system assures that all of the needed data modules and code is present in real memory in the phase being implemented, with a minimum of page faults and page swapping during the phase, again to enhance operating speed.

    摘要翻译: 计算机辅助软件开发系统包括从存储器以非常高的速度实现编辑,编译,链接和运行序列的程序。 编译器和链接器逐行增量运行,逐行递增或逐位递增,因此如果在编辑会话中只更改一行,则只有与其相关的行和行才需要重新编译,如果没有其他代码 被影响; 链接也以保存和重新使用一个没有从一个编辑会话更改为另一个的链接表和链接列表的方式进行。 扫描也是逐渐进行的,所得到的令牌列表和令牌表以及词汇增量表保存在内存中,以便在不进行更改的情况下再次使用。 所有链接表都保存在内存中,因此不需要为链接增量生成链接表,其中不需要更改链接。 编译器能够跳过尚未更改的源代码行的行或块。 从一个编译到另一个编译保存的所有源代码文本模块,令牌列表,符号表,代码表,链接列表和相关数据等都保留在虚拟内存中,而不是在文件中,从而提高了操作速度。 此外,创建的对象代码保存在内存而不是文件中,并从该内存映像执行,以减少延迟。 该系统的虚拟存储器管理装置确保所有需要的数据模块和代码在实现的阶段中存在于实际存储器中,在该阶段期间具有最少的页面故障和页面交换,以再次提高操作速度。

    Method and apparatus for software testing using a differential testing
technique to test compilers
    5.
    发明授权
    Method and apparatus for software testing using a differential testing technique to test compilers 失效
    使用差分测试技术软件测试的方法和装置来测试编译器

    公开(公告)号:US5754860A

    公开(公告)日:1998-05-19

    申请号:US685346

    申请日:1996-07-23

    IPC分类号: G06F11/36 G06F9/44

    CPC分类号: G06F11/3684

    摘要: Techniques used in testing software are described. A test generator produces a source program used to test two or more compilers using a differential testing technique. The test generator includes a grammar with added semantic constraints to minimize the generation of non-conforming source programs. The source program is a conforming source program conforming to constraints included in a programming language standard. By using properties of a conforming source code, a differential testing technique is described in which a test failure indicates that one or more of the compilers is not processing the source program correctly in accordance with the programming language standard. If a test failure is detected, the source program causing the test failure is reduced using various reduction and simplification techniques.

    摘要翻译: 描述了测试软件中使用的技术。 测试发生器产生用于使用差分测试技术测试两个或多个编译器的源程序。 测试生成器包括具有附加语义约束的语法,以最小化不合格源程序的生成。 源程序是符合编程语言标准中包含的约束的一致的源程序。 通过使用一致的源代码的属性,描述了差分测试技术,其中测试失败指示一个或多个编译器不是根据编程语言标准正确处理源程序。 如果检测到测试失败,则使用各种简化和简化技术来减少导致测试失败的源程序。

    Incremental-scanning compiler for source-code development system
    6.
    发明授权
    Incremental-scanning compiler for source-code development system 失效
    用于源代码开发系统的增量扫描编译器

    公开(公告)号:US5170465A

    公开(公告)日:1992-12-08

    申请号:US375383

    申请日:1989-06-30

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F8/20 G06F8/48 G06F8/71

    摘要: A computer-aided software development system includes programs to implement edit, compile, link and run sequences, all from memory, at very high speed. The compiler operates on an incremental basis, line-by-line, so if only one line is changed in an edit session, then only that line need be recompiled if no other code is affected. Scanning is done incrementally, generating a sequential token list which is saved in memory to be used again where no changes are made; increments of the sequential token list are reused when no changes have been made in the increments and related statements. All of the linking tables are also saved in memory so there is no need to generate link tables for increments of code where no changes in links are needed. The parser is able to skip lines or blocks of lines of source code which haven't been changed. All of the source code text modules, the sequential token lists, symbol tables, code tables and related data saved from one compile to another are maintained in virtual memory rather than in files so that speed of operation is enhanced. Also, the object code created is maintained in memory rather than in a file, and executed from this memory image, to reduce delays. A virtual memory management arrangement for the system assures that all of the needed data modules and code is present in real memory by page swapping, but with a minimum of page faults, again to enhance operating speed.

    摘要翻译: 计算机辅助软件开发系统包括从存储器以非常高的速度实现编辑,编译,链接和运行序列的程序。 编译器逐行增加运行,因此如果在编辑会话中只更改一行,那么只有在没有其他代码受到影响的情况下才需要重新编译该行。 逐渐进行扫描,生成一个顺序令牌列表,保存在存储器中,以便再次使用,不进行更改; 在增量和相关语句中未进行任何更改时,顺序令牌列表的增量将重新使用。 所有链接表也保存在内存中,因此不需要为链接增量生成链接表,其中不需要更改链接。 解析器能够跳过尚未更改的源代码行的行或块。 所有源代码文本模块,序列令牌列表,符号表,代码表和从一个编译保存的相关数据保存在虚拟内存而不是文件中,从而提高了操作速度。 此外,创建的对象代码保存在内存而不是文件中,并从该内存映像执行,以减少延迟。 该系统的虚拟存储器管理装置确保所有需要的数据模块和代码通过页面交换存在于实际存储器中,但是具有最少的页面错误,以再次提高操作速度。

    Encryption and decryption approach that prevents exposing clear-text in memory
    7.
    发明授权
    Encryption and decryption approach that prevents exposing clear-text in memory 有权
    加密和解密方法防止在内存中暴露清晰文本

    公开(公告)号:US08819420B1

    公开(公告)日:2014-08-26

    申请号:US11471146

    申请日:2006-06-19

    IPC分类号: H04L29/06 G06F21/62

    摘要: The present invention provides an encryption/decryption approach to protect valuable information from being represented in a clear-text form when an application processes the valuable information. The present invention processes a structured input file to create internal data structures and generates an encrypted output file from the extracted internal data structures. The encrypted file of internal data structures can be decrypted to enable further processing of the valuable information without representing the valuable information as clear-text in memory. Further, the decrypted internal data structures are stored at different locations in memory.

    摘要翻译: 本发明提供了一种加密/解密方法,以在应用程序处理有价值的信息时保护有价值的信息不被以明文形式表示。 本发明处理结构化输入文件以创建内部数据结构,并从所提取的内部数据结构生成加密的输出文件。 可以解密内部数据结构的加密文件,以便能够进一步处理有价值的信息,而不将有价值的信息表示为内存中的明文。 此外,解密的内部数据结构存储在存储器中的不同位置。

    Method and apparatus for producing a software test system using
complementary code to resolve external dependencies
    8.
    发明授权
    Method and apparatus for producing a software test system using complementary code to resolve external dependencies 失效
    用于生成使用补码的软件测试系统来解决外部依赖性的方法和装置

    公开(公告)号:US5651111A

    公开(公告)日:1997-07-22

    申请号:US587253

    申请日:1996-01-16

    IPC分类号: G06F11/36 G06F11/00 G06F9/45

    CPC分类号: G06F11/3688

    摘要: A software unit development and test methodology in which a software application or project is dividing into conceptual units. Each unit is first developed and debugged in an isolated testing environment which simulates the actual testing environment through test conditions. Following unit testing, other tested units are incrementally combined and tested in a similar isolated manner. Automatic generation of a testing environment and development system driving debugging and testing software, for measuring testing completeness, and for verifying correctness of future development and maintenance efforts are provided.

    摘要翻译: 软件单元开发和测试方法,其中软件应用程序或项目分为概念单元。 每个单元首先在隔离的测试环境中开发和调试,通过测试条件模拟实际的测试环境。 在单元测试之后,其他测试单元以类似的隔离方式递增组合和测试。 提供自动生成测试环境和开发系统驱动调试和测试软件,用于测量测试的完整性,并验证未来开发和维护工作的正确性。

    Compiler using clean lines table with entries indicating unchanged text
lines for incrementally compiling only changed source text lines
    9.
    发明授权
    Compiler using clean lines table with entries indicating unchanged text lines for incrementally compiling only changed source text lines 失效
    编译器使用干线表,条目表示不变的文本行,用于逐渐编译仅更改的源文本行

    公开(公告)号:US5325531A

    公开(公告)日:1994-06-28

    申请号:US819611

    申请日:1992-01-09

    IPC分类号: G06F9/44 G06F9/45

    CPC分类号: G06F8/20 G06F8/48 G06F8/71

    摘要: A computer-aided software development system includes programs to implement edit, compile, link and run sequences, all from memory, at very high speed. The compiler operates on an incremental basis, line-by-line, so if only one line is changed in an edit session, then only that line need be recompiled if no other code is affected. Dependency analysis is performed incrementally, without requiring the user to enter dependencies. Scanning is also done incrementally, and the resulting token list saved in memory to be used again where no changes are made. All of the linking tables are saved in memory so there is no need to generate link tables for increments of code where no changes in links are needed. The parser is able to skip lines or blocks of lines of source code which haven't been changed. All of the source code text modules, the token lists, symbol tables, code tables and related data saved from one compile to another are maintained in virtual memory rather than in files so that speed of operation is enhanced. Also, the object code created is maintained in memory rather than in a file, and executed from this memory image, to reduce delays. A virtual memory management arrangement for the system assures that all of the needed data modules and code is present in real memory by page swapping, but with a minimum of page faults, again to enhance operating speed.

    摘要翻译: 计算机辅助软件开发系统包括从存储器以非常高的速度实现编辑,编译,链接和运行序列的程序。 编译器逐行增加运行,因此如果在编辑会话中只更改一行,那么只有在没有其他代码受到影响的情况下才需要重新编译该行。 逐步执行依赖关系分析,而不需要用户输入依赖关系。 扫描也是逐渐进行的,结果令牌列表保存在内存中,以便再次使用,不进行任何更改。 所有链接表都保存在内存中,因此不需要为链接增量生成链接表,其中不需要更改链接。 解析器能够跳过尚未更改的源代码行的行或块。 所有的源代码文本模块,令牌列表,符号表,代码表和从一个编译保存的相关数据保存在虚拟内存而不是文件中,从而提高了操作速度。 此外,创建的对象代码保存在内存而不是文件中,并从该内存映像执行,以减少延迟。 该系统的虚拟存储器管理装置确保所有需要的数据模块和代码通过页面交换存在于实际存储器中,但是具有最少的页面错误,以再次提高操作速度。

    Re-execution of edit-compile-run cycles for changed lines of source
code, with storage of associated data in buffers
    10.
    发明授权
    Re-execution of edit-compile-run cycles for changed lines of source code, with storage of associated data in buffers 失效
    重新执行编辑 - 编译运行循环,用于更改源代码行,并将相关数据存储在缓冲区中

    公开(公告)号:US5313387A

    公开(公告)日:1994-05-17

    申请号:US735384

    申请日:1989-06-30

    IPC分类号: G06F9/45 G06F15/00 G06F9/30

    CPC分类号: G06F8/425 G06F8/427 G06F8/48

    摘要: A computer-aided software development system includes programs to implement edit, compile, link and run sequences, all from memory, at very high speed. The compiler operates on an incremental basis, line-byline, so if only one line is changed in an edit session, then only that line need be recompiled if no other code is affected. Dependency analysis is performed incrementally, without requiring the user to enter dependencies. Scanning is also done incrementally, and the resulting token list saved in memory to be used again where no changes are made. All of the linking tables are saved in memory so there is no need to generate link tables for increments of code where no changes in links are needed. The parser is able to skip lines or blocks of lines of source code which haven't been changed. All of the source code text modules, the token lists, symbol tables, code tables and related data saved from one compile to another are maintained in virtual memory rather than in files so that speed of operation is enhanced. Also, the object code created is maintained in memory rather than in a file, and executed from this memory image, to reduce delays. A virtual memory management arrangement for the system assures that all of the needed data modules and code is present in real memory by paging swapping, but with a minimum of page faults, again to enhance operating speed.

    摘要翻译: 计算机辅助软件开发系统包括从存储器以非常高的速度实现编辑,编译,链接和运行序列的程序。 编译器以逐行方式运行,因此如果在编辑会话中只更改了一行,那么只有在没有其他代码受到影响的情况下才需要重新编译该行。 逐步执行依赖关系分析,而不需要用户输入依赖关系。 扫描也是逐渐进行的,结果令牌列表保存在内存中,以便再次使用,不进行任何更改。 所有链接表都保存在内存中,因此不需要为链接增量生成链接表,其中不需要更改链接。 解析器能够跳过尚未更改的源代码行的行或块。 所有的源代码文本模块,令牌列表,符号表,代码表和从一个编译保存的相关数据保存在虚拟内存而不是文件中,从而提高了操作速度。 此外,创建的对象代码保存在内存而不是文件中,并从该内存映像执行,以减少延迟。 该系统的虚拟存储器管理装置确保所有所需的数据模块和代码通过寻呼交换存在于实际存储器中,但是具有最少的页面故障,以再次提高操作速度。