クラス、インタフェース一覧

01-9-30版のクラス、インタフェースを機能単位で分けたものです。
★がついているのは機能単位中の主要なクラス、インタフェースです。

======================================================================
chiba: C to AST
tan: C to AST patch (一時的なもの)

class ast.ASTree (implements java.io.Serializable)
 class ast.Aggregate (implements ast.Stmnt)
 class ast.Struct
 class ast.Union
 class ast.ASTList
 class ast.DeclaratorList
 class ast.Declarator (implements ast.Stmnt, ast.TypeId)
 class ast.Enum (implements ast.Stmnt)
 class ast.Function (implements ast.Stmnt, ast.TypeId)
 class ast.Pair
class ast.Enum.Item
class ast.StdVisitor (implements ast.Visitor)
class ast.TreeWalker
class ast.TypeDecoder (implements ast.TypeId)

interface ast.Expr
interface ast.Stmnt
interface ast.TokenId
interface ast.TypeId
★interface ast.Visitor

class ast.expr.ArrayInitializer (implements ast.Expr)
class ast.expr.ConstantExpr (implements ast.Expr, ast.TokenId, ast.TypeId)
class ast.expr.OperatorExpr (implements ast.Expr)
class ast.expr.BinaryExpr
class ast.expr.ArithBinaryExpr (implements ast.TokenId)
class ast.expr.ArrayExpr (implements ast.expr.LvalueExpr, ast.TokenId)
class ast.expr.AssignExpr (implements ast.TokenId)
class ast.expr.CommaExpr (implements ast.expr.LvalueExpr, ast.TokenId)
class ast.expr.PointerBinaryExpr (implements ast.TokenId)
class ast.expr.NnaryExpr
class ast.expr.CallExpr (implements ast.TokenId)
class ast.expr.ConditionalExpr (implements ast.expr.LvalueExpr, ast.TokenId)
class ast.expr.UnaryExpr
class ast.expr.AddressExpr
class ast.expr.ArithUnaryExpr (implements ast.TokenId)
class ast.expr.CastExpr (implements ast.TokenId)
class ast.expr.DereferenceExpr (implements ast.expr.LvalueExpr)
class ast.expr.MemberExpr (implements ast.expr.LvalueExpr, ast.TokenId)
class ast.expr.PostfixExpr (implements ast.TokenId)
class ast.expr.PrefixExpr (implements ast.TokenId)
class ast.expr.StringLiteral (implements ast.Expr, ast.TypeId)
class ast.expr.VariableExpr (implements ast.expr.LvalueExpr)

interface ast.expr.LvalueExpr

class ast.stmnt.CompoundStmnt (implements ast.Stmnt)
class ast.stmnt.LeafStmnt (implements ast.Stmnt)
class ast.stmnt.BreakStmnt
class ast.stmnt.CaseLabel
class ast.stmnt.ContinueStmnt
class ast.stmnt.DefaultLabel
class ast.stmnt.GotoStmnt
class ast.stmnt.NamedLabel
class ast.stmnt.NullStmnt
class ast.stmnt.TreeStmnt (implements ast.Stmnt)
class ast.stmnt.DoStmnt
class ast.stmnt.ExpressionStmnt
class ast.stmnt.ForStmnt
class ast.stmnt.IfStmnt
class ast.stmnt.ReturnStmnt
class ast.stmnt.SwitchStmnt
class ast.stmnt.WhileStmnt

class cfront.Lex (implements ast.TokenId)
class cfront.GccLex
★class cfront.Parser (implements ast.TokenId, ast.TypeId)
class cfront.ParseError
class cfront.StopException

interface cfront.Backend
★interface cfront.Sizeof

======================================================================
fukuda: AST to HIR-C

class coins.ToHirC (implements ast.TokenId, ast.Visitor)

======================================================================
fukuda: HIR-C to HIR-base

class coins.ToHirBase

======================================================================
buna: HIR to LIR

class coins.ir.Converter

======================================================================
tan: symbol table

