[ Pobierz całość w formacie PDF ]
.#define eq(a, b) (Strcmp(a, b) == 0)struct wordent {Char *word;struct wordent *prev;struct wordent *next;};/** struktura zmiennych** aliasy i zmienne sa przechowywane w drzewie AVT*/EXTERN struct varent {Char **vec; /* tablica slow ktore sa wartoscia */Char *v_name; /* nazwa zmiennej/aliasu */int v_flags; /* flagi */struct varent *v_link[3]; /* galezie nizej sa dokladnie zdefiniowane */int v_bal; /* jak "ciezkie" jest drezwo */} shvhed, aliases; /*drzewo zmiennych/aliasow */#define v_left v_link[0] /*bardziej intuicyjne potrakowanie galezi*/#define v_right v_link[1]#define v_parent v_link[2]#define adrof(v) adrof1(v, &shvhed) /*znajdujemy zmienna v wsrodzmiennych*/#define varval(v) value1(v, &shvhed) /*zwraca wartosc zmiennej *//** The following are for interfacing redo substitution in* aliases to the lexical routines.*//** Historia komend** Kazda lista historii zawiera rozszerzona liste slow* numer zdarzenia i jak latwo zauwazyc jest zorganizowana w kolejke*/EXTERN struct Hist {struct wordent Hlex;int Hnum;int Href;time_t Htime;Char *histline;struct Hist *Hnext;} Histlist;
[ Pobierz całość w formacie PDF ]