UocInfo.hxx File Reference

#include <set>
#include <string>
#include <ostream>
#include <boost/filesystem/path.hpp>
#include <libsherpa/LexLoc.hxx>
#include "Environment.hxx"
#include "AST.hxx"
#include "TypeScheme.hxx"
#include "Symtab.hxx"
#include "TypeInfer.hxx"
#include "WorkList.hxx"
#include "pass.def"
#include "onepass.def"

Go to the source code of this file.

Data Structures

struct  PassInfo
struct  OnePassInfo
class  UocInfo

Defines

#define PASS(nm, short, descrip)   pn_##nm,
#define ONEPASS(nm, short, descrip)   op_##nm,
#define PASS(nm, short, descrip)
#define ONEPASS(nm, short, descrip)
#define PI_SYM_FLAGS   (RSLV_NO_RESOLVE_DECL)
#define PI_TYP_FLAGS   (TI_ALL_INSTS_OK)
#define OP_SYM_FLAGS   (PI_SYM_FLAGS | RSLV_SYM_NO_PRELUDE)
#define OP_TYP_FLAGS   (PI_TYP_FLAGS | TI_NO_PRELUDE)
#define POLY_SYM_FLAGS   (OP_SYM_FLAGS)
#define POLY_TYP_FLAGS
#define REF_SYM_FLAGS   (POLY_SYM_FLAGS | RSLV_INCOMPLETE_NO_CHK)
#define REF_TYP_FLAGS   (POLY_TYP_FLAGS)
#define CL_SYM_FLAGS   (REF_SYM_FLAGS)
#define CL_TYP_FLAGS   (REF_TYP_FLAGS)
#define PASS(nm, short, descrip)   pn_##nm,
#define ONEPASS(nm, short, descrip)   op_##nm,
#define PASS(nm, short, descrip)
#define ONEPASS(nm, short, descrip)
#define PI_SYM_FLAGS   (RSLV_NO_RESOLVE_DECL)
#define PI_TYP_FLAGS   (TI_ALL_INSTS_OK)
#define OP_SYM_FLAGS   (PI_SYM_FLAGS | RSLV_SYM_NO_PRELUDE)
#define OP_TYP_FLAGS   (PI_TYP_FLAGS | TI_NO_PRELUDE)
#define POLY_SYM_FLAGS   (OP_SYM_FLAGS)
#define POLY_TYP_FLAGS
#define REF_SYM_FLAGS   (POLY_SYM_FLAGS | RSLV_INCOMPLETE_NO_CHK)
#define REF_TYP_FLAGS   (POLY_TYP_FLAGS)
#define CL_SYM_FLAGS   (REF_SYM_FLAGS)
#define CL_TYP_FLAGS   (REF_TYP_FLAGS)

Typedefs

typedef sherpa::EnumSet< UocFlagValuesUocFlags
typedef std::map< std::string,
boost::shared_ptr< UocInfo > > 
UocMap

Enumerations

enum  UocFlagValues { UOC_NO_FLAGS = 0, UOC_IS_PRELUDE = 0x1u, UOC_IS_MUTABLE = 0x2u, UOC_SEEN_BY_INST = 0x4u }
enum  Pass {
  nm, nm, short, short,
  descrip, descrip
}
enum  OnePass {
  nm, nm, short, short,
  descrip, descrip
}


Define Documentation

#define CL_SYM_FLAGS   (REF_SYM_FLAGS)

Definition at line 388 of file UocInfo.hxx.

#define CL_SYM_FLAGS   (REF_SYM_FLAGS)

Definition at line 388 of file UocInfo.hxx.

#define CL_TYP_FLAGS   (REF_TYP_FLAGS)

Definition at line 389 of file UocInfo.hxx.

#define CL_TYP_FLAGS   (REF_TYP_FLAGS)

Definition at line 389 of file UocInfo.hxx.

#define ONEPASS ( nm,
short,
descrip   ) 

Value:

bool be_##nm(std::ostream& errStream,                                \
               bool init=true, unsigned long flags=0);

Definition at line 293 of file UocInfo.hxx.

#define ONEPASS ( nm,
short,
descrip   )     op_##nm,

Definition at line 293 of file UocInfo.hxx.

#define ONEPASS ( nm,
short,
descrip   ) 

Value:

bool be_##nm(std::ostream& errStream,                                \
               bool init=true, unsigned long flags=0);

Definition at line 293 of file UocInfo.hxx.

