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:
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