coins.hir2c
Class Hir2C

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

public class Hir2C
extends Cfront

A driver implementation using COINS Compiler Driver API. This is to produce C source from HIR structure.


Field Summary
 
Fields inherited from class coins.cfront.Cfront
fDbgLevel, hirRoot, in, ioRoot, sourceFile, spec, suffix, 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
Hir2C()
           
 
Method Summary
 void compile(java.io.File sourceFile, java.io.InputStream in, java.io.OutputStream out, IoRoot pio)
          Compiler.
This compiler has five passes: C source to HIR-C, HIR-C to HIR-Base, Flow analysis on HIR, Optimization and Parallelization on HIR, HIR to C source.
static void main(java.lang.String[] args)
          A main function.
Makes a compile specification from a command line.
 
Methods inherited from class coins.cfront.Cfront
makeHirBaseFromC, makeHirCFromCSource, makeHirFromCSource
 
Methods inherited from class coins.driver.Driver
assemble, basicHIROptimizations, callHirBaseToC, callLirToC, checkHirToCStopCondition, checkLIROptionsIntegrity, checkLirToCStopCondition, compile, dumpHirBase, dumpHirBase, dumpHirBase, go, includedInDelimitedList, link, 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
 

Constructor Detail

Hir2C

public Hir2C()
Method Detail

compile

public void compile(java.io.File sourceFile,
                    java.io.InputStream in,
                    java.io.OutputStream out,
                    IoRoot pio)
             throws java.io.IOException,
                    PassException
Compiler.
This compiler has five passes:
  1. C source to HIR-C,
  2. HIR-C to HIR-Base,
  3. Flow analysis on HIR,
  4. Optimization and Parallelization on HIR,
  5. HIR to C source.

Parameters:
sourceFile - the source file name.
in - input.
out - output.
Throws:
java.io.IOException
PassException

main

public static void main(java.lang.String[] args)
A main function.
Makes a compile specification from a command line. Creates an compiler driver API object giving the compile specification. Creates a driver implementation object and pass it to the API object to start compilation.

Parameters:
args - a command line.