class coins.sym.FlagBoxImpl (implements coins.sym.FlagBox)
★class coins.sym.SymImpl (implements java.lang.Cloneable, coins.HasStringObject, coins.sym.Sym, coins.ir.lir.Symbol)
class coins.sym.OperandSymImpl (implements coins.sym.OperandSym)
class coins.sym.ConstImpl (implements coins.sym.Const)
class coins.sym.BoolConstImpl (implements coins.sym.BoolConst)
class coins.sym.CharConstImpl (implements coins.sym.CharConst)
class coins.sym.FloatConstImpl (implements coins.sym.FloatConst)
class coins.sym.IntConstImpl (implements coins.sym.IntConst)
class coins.sym.NamedConstImpl (implements coins.sym.NamedConst)
class coins.sym.StringConstImpl (implements coins.sym.StringConst)
class coins.sym.ExpIdImpl (implements coins.sym.ExpId)
class coins.sym.LabelImpl (implements coins.sym.Label)
class coins.sym.RegImpl (implements coins.sym.Reg)
class coins.sym.ARegImpl (implements coins.sym.AReg)
class coins.sym.MRegImpl (implements coins.sym.MReg)
class coins.sym.VarImpl (implements coins.sym.FlowAnalSym, coins.sym.Var)
class coins.sym.ElemImpl (implements coins.sym.Elem)
class coins.sym.ParamImpl (implements coins.sym.Param)
class coins.sym.SubpImpl (implements coins.sym.Subp)
class coins.sym.TypeImpl (implements coins.sym.Type)
class coins.sym.BaseTypeImpl (implements coins.sym.BaseType)
class coins.sym.EnumTypeImpl (implements coins.sym.EnumType)
class coins.sym.PointerTypeImpl (implements coins.sym.PointerType)
class coins.sym.StructTypeImpl (implements coins.sym.StructType)
class coins.sym.SubpTypeImpl (implements coins.sym.SubpType)
class coins.sym.UnionTypeImpl (implements coins.sym.UnionType)
class coins.sym.VectorTypeImpl (implements coins.sym.VectorType)
class coins.sym.SymIteratorImpl (implements coins.sym.SymIterator)
class coins.sym.SymNestIteratorImpl (implements coins.sym.SymNestIterator)
class coins.sym.SymTableEntryImpl (implements coins.sym.SymTableEntry)
class coins.sym.SymTableImpl (implements coins.sym.SymTable)
class coins.sym.VarIteratorImpl (implements coins.sym.VarIterator)

interface coins.sym.FlagBox
interface coins.sym.FlowAnalSym
★interface coins.sym.Sym
interface coins.sym.OperandSym
interface coins.sym.Const
interface coins.sym.BoolConst
interface coins.sym.CharConst
interface coins.sym.FloatConst
interface coins.sym.IntConst
interface coins.sym.NamedConst
interface coins.sym.StringConst
interface coins.sym.ExpId
interface coins.sym.Label
interface coins.sym.Reg
interface coins.sym.AReg
interface coins.sym.MReg
interface coins.sym.Var
interface coins.sym.Elem
interface coins.sym.Param
★interface coins.sym.Subp
★interface coins.sym.Type
interface coins.sym.BaseType
interface coins.sym.EnumType
interface coins.sym.PointerType
interface coins.sym.StructType
interface coins.sym.SubpType
interface coins.sym.UnionType
interface coins.sym.VectorType
★interface coins.sym.SymIterator
★interface coins.sym.SymNestIterator
★interface coins.sym.SymTable
interface coins.sym.SymTableEntry
★interface coins.sym.VarIterator

======================================================================
tan: HIR access

class coins.ir.hir.HIR_Impl (implements coins.HasStringObject, coins.ir.hir.HIR)
class coins.ir.hir.ExpImpl (implements coins.ir.hir.Exp)
 class coins.ir.hir.FunctionExpImpl (implements coins.ir.hir.FunctionExp)
 class coins.ir.hir.NullNodeImpl (implements coins.ir.hir.NullNode)
 class coins.ir.hir.PhiExpImpl (implements coins.ir.hir.PhiExp)
 class coins.ir.hir.PointedExpImpl (implements coins.ir.hir.PointedExp)
 class coins.ir.hir.QualifiedExpImpl (implements coins.ir.hir.QualifiedExp)
 class coins.ir.hir.SubscriptedExpImpl (implements coins.ir.hir.SubscriptedExp)
 class coins.ir.hir.SymNodeImpl (implements coins.ir.hir.SymNode)
 class coins.ir.hir.ConstNodeImpl (implements coins.ir.hir.ConstNode)
 class coins.ir.hir.LabelNodeImpl (implements coins.ir.hir.LabelNode)
 class coins.ir.hir.SubpNodeImpl (implements coins.ir.hir.SubpNode)
 class coins.ir.hir.TypeNodeImpl (implements coins.ir.hir.TypeNode)
 class coins.ir.hir.VarNodeImpl (implements coins.ir.hir.VarNode)
 class coins.ir.hir.ElemNodeImpl (implements coins.ir.hir.ElemNode)
 class coins.ir.hir.ParamNodeImpl (implements coins.ir.hir.ParamNode)
