Klass VARIABLE
Lühikirjeldus
Kirjeldab muutuja
Andmeliikmed
- int GrpIndex; - graafi indeks, kus muutuja asub; -1
kui pole vastavat graafi
- int Index; - muutuja indeks
- unsigned Flags; - muutuja lipud
- Lippudel võivad olla järgmised väärtused:
- InputF - muutuja on sisendmuutuja
- OutputF - muutuja on väljundmuutuja
- ConstantF - muutuja on konstant
- NonterminalF - muutuja on juhtosa väljund
- FunctionF - muutuja on funktsionaalne muutuja
- RegisterF - muutujas on ühetaktine viide
- ResetF - reset muutuja
- StateF - olekumuutuja
- FSMF - automaadi graafi muutuja (RTL)
- MemoryF - mälumuutuja (RTL, kõrgtase)
- VEndCondF - sisemiseks kasutuseks
- VCompareF - kui tegemist on võrdlusop.-niga (RTL,kõrgtase)
- char *Name; - muutuja nimetus
- RANGE Bitwidth; - muutuja bitilaius
- int Value; - kui muutuja on konstant, siis muutuja
väärtus
- char *Function; - kui on funktsionaalne muutuja, siis
funktsiooni nimetus
- int ArgCnt; - funktsiooni argumentide arv
- int *Args; - argumentide indeksid muutujate tabelis
- RANGE *ArgBitwidth; - argumentide bitilaiused
- int Dimensions; - mälumuutuja dimensioon (vektori
puhul 1, maatriksi puhul 2)
- RANGE Range[2]; - kui Dimensions == 1, siis Range[0]
näitab lubatud mäluaadresse reale;
- kui Dimensions == 2, siis Range[0] näitab lubatud mäluaadresside
- vahemikku veergudele ja Range[1] näitab lubatud mäluaadresside
vahemikku ridadele
- int **Cells; - mälupesade väärtused
Meetodid
- void Copy(const VARIABLE &Other);
- Abistav meetod, mis kopeerib objekti sisu
- void Destroy(void);
- Abistav meetod, mis vabastab objekti sees eraldatud mälu
- VARIABLE(void);
- Vaikimisi konstruktor (GrpIndex = -1, teised andmeliikmed nullitakse)
- VARIABLE(const VARIABLE &Other);
- nn "copy" konstruktor - üks objekt algväärtustatakse
teisega
- ~VARIABLE(void);
- Destruktor, hoolitseb objekti poolt eraldatud mälu vabastamise
eest
- void Init(char *buf, FILE *fptr);
- Initsialiseerib objekti stringist buf; kui tegemist on mälumuutujaga,
siis loetakse infot ka AGM failist fptr
- void Print(FILE *AG_file);
- Väljastab objekti sisu faili AG_file vastavalt AGM formaadile
- void Print_Screen(void);
- Väljastab objekti sisu ekraanile
- VARIABLE &operator=(const VARIABLE &other);
- Ülelaaditud omistamisoperaator
- int GetGrpIndex(void) const;
- Tagastab muutujale vastava graafi indeksi
- unsigned GetFlags(void) const;
- Tagastab muutuja lipud (täpsemalt vt Alternative Graph Model Format)
- char *GetName(void) const;
- Tagastab muutuja nime
- void SetName(const char* NewName);
- Muudab muutuja nime
- RANGE GetBitwidthRange(void) const;
- Tagastab muutuja bitilaiuse objektina RANGE
- void SetBitwidthRange(const RANGE NewRange);
- Paneb tipu bitilaiuseks NewRange
- int GetBitwidth(void) const;
- Tagastab muutuja bitilaiuse täisarvuna
- int GetValue(void) const;
- Tagastab muutuja väärtuse, kui tegemist on konstandiga
- void SetValue(const int NewValue);
- Paneb muutuja väärtuseks NewValue
- char *GetFunction(void) const;
- Tagastab funktsionaalse muutuja puhul funktsiooni nimetuse
- void SetFunction(const char* NewFunction);
- Muudab funktsionaalse muutuja puhul muutuja nime
- 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
- void SetGrpIndex(const int i);
- Paneb muutujale vastava graafi indeksiks i
- int GetArgCnt(void) const;
- Kui on tegemist funktsionaalse muutujaga, siis tagastab funktsiooni
argumentife arvu
- int GetArg(const int index) const;
- Funktsionaalse muutuja korral tagastab argumendi Index
- void SetArg(const int index, int var) ;
- Paneb indexinda argumendi viitama muutujale indeksiga var
- int GetIndex(void) const;
- Tagastab muutuja indeksi
- void SetIndex(const int NewIndex);
- Paneb muutuja indeksiks NewIndex
- RANGE GetArgBitwidth(const int index) const;
- Tagastab funktsiooni argumendi Index bituilaiuse objektina RANGE
- int GetMemCellValue(const int index1,const int index2);
- Tagastab mälupesa väärtuse
- int InMemRange(const int index1,const int index2);
- Kontrollib, kas index1 ja index2 kuuluvad lubatud mäluaadresside
vahemikku