#define ONEPASS ( nm,
short,
descrip   )     op_##nm,

Definition at line 293 of file UocInfo.hxx.

#define OP_SYM_FLAGS   (PI_SYM_FLAGS | RSLV_SYM_NO_PRELUDE)

Definition at line 375 of file UocInfo.hxx.

#define OP_SYM_FLAGS   (PI_SYM_FLAGS | RSLV_SYM_NO_PRELUDE)

Definition at line 375 of file UocInfo.hxx.

Referenced by reRandT().

#define OP_TYP_FLAGS   (PI_TYP_FLAGS | TI_NO_PRELUDE)

Definition at line 376 of file UocInfo.hxx.

#define OP_TYP_FLAGS   (PI_TYP_FLAGS | TI_NO_PRELUDE)

Definition at line 376 of file UocInfo.hxx.

Referenced by reRandT().

#define PASS ( nm,
short,
descrip   ) 

Value:

bool fe_##nm(std::ostream& errStream,                          \
               bool init=true, unsigned long flags=0);

Definition at line 196 of file UocInfo.hxx.

#define PASS ( nm,
short,
descrip   )     pn_##nm,

Definition at line 196 of file UocInfo.hxx.

#define PASS ( nm,
short,
descrip   ) 

Value:

bool fe_##nm(std::ostream& errStream,                          \
               bool init=true, unsigned long flags=0);

Definition at line 196 of file UocInfo.hxx.

#define PASS ( nm,
short,
descrip   )     pn_##nm,

Definition at line 196 of file UocInfo.hxx.

#define PI_SYM_FLAGS   (RSLV_NO_RESOLVE_DECL)

Definition at line 371 of file UocInfo.hxx.

#define PI_SYM_FLAGS   (RSLV_NO_RESOLVE_DECL)

Definition at line 371 of file UocInfo.hxx.

#define PI_TYP_FLAGS   (TI_ALL_INSTS_OK)

Definition at line 372 of file UocInfo.hxx.

#define PI_TYP_FLAGS   (TI_ALL_INSTS_OK)

Definition at line 372 of file UocInfo.hxx.

#define POLY_SYM_FLAGS   (OP_SYM_FLAGS)

Definition at line 379 of file UocInfo.hxx.

#define POLY_SYM_FLAGS   (OP_SYM_FLAGS)

Definition at line 379 of file UocInfo.hxx.

Referenced by reRandT().

#define POLY_TYP_FLAGS

Value:

Definition at line 380 of file UocInfo.hxx.

#define POLY_TYP_FLAGS

Value:

Definition at line 380 of file UocInfo.hxx.

Referenced by reRandT().

#define REF_SYM_FLAGS   (POLY_SYM_FLAGS | RSLV_INCOMPLETE_NO_CHK)

Definition at line 384 of file UocInfo.hxx.

#define REF_SYM_FLAGS   (POLY_SYM_FLAGS | RSLV_INCOMPLETE_NO_CHK)

Definition at line 384 of file UocInfo.hxx.

#define REF_TYP_FLAGS   (POLY_TYP_FLAGS)

Definition at line 385 of file UocInfo.hxx.

#define REF_TYP_FLAGS   (POLY_TYP_FLAGS)

Definition at line 385 of file UocInfo.hxx.


Typedef Documentation

typedef sherpa::EnumSet<UocFlagValues> UocFlags

Definition at line 74 of file UocInfo.hxx.

typedef std::map<std::string, boost::shared_ptr<UocInfo> > UocMap

Definition at line 113 of file UocInfo.hxx.


Enumeration Type Documentation

enum OnePass

Enumerator:
nm 
nm 
short 
short 
descrip 
descrip 

Definition at line 85 of file UocInfo.hxx.

enum Pass

Enumerator:
nm 
nm 
short 
short 
descrip 
descrip 

Definition at line 80 of file UocInfo.hxx.

enum UocFlagValues

Enumerator:
UOC_NO_FLAGS 
UOC_IS_PRELUDE  Indicates that this UOC is the prelude UOC.

This does not appear to be consulted anywhere.

UOC_IS_MUTABLE  Indicates that definitions in this UOC may be changed.

This is (in theory) used in the instantiator.

Bug:
This flag is not set anywhere. What is it for?
UOC_SEEN_BY_INST  Indicates that this UOC has been visited by the instantiator.

Definition at line 55 of file UocInfo.hxx.


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