AiR - Informatyka 2
Zadanie na laboratorium

Zadanie będzie polegało na zbudowaniu programu sprawdzania tekstów przy pomocy słownika. Tym razem jednak, zamiast pisać kompletny program należy wykorzystać skompilowany (binarny) ale niekompletny program, do którego należy dopisać brakujące cztery procedury budujące i obsługujące słownik, o podanej niżej specyfikacji.

Program główny został skompilowany z procedurami wykorzystującymi następującą strukturę drzewa trie, z reprezentacją „lewy-skrajny-potomek/prawy-sąsiad”, i deklaracjami:

TYPE
   info_t          = INTEGER;
   info_wsk        = ^info_t;
   drzewo_trie_wsk = ^drzewo_trie_t;
   drzewo_trie_t   = RECORD
                       znak	 : CHAR;
                       slowo	 : BOOLEAN;
                       info	 : info_wsk;
		       potomek,
		         sasiad	 : drzewo_trie_wsk;
                     END;
   porzadek_t      = ( preorder, inorder, postorder );

FUNCTION dodaj_string_trie( VAR trie : drzewo_trie_wsk; s : String; info : info_wsk ) : INTEGER; EXTERN;

FUNCTION usun_string_trie ( VAR trie : drzewo_trie_wsk; s : String; niszcz : BOOLEAN ) : INTEGER; EXTERN;

FUNCTION szukaj_string_trie( trie : drzewo_trie_wsk; s : String; VAR info : info_wsk ) : INTEGER; EXTERN;

FUNCTION przegladaj_drzewo_trie( trie : drzewo_trie_wsk; FUNCTION przeglad(trie:drzewo_trie_wsk): INTEGER; porzadek : porzadek_t ) : INTEGER; EXTERN;

Wszystkie funkcje normalnie zwracają wartość 0, a w przypadku błędu lub niemożności wykonania operacji zwracają wartość -1. Użytym typem stringów jest predefiniowany typ String (na diablo). Po ostatnim znaku stringa należy zawsze wpisać znak NUL (chr(0)).

Wywołanie kompilacji programu:

    pc -L /usr/local/air/info2/zadania/slownik2/slownik.o slow_proc.p

Plik slow_proc.p musi zawierać pełne definicje procedur o powyższej specyfikacji.