Retargetable compiler for multiple and different hardware platforms
    1.
    发明申请
    Retargetable compiler for multiple and different hardware platforms 审中-公开
    针对多个不同硬件平台的可重定向编译器

    公开(公告)号:US20040068716A1

    公开(公告)日:2004-04-08

    申请号:US10264485

    申请日:2002-10-04

    Inventor: Cameron Stevens

    CPC classification number: G06F8/47

    Abstract: The invention provides a compiler for generating assembly or configuration instructions from source code for an integrated circuit architecture of a plurality of different IC architectures. The source code is represented as a plurality of nodes of an abstract syntax tree. For each target architecture, a plurality of concrete instruction tiles are generated as concrete classes corresponding to and inheriting from a plurality of function tiles. Each function tile is implemented as an abstract class, represents a corresponding function, such as an ADD or MULT function, and implements a matching operation for the corresponding function. The compiler includes an instruction selector, formed as an abstract class, which implements a matching function and instruction generation for the abstract syntax tree by calling the corresponding matching operations of the concrete instruction tiles, inherited from the plurality of function tiles. When a concrete instruction tile or corresponding function has been matched to a node of the abstract syntax tree, the instruction selector calls an instruction generation function of the corresponding concrete instruction tile to generate an instruction for the corresponding IC architecture. By varying the concrete instruction tiles, the compiler may be targeted to any IC architecture.

    Abstract translation: 本发明提供了一种用于从用于多个不同IC架构的集成电路架构的源代码生成汇编或配置指令的编译器。 源代码被表示为抽象语法树的多个节点。 对于每个目标架构,生成多个具体指令块作为与多个功能块相对应并从其继承的具体类。 每个功能块实现为抽象类,表示相应的功能,如ADD或MULT功能,并为相应的功能实现匹配操作。 编译器包括形成为抽象类的指令选择器,其通过调用从多个功能块继承的具体指令块的相应匹配操作来实现抽象语法树的匹配函数和指令生成。 当具体的指令块或对应的功能与抽象语法树的节点匹配时,指令选择器调用相应具体指令块的指令生成函数,以生成相应IC架构的指令。 通过改变具体的指令块,编译器可以针对任何IC架构。

Patent Agency Ranking