Main Page | Class Hierarchy | Compound List | File List | Compound Members | File Members

sym_ident Class Reference

Class for variable identifiers. More...

#include <dsym.h>

Inheritance diagram for sym_ident:

Inheritance graph
[legend]
Collaboration diagram for sym_ident:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 sym_ident (STRING n)
 sym_ident ()
const uint get_sy_kind (void)
void set_alloc (uint alloc)
const uint get_alloc (void)
void set_id_kind (uint kind)
const uint get_id_kind (void)
void set_id_type (pType t)
const pType get_id_type (void)

Private Attributes

pType ty
uint id_alloc: 3
uint id_kind: 3
uint unused: 26

Detailed Description

Class for variable identifiers.

Note that this does not include constants (they will be sym_const objects).

The properties of identifiers are:

Note that there is no variable offset associated with the symbol, since this is generated by the code generation phase. Symbols in the p-code generated by the VHDL elaborator are referenced by name. This is also true for frame allocated variables.

Each variable has a declaration in the p-code generated for a process. For frame allocated variables this declaration must identify the variable as a frame variable. The code generator can then build up the frame frame size and offsets within a frame. This fully decouples p-code generation from any machine dependent code generation.

Definition at line 161 of file dsym.h.


Constructor & Destructor Documentation

sym_ident::sym_ident STRING  n  )  [inline]
 

Definition at line 168 of file dsym.h.

References id_alloc, id_kind, NULL, sy_bad_alloc, sy_bad_ident_type, and ty.

00168                         : sym_scoped( n )
00169     {
00170         ty = NULL;
00171         id_alloc = sy_bad_alloc;
00172         id_kind = sy_bad_ident_type;
00173     }

sym_ident::sym_ident  )  [inline]
 

Definition at line 175 of file dsym.h.

References id_alloc, id_kind, NULL, sy_bad_alloc, sy_bad_ident_type, and ty.

00176     {
00177         ty = NULL;
00178         id_alloc = sy_bad_alloc;
00179         id_kind = sy_bad_ident_type;
00180     }


Member Function Documentation

const uint sym_ident::get_alloc void   )  [inline, virtual]
 

Reimplemented from sym.

Definition at line 188 of file dsym.h.

References id_alloc, and uint.

00189     {
00190         return id_alloc;
00191     }

const uint sym_ident::get_id_kind void   )  [inline, virtual]
 

Reimplemented from sym.

Definition at line 197 of file dsym.h.

References id_kind, and uint.

00198     {
00199         return id_kind;
00200     }

const pType sym_ident::get_id_type void   )  [inline, virtual]
 

Reimplemented from sym.

Definition at line 207 of file dsym.h.

References ty.

00208     { 
00209         return ty; 
00210     } // get_type

const uint sym_ident::get_sy_kind void   )  [inline, virtual]
 

Reimplemented from sym.

Definition at line 182 of file dsym.h.

References sy_ident, and uint.

00182 { return sy_ident; }

void sym_ident::set_alloc uint  alloc  )  [inline, virtual]
 

Reimplemented from sym.

Definition at line 184 of file dsym.h.

References id_alloc.

00185     {
00186         id_alloc = alloc;
00187     } // set_offset

void sym_ident::set_id_kind uint  kind  )  [inline, virtual]
 

Reimplemented from sym.

Definition at line 193 of file dsym.h.

References id_kind.

00194     {
00195         id_kind = kind;
00196     }

void sym_ident::set_id_type pType  t  )  [inline, virtual]
 

Reimplemented from sym.

Definition at line 202 of file dsym.h.

References NULL, and ty.

00203     { 
00204         assert( t != NULL );
00205         ty = t;
00206     } // set_type


Member Data Documentation

uint sym_ident::id_alloc [private]
 

Definition at line 164 of file dsym.h.

Referenced by get_alloc(), set_alloc(), and sym_ident().

uint sym_ident::id_kind [private]
 

Definition at line 164 of file dsym.h.

Referenced by get_id_kind(), set_id_kind(), and sym_ident().

pType sym_ident::ty [private]
 

Definition at line 163 of file dsym.h.

Referenced by get_id_type(), set_id_type(), and sym_ident().

uint sym_ident::unused [private]
 

Definition at line 164 of file dsym.h.


The documentation for this class was generated from the following file:
Generated on Wed Mar 31 21:16:10 2004 for Data Structures for a VHDL Compiler by doxygen 1.3.3