Method of transforming variable loops into constant loops
    3.
    发明授权
    Method of transforming variable loops into constant loops 有权
    将变量循环变换为常量循环的方法

    公开(公告)号:US06988266B2

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

    申请号:US09851018

    申请日:2001-05-08

    IPC分类号: G06F9/45

    CPC分类号: G06F8/4441

    摘要: A system and method for processing a variable looping statement into a constant looping statement to enable loop unrolling. A lower bound and an upper bound of the loop index within the variable looping statement are determined. A constant looping statement is then formed using the lower bound and upper bound to define a range over which the loop index varies within the constant looping statement. The constant looping statement further includes a conditional statement that reflects conditions in the initial expression and/or the exit expression of the variable looping statement. The conditional statement controls execution of the body of the generated constant looping statement, which includes the body from the original variable looping statement. Loop unrolling may then be performed on the generated constant looping statement.

    摘要翻译: 将可变循环语句处理为常量循环语句以启用循环展开的系统和方法。 确定变量循环语句中循环索引的下限和上限。 然后使用下限和上限形成常量循环语句,以定义循环索引在常量循环语句中变化的范围。 常量循环语句还包括反映变量循环语句的初始表达式和/或退出表达式中的条件的条件语句。 条件语句控制生成的常量循环语句的主体的执行,其中包含来自原始变量循环语句的正文。 然后可以对生成的常量循环语句执行循环展开。

    Method to partition large code across multiple e-caches
    5.
    发明授权
    Method to partition large code across multiple e-caches 有权
    在多个电子缓存中分割大型代码的方法

    公开(公告)号:US06912640B2

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

    申请号:US10389270

    申请日:2003-03-14

    IPC分类号: G06F9/44 G06F9/45 G06F12/00

    CPC分类号: G06F8/45

    摘要: A method for executing an instruction stream includes partitioning the instruction stream using a partition point to obtain a first partition of the instruction stream and a second partition of the instruction stream, configuring the first partition and the second partition to fit separate e-caches, analyzing the first partition and the second partition to generate a runtime execution facility and a data transfer facility, and executing the first partition and the second partition on separate processors using the runtime execution facility and the data transfer facility.

    摘要翻译: 一种用于执行指令流的方法,包括使用分割点对指令流进行分区以获得指令流的第一分区和指令流的第二分区,配置第一分区和第二分区以配合单独的电子缓存,分析 所述第一分区和所述第二分区用于生成运行时执行设备和数据传送设备,以及使用所述运行时执行设施和所述数据传送设施在分开的处理器上执行所述第一分区和所述第二分区。

    Method and apparatus for dynamic configuration of a lexical analysis parser

    公开(公告)号:US07003764B2

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

    申请号:US09977526

    申请日:2001-10-12

    申请人: David S. Allison

    发明人: David S. Allison

    IPC分类号: G06F9/45

    CPC分类号: G06F8/425 Y10S707/99936

    摘要: The present invention provides a method and apparatus for the lexical analysis of computer source code. The lexical analyzer is dynamically configured at runtime to recognize a one or more reserved words or operators. Thus, the analyzer has the ability to interact with multiple languages. In one or more embodiments of the present invention, the analyzer is instantiated by a host application, for example, the parser of a compiler. The host application adds a list of tokens to the analyzer that must be recognized. These tokens comprise at least a subset of the reserved words and operators of the computer language. In one embodiment, the host application then queries the analyzer for the next token in the source code. In another embodiment, tokens are added during the query phase as needed. In a separate embodiment, tokens are dynamically removed from the analyzer as the needs of the host application change.

    Stream operator in a dynamically typed programming language
    8.
    发明授权
    Stream operator in a dynamically typed programming language 有权
    Stream操作符是一种动态类型的编程语言

    公开(公告)号:US07028289B2

    公开(公告)日:2006-04-11

    申请号:US09977507

    申请日:2001-10-12

    申请人: David S. Allison

    发明人: David S. Allison

    IPC分类号: G06F9/44

    CPC分类号: G06F8/315

    摘要: The present invention provides a method and apparatus for implementation of an input/output stream operator in a dynamically typed language. This operator is built into the language, and allows a value of one type to be streamed to a value of another type by taking the form fromvalue→tovalue. Since the programming language is dynamic, the type of values on either side of the → operator is of any supported type, and can be modified depending upon the type of operands. For example, a value of any type can be streamed to a value of type “stream”. In this instance, the destination value is attached to, for example, a device such as a terminal or disk drive. A value of type “stream” can also be streamed into a value of any type. In this instance an external source is inputted, for example, into a program.

    摘要翻译: 本发明提供一种以动态类型语言实现输入/输出流运算符的方法和装置。 该操作符内置于该语言中,并允许将一个类型的值通过采用formvalue-> tovalue格式流式传输到另一种类型的值。 由于编程语言是动态的,所以 - >操作符任一侧的值类型是任何支持的类型,可以根据操作数的类型进行修改。 例如,任何类型的值都可以流式传输到“流”类型的值。 在这种情况下,目的地值附加到例如诸如终端或磁盘驱动器的设备。 类型“流”的值也可以流式传输到任何类型的值。 在这种情况下,外部源例如被输入到程序中。

    Method and apparatus for statement boundary detection

    公开(公告)号:US06988265B2

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

    申请号:US09977527

    申请日:2001-10-12

    申请人: David S. Allison

    发明人: David S. Allison

    IPC分类号: G06F9/45

    CPC分类号: G06F8/427

    摘要: The present invention provides a method and apparatus for statement boundary detection. In one embodiment of the present invention, a parser determines a natural end of a statement, where possible, based upon the context of the input stream and the syntax of the programming language. Thus, no statement terminator is necessary when a natural end to a statement is determined. The parser uses the natural end of a statement to terminate one statement and begin parsing another statement. In one embodiment, a special statement termination token is required to terminate a statement when no natural statement end exists. In another embodiment, a special statement termination token can be used to terminate a statement when a natural end of the statement exists.

    Generation of native code to enable page table access
    10.
    发明授权
    Generation of native code to enable page table access 有权
    生成本地代码以启用页表访问

    公开(公告)号:US06961839B2

    公开(公告)日:2005-11-01

    申请号:US10365861

    申请日:2003-02-13

    申请人: David S. Allison

    发明人: David S. Allison

    IPC分类号: G06F12/10 G06F12/00

    CPC分类号: G06F12/1027

    摘要: A system for generating native code of a software application includes a page table indexing a plurality of pages using a page pointer, wherein the page pointer includes an address of at least one of the plurality of pages, a memory cache including a page table cache and a page cache, and a statically-generated executable code to obtain data on at least one of the plurality of pages using the memory cache.

    摘要翻译: 一种用于生成软件应用程序的本地代码的系统包括使用页指针对多个页进行索引的页表,其中页指针包括多个页中的至少一个的地址,包括页表缓存的存储器高速缓存和 页面缓存和静态生成的可执行代码,以使用存储器高速缓存来在多个页面中的至少一个页面上获得数据。