65 #if defined CDATATYPE_CC
94 #endif // CDATATYPE_CC
116 int numberOfPackedDimensions;
117 vector<CNode*> packedRange;
282 {
return numberOfPackedDimensions;}
301 {
return packedRange[dim]; }
308 virtual void Dump( FILE* f )
const = 0;
316 virtual void PreVisit1(
int (*callback)(
CNode*,
void*),
void* data );
349 #endif // CDATATYPE_H
virtual void SetVarDataType(VarDataType_t v)
Set declaration's variable data type.
Definition: cdatatype.h:136
int declaration
Definition: cdatatype.h:52
virtual void SetConst(int v)
Set declaration's const property.
Definition: cdatatype.h:152
undefined
Definition: cdatatype.h:100
virtual int IsScalar() const
Determine if complete data structure is a scalar.
signed bit vector, includes integer
Definition: cdatatype.h:102
shortreal declaration
Definition: cdatatype.h:45
virtual int IsPackedWidthEvaluateable(void) const
Determine if packed or vector width of declaration can be evaluated.
virtual int PackedWidthDirection(void) const
Evaluate current decl width direction.
tagged union declaration
Definition: cdatatype.h:59
longint declaration
Definition: cdatatype.h:55
virtual INT32 GetBaseWidth(void) const =0
Evaluate base width (sans packed dimensions) of declaration.
realtime declaration
Definition: cdatatype.h:46
virtual CNode * GetPackedMsb() const
Get expression for declaration's msb.
virtual VarDataType_t GetVarDataType() const
Get declaration's variable data type.
Definition: cdatatype.h:141
proxy declaration
Definition: cdatatype.h:62
long INT32
Short cut for signed 32 bit integer.
Definition: glue.h:38
virtual NodeType_t GetNodeType(void) const =0
Get data type.
register declaration
Definition: cdatatype.h:47
virtual int GetConst() const
Get declaration's const property.
Definition: cdatatype.h:157
virtual CNode * GetBaseWidthExp() const =0
Get expression for datatype's base width (sans packed dimensions)
virtual CDataType * Clone(CObstack *heap)=0
Create a new copy with a deep copy.
virtual CNode * GetPackedLsi(INT32 dim) const
Get expression tree for lower limit of packed array dimension.
virtual void Dump(FILE *f) const =0
Dump data type info to file descriptor.
Base class for describing data types.
Definition: cdatatype.h:110
byte declaration
Definition: cdatatype.h:53
real declaration
Definition: cdatatype.h:44
unsigned bit vector
Definition: cdatatype.h:104
virtual int IsPacked() const =0
Determine if complete data structure is packed.
virtual CNode * GetPackedRange() const
Get expression for datatype's overall packed or vector range (msb/lsb)
virtual CNode * GetPackedLsb() const
Get expression for declaration's lsb.
Bulk object allocation object.
Definition: cobstack.h:46
Primary data structure representing parse tree nodes.
Definition: cnode.h:197
CDataType(VarDataType_t t)
Create data type instance.
integer declaration
Definition: cdatatype.h:50
virtual int GetTwoState() const =0
Get declaration's 2 state property.
virtual INT32 GetPackedWidth(void) const
Evaluate packed or vector width of declaration.
integer declaration
Definition: cdatatype.h:51
virtual int IsBaseWidthConstant(void) const =0
Determine if base width (sans packed dimensions) of declaration is constant, ie dependent upon only c...
virtual int IsBaseWidthEvaluateable(void) const =0
Determine if base width (sans packed dimensions) of declaration can be evaluated. ...
virtual int IsPackedWidthConstant(void) const
Determine if packed or vector width of declaration is constant, ie dependent upon only constants and ...
virtual int IsVector() const =0
Determine if complete data structure is a vector.
virtual int IsPackedWidthVolatile(void) const
Determine if packed or vector width of declaration is volatile, ie depend upon parameters or variable...
virtual void PreVisit1(int(*callback)(CNode *, void *), void *data)
Walk tree invoking callback on each node before children have been visited.
class declaration
Definition: cdatatype.h:61
shortint declaration
Definition: cdatatype.h:54
virtual INT32 GetNumberOfPackedDimensions(void) const
Get number of packed dimensions of declaration.
Definition: cdatatype.h:281
event - have width 0
Definition: cdatatype.h:103
Base class for vrq objects.
Definition: cobject.h:41
const char * varDataTypeName[]
Array to convert DataType_t to character string.
Definition: cdatatype.h:69
virtual CNode * GetPackedRange(INT32 dim) const
Get expression for range of packed array for dimension.
Definition: cdatatype.h:300
interface declaration
Definition: cdatatype.h:63
real - have width 0
Definition: cdatatype.h:101
virtual CNode * GetPackedMsi(INT32 dim) const
Get expression tree for upper limit of given packed array dimension.
virtual int IsBaseWidthVolatile(void) const =0
Determine if base width (sans packed dimensions) of declaration is volatile, ie depend upon parameter...
struct declaration
Definition: cdatatype.h:57
no type declaration
Definition: cdatatype.h:43
event declaration
Definition: cdatatype.h:56
VarDataType_t
Variable data types.
Definition: cdatatype.h:42
NodeType_t
Expression node type.
Definition: cdatatype.h:99
time declaration
Definition: cdatatype.h:48
virtual void PostSubVisit1(CNode *(*callback)(CNode *, void *), void *data)
Walk tree invoking callback on each node after children have been visited.
virtual CNode * GetPackedWidthExp() const
Get expression for datatype's overall packed or vector width.
virtual void PostVisit1(void(*callback)(CNode *, void *), void *data)
Walk tree invoking callback on each node after children have been visited.
enum declaration
Definition: cdatatype.h:60
virtual const char * GetVarDataTypeName() const
Get declaration's variable data type as a string.
Definition: cdatatype.h:146
logic declaration
Definition: cdatatype.h:49
union declaration
Definition: cdatatype.h:58
virtual int GetSigned() const =0
Get declartion's signed property.
void Copy(CObstack *heap, const CDataType &o)
Perform deep copy of given object to this one This should never be call directly, only by subclasses...