class coins.ir.hir.HirModify
class coins.ir.hir.HirSeqImpl (implements coins.ir.hir.HirSeq)
class coins.ir.hir.InfNodeImpl (implements coins.ir.hir.InfNode)
class coins.ir.hir.IrListImpl (implements coins.ir.hir.IrList)
class coins.ir.hir.LabelDefImpl (implements coins.ir.hir.LabelDef)
class coins.ir.hir.ProgramImpl (implements coins.ir.hir.Program)
class coins.ir.hir.StmtImpl (implements coins.ir.hir.Stmt)
 class coins.ir.hir.AssignStmtImpl (implements coins.ir.hir.AssignStmt)
 class coins.ir.hir.BlockStmtImpl (implements coins.ir.hir.BlockStmt)
 class coins.ir.hir.ExpStmtImpl (implements coins.ir.hir.ExpStmt)
 class coins.ir.hir.IfStmtImpl (implements coins.ir.hir.IfStmt)
 class coins.ir.hir.JumpStmtImpl (implements coins.ir.hir.JumpStmt)
 class coins.ir.hir.LabeledStmtImpl (implements coins.ir.hir.LabeledStmt)
 class coins.ir.hir.LoopStmtImpl (implements coins.ir.hir.LoopStmt)
 class coins.ir.hir.ForStmtImpl (implements coins.ir.hir.ForStmt)
 class coins.ir.hir.UntilStmtImpl (implements coins.ir.hir.UntilStmt)
 class coins.ir.hir.WhileStmtImpl (implements coins.ir.hir.WhileStmt)
 class coins.ir.hir.ReturnStmtImpl (implements coins.ir.hir.ReturnStmt)
 class coins.ir.hir.SwitchStmtImpl (implements coins.ir.hir.SwitchStmt)
 class coins.ir.hir.SwitchModify
class coins.ir.hir.SubpDefinitionImpl (implements coins.ir.hir.SubpDefinition)
class coins.ir.hir.HirIteratorImpl (implements coins.ir.hir.HirIterator)

★interface coins.ir.hir.HIR (同様に extends coins.ir.IR)
interface coins.ir.hir.Exp
 interface coins.ir.hir.FunctionExp
 interface coins.ir.hir.NullNode
 interface coins.ir.hir.PhiExp
 interface coins.ir.hir.PointedExp
 interface coins.ir.hir.QualifiedExp
 interface coins.ir.hir.SubscriptedExp
 interface coins.ir.hir.SymNode
 interface coins.ir.hir.ConstNode
 interface coins.ir.hir.LabelNode
 interface coins.ir.hir.SubpNode
 interface coins.ir.hir.TypeNode
 interface coins.ir.hir.VarNode
 interface coins.ir.hir.ElemNode
 interface coins.ir.hir.ParamNode
interface coins.ir.hir.HirSeq
interface coins.ir.hir.InfNode
interface coins.ir.hir.IrList
interface coins.ir.hir.LabelDef
interface coins.ir.hir.Program
interface coins.ir.hir.Stmt
 interface coins.ir.hir.AssignStmt
 interface coins.ir.hir.BlockStmt
 interface coins.ir.hir.ExpStmt
 interface coins.ir.hir.IfStmt
 interface coins.ir.hir.JumpStmt
 interface coins.ir.hir.LabeledStmt
 interface coins.ir.hir.LoopStmt
 interface coins.ir.hir.ForStmt
 interface coins.ir.hir.UntilStmt
 interface coins.ir.hir.WhileStmt
 interface coins.ir.hir.ReturnStmt
 interface coins.ir.hir.SwitchStmt
interface coins.ir.hir.SubpDefinition
★interface coins.ir.hir.HirIterator

======================================================================
tan: flow access

