5 char *name
; //meno premennej ako ho zadal pouzivatel,
6 //pouziva sa aj ako indikator, ci je struct inicializovany
7 char *tname
; //prelozene meno
10 typedef _Variable Variable
;
16 typedef _Function Function
;
26 // zmaze obsah tabulky lokalnych premennych
28 // zmaze obsah tabulky globalnych premennych
29 void clearFunctions();
30 // zmaze obsah tabulky funkcii
32 int varLocal(char *name
);
33 // ak sa name nachadza v tabulke lokalnych premennych, tak vrati jemu
34 // prisluchajuce cislo, inak -1
36 char *varGlobal(char *name
);
37 // ak sa name nachadza v tabulke globalnych premennych, tak vrati jemu
38 // prisluchajuce meno, inak NULL
40 char *varGlobalNo(int i
);
41 // vrati prelozeny nazov i-tej globalnej premennej alebo null
43 int varFunction(char *name
);
44 // ak sa name nachadza v tabulke funkcii, vrati pocet jej parametrov,
47 int varFunctionCall(char *name
);
48 //vrati kolko krat bola funkcia volana s roznymi poctami parametrov
50 void varInvalidFunctionCalls(char ***names
, int *n
);
51 //vrati pole nazvov funkcii, ktore boli nekorektne volane s roznymi
52 //poctami parametrov - mena neskopiruje, neslobodno ich menit
54 void addLocal(char *name
);
55 // prida name do tabulky lokalnych premennych, zaroven k name asociuje
56 // cislo. Prve volanie addLocal asociuje cislo 0, dalsie 1, 2, ...
57 // Toto cislo je navratova hodnota funkcie varLocal v pripade, ze sa
58 // hladane meno zhoduje s menom v tabulke.
59 // Po volani clearLocals sa zacne asociovat opat od zaciatku, cislom 0
62 // varLocal("Ahoj"); //vrati 0
64 // varLocal("Svet"); //vrati 1
67 // varLocal("Fero"); //vrati 0
69 void addGlobal(char *name
);
70 // prida name do tabulky globalnych premennych, zaroven k nemu asociuje
71 // odlisne, unikatne meno. Toto meno sa vrati pri varGlobal s rovnakym
74 void addFunction(char *name
, int paramcount
);
75 // prida funkciu name a jej prisluchajuci pocet parametrov do tabulky
78 void addFunctionCall(char *name
, int paramcount
);
79 // prida nazov funkcie a pocet argumentov do zoznamu volanych funkcii