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:
- NTermF - tipp pole terminaalne (RTL, kõrgtasemel)
- InverF - tipp on inverteeritud (madaltasemel)
- ContrF - tipp on juhtosa terminaaltipp (RTL)
- UntestF - tipp, millele testi ei genereerita (RTL)
- TraverseF1 - sisemiseks kasutamiseks
- TraverseF2 - sisemiseks kasutamiseks
- 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