coins.cfront
Class Cfront

java.lang.Object
  extended bycoins.driver.Driver
      extended bycoins.cfront.Cfront
All Implemented Interfaces:
CompilerImplementation
Direct Known Subclasses:
Hir2C

public class Cfront
extends Driver


Field Summary
protected  int fDbgLevel
           
 HirRoot hirRoot
           
protected  java.io.InputStream in
           
protected  IoRoot ioRoot
           
protected  java.io.File sourceFile
           
protected  CompileSpecification spec
           
protected  Suffix suffix
           
 SymRoot symRoot
           
 
Fields inherited from class coins.driver.Driver
ASSEMBLER_NAME_OPTION, CG_PARALLEL, CHECK_HIR_OPTION, CHECK_SYMBOL_TABLE_OPTION, COARSE_GRAIN_PARALLEL, COINS_OPTION_DELIMITER, DEBUG_OPTION, DEFAULT_ASSEMBLER_NAME, DEFAULT_LINKER_NAME, DEFAULT_LINKER_OPTIONS_PROPERTY, DEFAULT_LIR_OPTION, DEFAULT_OPTIMIZATION_LEVEL, DEFAULT_PREPROCESSOR_NAME, DEFAULT_SETTING, defaultSettings, DUMP_HIR_OPTION, DUMP_HIR_OPTION_DELIMITER, FLOW_ANAL_OPTION_DELIMITER, HIR_FLOW_ANAL_OPTION, HIR_OPT_ARG_FROMC, HIR_OPT_OPTION, HIR_OPTIMIZATION_ARGS, HIR_TO_C_OPTION, HIR_TO_C_OPTION_DELIMITER, hirFlowRoot, LINKER_NAME_OPTION, LIR_OPTIMIZATION_ARGS, LIR_TO_C_OPTION, LIR_TO_C_OPTION_DELIMITER, MACRO_DATA_FLOW_OPTION, MAX_OPTIMIZATION_LEVEL, myName, NEW_LIR_OPTION, OLD_LIR_OPTION, OPENMP_OPTION, OPT_OPTION_DELIMITER, OUT_NEW_LIR_OPTION, PARALLEL_DO_ALL, PREPROCESSOR_NAME_OPTION, SIMULATE_OPTION, SSA_OPTIMIZATION_ARGS, SSA_OPTION, STOP_AFTER_HIR_TO_C_OPTION, STOP_AFTER_LIR_TO_C_OPTION, SYSTEM_INCLUDE_PATH_PROPERTY, TARGET_ARCH_OPTION, TARGET_CONVENTION_OPTION, VERBOSE_FLAG
 
Constructor Summary
Cfront()
          Dummy constructor (required for coins.lparallel.LoopPara)
Cfront(java.io.File pSourceFile, Suffix pSuffix, java.io.InputStream pIn, IoRoot pIo, HirRoot pHirRoot)
          Cfront
 
Method Summary
protected  HIR makeHirBaseFromC(HirRoot hirRoot, HIR hir, IoRoot io)
          Makes an HIR-Bsae tree from an HIR-C tree.
protected  HIR makeHirCFromCSource(HirRoot hirRoot, java.io.InputStream in, IoRoot io)
          Makes an HIR-C tree from a C source program.
 void makeHirFromCSource()
          HIR tree creation from source code.
 
Methods inherited from class coins.driver.Driver
assemble, basicHIROptimizations, callHirBaseToC, callLirToC, checkHirToCStopCondition, checkLIROptionsIntegrity, checkLirToCStopCondition, compile, dumpHirBase, dumpHirBase, dumpHirBase, go, includedInDelimitedList, link, main, makeCommandLine, makeCSourceFromHirBase, makeCSourceFromHirBase, makeCSourceFromLir, makeCSourceFromLir, makeHIRFlowAnalysis, makeHirFromSource, makeLIRFromLIRSource, makeNewLirFromHir, matchDumpHirTiming, matchHirToCTiming, matchLirToCTiming, optimizeHirAfterFlowAnalysis, optimizeHirBeforeFlowAnalysis, preprocess, runProgram, runProgram, runProgram, separateDelimitedList, setDefaultLinkerOptions, setOptimizationOptions, setSystemIncludePathOptions, testHir, testSym
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sourceFile

protected java.io.File sourceFile

suffix

protected Suffix suffix

in

protected java.io.InputStream in

ioRoot

protected IoRoot ioRoot

symRoot

public SymRoot symRoot

hirRoot

public HirRoot hirRoot

fDbgLevel

protected int fDbgLevel

spec

protected CompileSpecification spec
Constructor Detail

Cfront

public Cfront(java.io.File pSourceFile,
              Suffix pSuffix,
              java.io.InputStream pIn,
              IoRoot pIo,
              HirRoot pHirRoot)
Cfront

Parameters:
pSourceFile - the source file name.
pSuffix - suffix rule of the source file.
pIn - input.
pIo - the IoRoot.
pHirRoot - HirRoot.

Cfront

public Cfront()
Dummy constructor (required for coins.lparallel.LoopPara)

Method Detail

makeHirFromCSource

public void makeHirFromCSource()
                        throws java.io.IOException,
                               PassException
HIR tree creation from source code.

Throws:
java.io.IOException - any IO error.
PassException - unrecoverable error(s) found in processing.

makeHirCFromCSource

protected HIR makeHirCFromCSource(HirRoot hirRoot,
                                  java.io.InputStream in,
                                  IoRoot io)
                           throws java.io.IOException,
                                  PassException
Makes an HIR-C tree from a C source program. Derived classes can override this method.

Parameters:
hirRoot - an HirRoot object.
in - an input stream from which the C source program can be read.
io - an IoRoot object.
Returns:
a HIR root node.
Throws:
java.io.IOException - any IO error.
PassException - unrecoverable error(s) found in processing.

makeHirBaseFromC

protected HIR makeHirBaseFromC(HirRoot hirRoot,
                               HIR hir,
                               IoRoot io)
                        throws java.io.IOException,
                               PassException
Makes an HIR-Bsae tree from an HIR-C tree.

Parameters:
hirRoot - an HirRoot object.
hir - a root node of HIR-C tree.
io - an IoRoot object.
Returns:
a root node of an HIR-Base tree.
Throws:
java.io.IOException - any IO error.
PassException - unrecoverable error(s) found in processing.