class coins.flow.BBlockNodeIteratorImpl (implements coins.flow.BBlockNodeIterator)
class coins.flow.BBlockSubtreeIteratorImpl (implements coins.flow.BBlockSubtreeIterator)
class coins.flow.BitVectorImpl (implements coins.flow.BitVector)
class coins.flow.BBlockVectorImpl (implements coins.flow.BBlockVector)
class coins.flow.BitVectorIteratorImpl (implements coins.flow.BitVectorIterator)
class coins.flow.ExpVectorIteratorImpl (implements coins.flow.ExpVectorIterator)
class coins.flow.PointVectorIteratorImpl (implements coins.flow.PointVectorIterator)
class coins.flow.DefVectorIteratorImpl (implements coins.flow.DefVectorIterator)
class coins.flow.ExpVectorImpl (implements coins.flow.ExpVector)
class coins.flow.PointVectorImpl (implements coins.flow.PointVector)
class coins.flow.DefVectorImpl (implements coins.flow.DefVector)
class coins.flow.EdgeImpl (implements coins.flow.Edge)
class coins.flow.FlowImpl (implements coins.flow.Flow)
class coins.flow.BBlockImpl (implements coins.flow.BBlock)
class coins.flow.SubpFlowImpl (implements coins.flow.SubpFlow)
class coins.flow.HirSubpFlowImpl (implements coins.flow.HirSubpFlow)
class coins.flow.LirSubpFlowImpl (implements coins.flow.LirSubpFlow)
class coins.flow.FlowIrLinkCellImpl (implements coins.flow.FlowIrLinkCell)
class coins.flow.SetRefReprImpl (implements coins.flow.SetRefRepr)

★interface coins.flow.BBlock
★interface coins.flow.BBlockNodeIterator
★interface coins.flow.BBlockSubtreeIterator
★interface coins.flow.BitVector
 interface coins.flow.BBlockVector
 interface coins.flow.ExpVector
 interface coins.flow.PointVector
 interface coins.flow.DefVector
★interface coins.flow.BitVectorIterator
★ interface coins.flow.ExpVectorIterator
★ interface coins.flow.PointVectorIterator
★ interface coins.flow.DefVectorIterator
★interface coins.flow.Edge
★interface coins.flow.Flow
interface coins.flow.FlowIrLinkCell
★interface coins.flow.SubpFlow
interface coins.flow.HirSubpFlow
interface coins.flow.LirSubpFlow

======================================================================
mri: HIR c-flow

class coins.flow.ControlFlowImpl (implements coins.flow.ControlFlow)
class coins.flow.ShowControlFlow
interface coins.flow.ControlFlow

======================================================================
mri: HIR d-flow

class coins.flow.DataFlowImpl (implements coins.flow.DataFlow)
class coins.flow.DefUseCellImpl (implements coins.flow.DefUseCell)
class coins.flow.DefUseListImpl (implements coins.flow.DefUseList)
class coins.flow.ShowDataFlow
class coins.flow.ShowDataFlowByName
interface coins.flow.DataFlow
interface coins.flow.DefUseCell
interface coins.flow.DefUseList

======================================================================
tan: マシンパラメタ

class coins.MachineParam

======================================================================
buna: LIR access

class coins.ir.lir.AbstractLIRNode (implements coins.ir.lir.LIRNode)
class coins.ir.lir.DefLabelImpl (implements coins.ir.lir.DefLabel)
class coins.ir.lir.ConditionType
class coins.ir.lir.JumpType
class coins.ir.lir.LIR_Impl (implements coins.ir.lir.LIR)
★class coins.ir.lir.LIRFactory (implements coins.ir.lir.NodeFactory, coins.ir.lir.TreeFactory)
★class coins.ir.lir.LIRType
★class coins.ir.lir.Ltype
class coins.ir.lir.OperatorType
class coins.ir.lir.RegisterType
class coins.ir.lir.LIRException
class coins.ir.lir.LIRIllegalArgumentException
class coins.ir.lir.LIRIllegalPatternException
class coins.ir.lir.LIRIllegalStateException
class coins.ir.lir.LIRIndexOutOfBoundsException
class coins.ir.lir.LIRUnsupportedOperationException
class coins.ir.lir.LIRUnsupportedTypeException
class coins.ir.lir.VariableType

