パッケージ coins.ir.hir

インタフェースの概要
AsmStmt The C front of COINS accepts following asm statement: asm("#param paramDecsriptionList \n" "#clobber destroyed-register-list \n" asmInstructionSequence , actual-parameter-list ); where paramDescriptionList -> paramDescription | paramDescriptionList , paramDescription paramDescription -> %register // input parameter variable (rvalue) | w%register // output parameter variable (lvalue) | m%register // input/output parameter variable (lvalue) | s // constant representing static address | a // constant repreZsenting automatic variable address destroyed-register-list -> %register // register contents is destroyed | destroyed-register-list , %register asmInstructionSequence -> "asmInstruction \n" | asmInstructionSequence "asmInstruction \n" actualParameterList -> expression // expression representing actual parameter | actualParameterList , expression The %register represents a register or a class of registers defined in the TMD.
AssignStmt Assign-statement.
BlockStmt Block representing a sequence of statements.
ConstNode Constant node
ElemNode Element name node.
Exp Exp interface HIR Exp class interface.
ExpListExp ExpListExp Interface for the expression representing a list of expressions (Exp).
ExpStmt ExpStmt Expression treated as a statement.
ForStmt For-statement interface.
FunctionExp FunctionExp Function call interface.
HIR HIR interface High Level Intermediate Representation (HIR) interface.
HIR0 HIR0 interface Simplified High-level Intermediate Representation interface (HIR0).
HirIterator HirIterator interface Traverse HIR node in depth first order.
HirList HirList interfac HirList is an IrList that contains HIR objects as its elements.
HirSeq HirSeq interface Sequence of expressions, symbols, and others.
HirVisitor HirVisitor Visitor for processing HIR nodes
IfStmt If-statement.
IndexedLoopStmt IndexedLoop-statement interface.
InfNode Information list node (pragma, comment line, etc.)
InfStmt Information node treated as a statement (pragma, comment line, etc.)
JumpStmt JumpStmt interface
LabelDef Label definition
LabeledStmt LabeledStmt Labeled statement interface
LabelNode LabelNode: Label reference node.
LoopStmt LoopStmt -> // Loop statement is either for-loop, while-loop, // repeat-loop, indexed loop, or other general loop. // All of them are implemented as a general loop // with some restriction depending on the loop type. // Compiler components (other than front part) should // treat general loop, that is, do not assume some child // is null without checking whether the child is null // or not
NullNode Null node interface
PhiExp PhiExp Phi expression interface.
PointedExp Pointed variable interface.
Program Program interface
QualifiedExp Qualified variable interface.
RepeatStmt Repeat-while-statement (do-while, repeat-until) interface.
ReturnStmt  
SetDataStmt SetDataStmt interface Specify initial values in the form (setData l-value valueSpec) where, l-value is an expression such as variable representing the storage area where initial value is to be set, and valueSpec is a constant expression representing initial values to be set.
Stmt Stmt Stmt (statement) class interface.
SubpDefinition Subprogram definition node.
SubpNode Subprogram name node.
SubscriptedExp Subscripted variable interface.
SwitchStmt switch statement interface.
SymNode Symbol node
TypeNode Type name node interface.
UntilStmt Until-statement (do-while, repeat-until) interface.
VarNode Variable name node.
WhileStmt While-statement interface.
 

クラスの概要
AsmStmtImpl Asm node is treated as a statement.
AssignStmtImpl Assignment statement class.
BlockStmtImpl Block representing a sequence of statements.
ConstNodeImpl Constant node
ElemNodeImpl Element name node class.
ExpImpl ExpImpl HIR expression class.
ExpListExpImpl ExpListExpImpl Expression representing a list of expressions (Exp).
ExpStmtImpl ExpStmtImpl Expression treated as a statement.
ForStmtImpl For-statement class.
FunctionExpImpl FunctionExpImpl Function call expression.
HIR_Impl HIR_Impl class
HirAnnex class HirAnnex Additional information that is not given in some case and not given to some nodes.
HirIteratorImpl HirIteratorImpl class Traverse HIR node in depth first order.
HirListImpl class HirListImpl List of expressions, symbols, and others.
HirModify HirModify class This class contains methods to modify HIR tree.
HirSeqImpl class HirSeqImpl Sequence of expressions, symbols, and others.
HirVisitorModel1 HirVisitorModel1 Visitor model for processing HIR nodes where visiting procedure is written in the method visit of this class and each method of the form atXxx called from acceptor of HIR class does a processing without writing traverse procedure.
HirVisitorModel2 HirVisitorModel2 Visitor model for processing HIR nodes where each acceptor calls visitChildren method to traverse its children.
IfStmtImpl If-statement class.
IndexedLoopStmtImpl IndexedLoop-statement class.
InfNodeImpl Information list node (pragma, comment line, etc.)
InfStmtImpl Information node treated as a statement (pragma, comment line, etc.)
JumpStmtImpl JumpStmt class
LabelDefImpl Label definition
LabeledStmtImpl LabeledStmtImpl Labeled statement class
LabelNodeImpl Label reference node.
LoopStmtImpl Loop-statement class. // Components (children) of loop statement // child1: LoopInitPart.
NullNodeImpl Null node
PhiExpImpl PhiExpImpl Phi expression class.
PointedExpImpl Pointed variable class.
PrintStmtVisitor PrintStmtVisitor Example of the use of Visitor for printing HIR statement (Extends HirVisitorModel1.)
PrintVisitor PrintVisitor Visitor for printing HIR (Example of extending HirVisitorModel2.)
ProgramImpl ProgramImpl class
QualifiedExpImpl Qualified variable class.
RepeatStmtImpl Repeat-statement (do-while, repeat-until) class.
ReturnStmtImpl Return statement.
SetDataStmtImpl SetDataStmtImpl class Specify initial values in the form (setData l-value valueSpec)
SimplifyHir SimplifyHir: This class simplifies HIR by deleting labeled statements with null statement body if the label is not explicitly refered, in order to suppress the generation of useless basic blocks in converting HIR to LIR.
StmtImpl Statement
SubpDefinitionImpl Subprogram definition node.
SubpNodeImpl Subprogram name node.
SubscriptedExpImpl Subscripted variable class.
SubsPtrTransformation SubsPtrTransformation Array subscript (Subs) expression to pointer expression transformation and vice versa.
SwitchModify switch modify class.
SwitchStmtImpl switch statement class.
SymNodeImpl Symbol node
TestHir TestHir class Test HIR User may tentatively add a method call in order to test some HIR expression or nullify (by changing to comment) some method calls in the TestHir constructor.
TestHir2 Example of using HirVisitorModel2.
TypeNodeImpl Type name node class.
UntilStmtImpl Until-statement (do-while, repeat-until) class.
VarNodeImpl Variable name node class.
WhileStmtImpl While-statement class.