Klass NODE

Lühikirjeldus

Kirjeldab graafi tipu funktsionaalsuse

Andmeliikmed

char *Name; - tipus oleva muutuja nimi
unsigned Flags; - tipu lipud (vt Alternative Graph Model Format)
Lippudel võivad olla järgmised väärtused:
int NeighbourCnt; - naabrite arv
int VarIndex; - viit muutujate tabelisse
int Index; - tipu indeks
int Predecessor; - tipu eellase indeks
int PredecessorValue; - väärtus, mille korral tee eellastipust antud tippu aktiviseeritakse
int UniquePredecessorValue; - = 0, kui eelnev väärtus on mingi piirkond
= 1, kui eelnev väärtus on üks konkreetne arv (s.t. üheselt paigas)
RANGE Bitwidth; - tipu bitilaius
EXTRANGE *Neighbours; - viited naabritele
static GlobalCounter; - tippude loendur (annab tippude üldarvu mudelis)
VALUE *ControlSignals; - juhtsignaalide vektor FSM terminaaltippude puhul
unsigned MemIndex[2]; - kui MemDimesions == 1, siis MemIndex[0] näitab mälumuutuja rea aadressi; kui MemDimensions == 2, siis MemIndex[0] näitab mälumuutuja veeruaadressi ja MemIndex[1] rea aadressi
int MemDimensions; - näitab mälumuutuja liiki (0 - pole mälumuutuja, 1- ühedimensionaalne muutuja, 2- kahedimensionaalne muutuja)

Meetodid

void Copy(const NODE &Other);
Abistav meetod, mis kopeerib objekti sisu
void Destroy(void);
Abistav meetod, mis vabastab objekti sees eraldatud mälu
NODE(void);
Vaikimisi konstruktor (andmeliikmed nullitakse)
NODE(const NODE &Other);
nn "copy" konstruktor - üks objekt algväärtustatakse teisega
~NODE(void);
Destruktor, hoolitseb objekti poolt eraldatud mälu vabastamise eest
NODE &operator=(const NODE &Other);
Ülelaaditud omistamisoperaator
EXTRANGE operator[](const int index) const;
Ülelaaditud [] operaator; võimaldab konstruktsiooni EXTRANGE ER=SomeNode[i];
EXTRANGE &operator[](const int index);
Ülelaaditud [] operaator; võimaldab konstruktsioone EXTRANGE ER=SomeNode[i] ja SomeNode[i]=ER
void Init(const char *Str);
Objekt initsialiseeritakse stringist (stringi üldkuju vt Alternative Graph Model Format)
void Print_Screen(void);
Väljastab objekti sisu ekraanile
void Print(FILE *AG_file);
Väljastab objekti sisu faili AG_file vastavalt mudeli formaadile
void Insert(const int n, const EXTRANGE ExtRange);
Lisab objekti ExtRange objektide listi positsioonile n; NB! Suhteliselt aeglane operatsioon!
void Add(const EXTRANGE ExtRange);
Lisab objekti ExtRange objektide listi lõppu; NB! Suhteliselt aeglane operatsioon!
void Remove(const int n);
Eemaldab objektide listi positsioonilt n objekti; NB! Suhteliselt aeglane operatsioon!
char *GetName(void) const;
Tagastab tipuga seotud muutuja nime
void SetName(const char* NewName);
Muudab tipuga seotud muutuja nime
int GetNeighbourCnt(void) const;
Tagastab tipu naabrite arvu
int GetVarIndex(void) const;
Tagastab tipule vastava muutuja indeksi
void SetVarIndex(const int NewIndex);
Muudab viida muutujate tabelisse
int GetIndex(void) const;
Tagastab tipu indeksi
void SetIndex(const int NewIndex);
Paneb tipu indeksiks NewIndex
void SetPredecessor(const int neighbour);
Paneb neighbouri tipu eellaseks
int GetPredecessor(void) const;
Tagastab tipu eellase indeksi
void SetPredecessorValue(const int value);
Paneb paika väärtuse, mille korral tee eellastipust antud tippu aktiviseeritakse
int GetPredecessorValue(void) const;
Tagastab väärtuse, mille korral tee eellastipust antud tippu aktiviseeritakse
int IsUniquePredecessorVal();
Tagastab ühe, kui nimetatud väärtus on mingi konkreetne arv. Kui selleks on piirkond, siis tagastatakse 0.
void SetUniquePredecessorVal(int value);
Omistab väärtuse muutujale UniquePredecessorVal
int IsUniqueNeighbour(const int Value) const;
Kui tipu väärtusele value vastav kaar on aktiviseeritud konkreetse arvuga, s.t. mitte piirkonnaga, siis tagastatakse nullist erinev arv.
int GetNeighbour(const int Value) const;
Tagastab tipu väärtusele Value vastava naabri; kui ei leita, siis tagastatakse -1
int GetNeighbourIndex(const int Count) const;
Tagastab tipu Count-nda naabri indeksi
int GetNeighbourValue(const int n) const;
Tagastab naabrile n vastava tipu väärtuse (Neighbours[n].GetRange(0).GetBeg(); e. esimese võimaliku)
int GetBitwidth(void) const;
Tagastab tipu bitilaiuse numbrina (st 4, 8, 16, 32 vms)
RANGE GetBitwidthRange(void) const;
Tagastab tipu bitilaiuse objektina RANGE
void SetBitwidthRange(const RANGE NewRange);
Paneb tipu bitilaiuseks NewRange
void SetFlag(const unsigned flag);
Paneb lipu flag püsti
void ResetFlag(const unsigned flag);
Võtab lipu flag maha
int IsFlag(const unsigned TestFlag) const;
Kontrollib, kas lipp TestFlag on püsti
unsigned GetMemIndex(int dim);
Tagastab MemIndex[dim]
int GetMemDimensions(void);
Tagastab MemDimensions
VALUE GetControlSignal(int index);
Tagastab indexinda juhtsignaali väärtuse
VALUE GetControlSignals();
Tagastab ControlSignals
void GenControlSignals();
Väärtustab (n. mudeli sisselugemisel) liikme ControlSignals liikmest Name