Opis interpretera
PASCAL-PRETTER
Pascal-Pretter został napisany w Delphi 6.0.
Interpretuje on podstawowe instrukcje języka Turbo Pascal v7.0.
Opis działania
Pascal-Pretter działa na zasadzie interpretacji kodu który
ma wykonać.
Aby takowa interpretacja była możliwa konieczne jest
poczynienie pewnych działań na tekście kodu, tzn. sprawdzenie jego
poprawności leksykalnej, sprawdzenie poprawności składniowej
instrukcji, analizie kodu i w końcu wykonaniu go.
Stworzony interpreter - aby wykonać kod -
wykonuje następujące działania, zmierzające do sprawdzenia poprawności
kodu:
-
Przygotowanie tekstu
-
Dzielenie tekstu na tokeny,
-
Sprawdzenie poprawności struktury kodu,
-
Sprawdzenie poprawności deklaracji w sekcji CONST,
jeśli takowa znajduje się w kodzie,
-
Wczytanie stałych jeśli blok takowych znajduje się
w kodzie
-
Sprawdzenie poprawności deklaracji w sekcji VAR, jeśli
takowa znajduje się w kodzie,
-
Wczytanie zmiennych jeśli blok takowych znajduje się
w kodzie
-
Sprawdzenie kodu pod względem poprawności występowania
np. słów kluczowych, operatorów, itp.,
-
Sprawdzenie poprawności w sekcji BEGIN..END.
-
Występowanie bloków instrukcji,
-
Występowanie pętli FOR..TO..DO,
-
Sprawdzanie występowania i poprawności
instrukcji prostych,
-
Sprawdzanie występowania i poprawności
instrukcji złożonych,
-
Sprawdzanie poprawności instrukcji WE/WY tj.
Read, Readln, Write, Wtiteln,
Po wstępnej analizie kodu następuje przejście do fazy
interpretacji kodu tzn. rozpoznanie występujących instrukcji i budowa
z nich listy instrukcji do wykonania rozumianych i interpretowanych
przez Pascal-Pretter.
Ostatnim krokiem jest wykonanie kodu.
W czasie wszystkich kroków sprawdzana jest poprawność
składniowa jak i zgodność znaczeniowa wykonywanych instrukcji, tzn,
zgodność typów, readeklaracja zmiennych, itp.
Pascal-Pretter posiada konstrukcję modułową w celu ułatwienia
dalszej rozbudowy.
Moduł UBLAD - Moduł przechowywania i wyświetlania błędów
kompilacji, wykonania, itp.
Moduł UANALIZA - Moduł zawierający mechanizmy
sprawdzania poprawności interpretowanego kodu,
Moduł UINTERPRETACJA - Interpretacja kodu i budowa
listy instrukcji do wykonania.
Moduł UKOMPILACJA - Wykonanie listy stworzonych wcześniej
instrukcji.
Dodatkowo aby zwizualizować wykonanie programu i sam
program posłużono się środowiskiem graficznym i użyto następujących
form:
FGLOWNY - Forma główna programu.
FUSTAWIENIA - Forma ustawień programu.
FWYNIK - Wyświetlenie wyników działania programu.
|