EquivalenceDict Class ReferenceDictionary of Equivalences.
More...
#include <EquivalenceDict.h>
Inheritance diagram for EquivalenceDict:
[legend]List of all members.
Detailed Description
Dictionary of Equivalences.
Polairs C++ VDL - See also:
- EquivalenceDict.h
EquivalenceDict.h
EquivalenceDict.cc
EquivalenceDict is simply a dictionary for equivalences which includes a constructor from a binstr.
Perhaps the destructor for the Equivalence class should automatically call del() on each of its members so that the pointers in the Symtab are all set to null when this is deleted. Then again, perhaps not...
Definition at line 38 of file EquivalenceDict.h.
Constructor & Destructor Documentation
| EquivalenceDict::EquivalenceDict |
( |
|
) |
[inline] |
|
| EquivalenceDict::EquivalenceDict |
( |
const BinRep & |
binstr, |
|
|
Symtab & |
symtab |
|
) |
|
|
Member Function Documentation
| void EquivalenceDict::rename_and_ins |
( |
Equivalence * |
equiv |
) |
|
|
| void EquivalenceDict::del |
( |
const char * |
equiv_name |
) |
[virtual] |
|
|
|
"Absorbs" the other dictionary into itself
I.e., removes all equivalences from other, renames them as necessary to avoid naming conflicts, and inserts them all into this dictionary
Definition at line 104 of file EquivalenceDict.cc.
References rename_and_ins().
Referenced by move_saved_vars(). |
| void EquivalenceDict::write |
( |
ostream & |
o, |
|
|
int |
space_for_label, |
|
|
int |
max_line_len, |
|
|
const Symtab & |
symtab |
|
) |
const |
|
| int EquivalenceDict::structures_OK |
( |
|
) |
const |
|
| void EquivalenceDict::exchange_convert |
( |
VDL & |
vdl |
) |
[virtual] |
|
|
|
Check to see if the equivalence class is fully connected.
If it is not, then split it into a number of smaller classes fixing up symbol table references.
Definition at line 162 of file EquivalenceDict.cc.
References EquivalenceMember::byte_base(), Iterator< T >::current(), Iterator< T >::current_valid(), RefList< T >::del(), del(), RefList< T >::entries(), eq(), Symbol::equivalence(), ProtoDatabase< S, T >::find_ref(), TypedBaseMap< S, T >::first_ref(), RefList< T >::grab(), Database< S, T >::grab(), Database< S, T >::ins(), RefList< T >::ins_last(), Expression::iterator(), RefList< T >::member(), rename_and_ins(), Iterator< T >::reset(), Symbol::size(), EquivalenceMember::symbol(), RefList< T >::valid(), and Iterator< T >::valid().
Referenced by ProgramUnit::clean(). |
Friends And Related Function Documentation
The documentation for this class was generated from the following files:
|