interface coins.ir.lir.LIRNodeIterator
interface coins.ir.lir.LIRNodeListIterator
★interface coins.ir.lir.LIRTree
interface coins.ir.lir.LIRTreeIterator
interface coins.ir.lir.LIRTreeListIterator
interface coins.ir.lir.Instruction
interface coins.ir.lir.LIR
★interface coins.ir.lir.LIRNode (同様に extends java.lang.Cloneable)
 interface coins.ir.lir.Argument (同様に extends coins.ir.lir.Ltyped)
 interface coins.ir.lir.AsmConst
 interface coins.ir.lir.Call (同様に extends coins.ir.lir.Instruction, coins.ir.lir.LIRTree, coins.ir.lir.Ltyped, coins.ir.lir.Symbolic)
 interface coins.ir.lir.Clobber
 interface coins.ir.lir.Condition (同様に extends coins.ir.lir.LIRTree, coins.ir.lir.Ltyped)
 interface coins.ir.lir.DefLabel (同様に extends coins.ir.lir.Instruction, coins.ir.lir.Leaf, coins.ir.lir.LIRTree, coins.ir.lir.Symbolic)
 interface coins.ir.lir.Destination
 interface coins.ir.lir.Epilogue (同様に extends coins.ir.lir.Leaf, coins.ir.lir.LIRTree, coins.ir.lir.Symbolic)
 interface coins.ir.lir.Fai
 interface coins.ir.lir.Jump (同様に extends coins.ir.lir.Instruction, coins.ir.lir.LIRTree)
 interface coins.ir.lir.LConst (同様に extends coins.ir.lir.Leaf, coins.ir.lir.LIRTree, coins.ir.lir.Ltyped, coins.ir.lir.RegSymbolic, coins.ir.lir.Symbolic)
 interface coins.ir.lir.LineInfo (同様に extends coins.ir.lir.Leaf, coins.ir.lir.LIRTree)
 interface coins.ir.lir.LLabel (同様に extends coins.ir.lir.Leaf, coins.ir.lir.Ltyped, coins.ir.lir.Symbolic)
 interface coins.ir.lir.Memory (同様に extends coins.ir.lir.LIRTree, coins.ir.lir.Ltyped, coins.ir.lir.Lvalued, coins.ir.lir.RegSymbolic, coins.ir.lir.Symbolic)
 interface coins.ir.lir.Operator (同様に extends coins.ir.lir.LIRTree, coins.ir.lir.Ltyped, coins.ir.lir.RegSymbolic)
 interface coins.ir.lir.Set (同様に extends coins.ir.lir.Instruction)
 interface coins.ir.lir.Parallel
 interface coins.ir.lir.Prologue (同様に extends coins.ir.lir.Leaf, coins.ir.lir.LIRTree, coins.ir.lir.Symbolic)
 interface coins.ir.lir.Register (同様に extends coins.ir.lir.Leaf, coins.ir.lir.LIRTree, coins.ir.lir.Ltyped, coins.ir.lir.Lvalued, coins.ir.lir.RegSymbolic)
 interface coins.ir.lir.SubReg
 interface coins.ir.lir.Use
 interface coins.ir.lir.Variable (同様に extends coins.ir.lir.Leaf, coins.ir.lir.LIRTree, coins.ir.lir.Ltyped, coins.ir.lir.Symbolic)
interface coins.ir.lir.LIRNodeList
interface coins.ir.lir.LIRTreeList
interface coins.ir.lir.Ltyped
interface coins.ir.lir.Lvalued
interface coins.ir.lir.Mnemonic
interface coins.ir.lir.NodeFactory
interface coins.ir.lir.RegSymbolic
interface coins.ir.lir.Rootable
interface coins.ir.lir.Symbol
interface coins.ir.lir.Symbolic
interface coins.ir.lir.TreeFactory

======================================================================
コンテキスト

class coins.FlowRoot
class coins.IoRoot
class coins.IrRoot
class coins.HirRoot
class coins.LirRoot
class coins.SymRoot

======================================================================
ユーティリティ

class coins.Debug
class coins.Message
class coins.CompileError
class coins.FatalError
interface coins.HasStringObject

======================================================================
不要

class coins.ir.ComSize

======================================================================
HIR,LIR共通

class coins.ir.SourceInfImpl (implements coins.ir.SourceInf)

interface coins.ir.IR
interface coins.ir.SourceInf