backend.hxx File Reference

Interface for defining back-ends. More...

#include <iostream>
#include "UocInfo.hxx"
#include "AST.hxx"

Go to the source code of this file.

Data Structures

struct  BackEnd

Defines

#define BK_HDR_MODE   0x001u
 Set in BackEnd.flags if this target only produces header files.
#define BK_UOC_MODE   0x002u
 Set if we will not be running any passes that require the mid-end or back-end to be run.
#define BK_LINKING   0x004u
 Set if the target will be attempting to produce a binary, and therfore requires archive libraries mentioned on the command line to actually resolve to something.
#define BK_HDR_MODE   0x001u
 Set in BackEnd.flags if this target only produces header files.
#define BK_UOC_MODE   0x002u
 Set if we will not be running any passes that require the mid-end or back-end to be run.
#define BK_LINKING   0x004u
 Set if the target will be attempting to produce a binary, and therfore requires archive libraries mentioned on the command line to actually resolve to something.

Typedefs

typedef bool(*) BackEndFn (std::ostream &out, std::ostream &err, boost::shared_ptr< UocInfo > uoc)
typedef bool(*) MidEndFn (std::ostream &out, std::ostream &err)

Functions

bool XMLpp (std::ostream &out, std::ostream &err, boost::shared_ptr< UocInfo > uoc)
bool XMLdump (std::ostream &out, std::ostream &err, boost::shared_ptr< UocInfo > uoc)
bool XMLtypesPP (std::ostream &out, std::ostream &err, boost::shared_ptr< UocInfo > uoc)
bool EmitHeader (std::ostream &out, std::ostream &err, boost::shared_ptr< UocInfo > uoc)
bool EmitC (std::ostream &out, std::ostream &err, boost::shared_ptr< UocInfo > uoc)
bool EmitExe (std::ostream &out, std::ostream &err, boost::shared_ptr< UocInfo > uoc)
bool EmitBitO (std::ostream &out, std::ostream &err)


Detailed Description

Interface for defining back-ends.

This is actually misnamed, since what it describes is an emission target.

Definition in file backend.hxx.


Define Documentation

#define BK_HDR_MODE   0x001u

Set in BackEnd.flags if this target only produces header files.

Bug:
This may be reduntant, since it may be implied by which backend pass functions are set. Shap needs to check.

Definition at line 137 of file backend.hxx.

#define BK_HDR_MODE   0x001u

Set in BackEnd.flags if this target only produces header files.

Bug:
This may be reduntant, since it may be implied by which backend pass functions are set. Shap needs to check.

Definition at line 137 of file backend.hxx.

Referenced by main().

#define BK_LINKING   0x004u

Set if the target will be attempting to produce a binary, and therfore requires archive libraries mentioned on the command line to actually resolve to something.

Definition at line 148 of file backend.hxx.

#define BK_LINKING   0x004u

Set if the target will be attempting to produce a binary, and therfore requires archive libraries mentioned on the command line to actually resolve to something.

Definition at line 148 of file backend.hxx.

Referenced by main().

#define BK_UOC_MODE   0x002u

Set if we will not be running any passes that require the mid-end or back-end to be run.

Bug:
This may be reduntant, since it may be implied by which backend pass functions are set. Shap needs to check.

Definition at line 143 of file backend.hxx.

#define BK_UOC_MODE   0x002u

Set if we will not be running any passes that require the mid-end or back-end to be run.

Bug:
This may be reduntant, since it may be implied by which backend pass functions are set. Shap needs to check.

Definition at line 143 of file backend.hxx.

Referenced by main().


Typedef Documentation

typedef bool(*) BackEndFn(std::ostream &out, std::ostream &err, boost::shared_ptr< UocInfo > uoc)

Definition at line 53 of file backend.hxx.

typedef bool(*) MidEndFn(std::ostream &out, std::ostream &err)

Definition at line 56 of file backend.hxx.


Function Documentation

bool EmitBitO ( std::ostream &  out,
std::ostream &  err 
)

Definition at line 62 of file bito.cxx.

References BITC_VERSION, Options::outputFileName, UocInfo::srcList, and uoc.

bool EmitC ( std::ostream &  out,
std::ostream &  err,
boost::shared_ptr< UocInfo uoc 
)

bool EmitExe ( std::ostream &  out,
std::ostream &  err,
boost::shared_ptr< UocInfo uoc 
)

bool EmitHeader ( std::ostream &  out,
std::ostream &  err,
boost::shared_ptr< UocInfo uoc 
)

bool XMLdump ( std::ostream &  out,
std::ostream &  err,
boost::shared_ptr< UocInfo uoc 
)

bool XMLpp ( std::ostream &  out,
std::ostream &  err,
boost::shared_ptr< UocInfo uoc 
)

bool XMLtypesPP ( std::ostream &  out,
std::ostream &  err,
boost::shared_ptr< UocInfo uoc 
)


Generated on Sat Feb 4 23:59:29 2012 for BitC Compiler by  doxygen 1.4.7