Turbo Pascal i coś jeszcze

W Turbo PASCAL został pierwotnie wydany w wersjach dla systemów MS-DOS i CP/M-80. Wkrótce jednak pojawiły się kolejne implementacje, np. dla CP/M Plus i CP/M-86, oraz mniej uniwersalne — dla poszczególnych typów komputerów, np. Commodore. Obecnie Turbo określa właściwie światowy standard PASCAL-a.

Obsługa kompilatora jest bardzo podobna wewszystkich jego wersjach. Ale Turbo nie jest jedynie kompilatorem. Standardowy PASCAL został w tej wersji znacznie rozszerzony i wzbogacony o liczne obiekty nie figurujące w oficjalnym raporcie języka. Opiszemy tu wersję Turbo PASCAL-a dla systemu CP/M 2.2 i Plus. Wersja dla IBM PC różni się nieznacznie, zawiera też więcej standardowych procedur, np. graficznych.

Program Turbo stanowi kompletny system pozwalający na pisanie i kompilację programu w PASCAL-u. Uruchamiamy go pisząc po prostu

TURBO

Na ekranie pojawia się nagłówek wraz z pytaniem:

Include error messaqes (Y/N)?

Odpowiadając wciśnięciem „Y" zapewniamy sobie wyświetlanie na bieżąco pełnej informacji o błędach napotykanych przez kompilator w programie. Odpowiedź „N" pozbawia nas tej informacji, ale wzamian dostajemy do dyspozycji ok. 1,5 KB pamięci więcej. W przypadku odpowiedzi twierdzącej ładowany jest do pamięci dodatkowo plik o nazwie TURBO.MSG, zawierający teksty komunikatów zapisane w specjalny sposób. Zawartość tego pliku można zmienić przy pomocy edytora, uzyskując w ten sposób np. ich przekład na język polski.

Następnie ukazuje się główne menu Turbo PASCAL-a, prezentując użytkownikowi następujące funkcje:

Logged drive — Aktualnie używana stacja dysków.

Work fil — Nazwa pliku aktualnie redagowanego przy pomocy edytora. Jeżeli nie podano pliku Main file, ten plik jest również kompilowany.

Main file — Nazwa pliku, od którego ma byćrozpoczęta kompilacja programu.Określa się ją wówczas, gdy tekst źródłowy programu zawarty jest w więcej niż jednym pliku dyskowym (opcja INCLUDE).

Edit — Przejście do edytora.

Compile — Kompilacja programu. Napotkanie błędu w tekście programu powoduje przerwanie kompilacji i wymienienie rodzaju błędu. Następnie uruchamiany jest edytor. Kursor wskazuje miejsce wystąpienia błędu.

Run — Uruchomienie skompilowanego programu. Jeżeli nie jest on dostępny, uruchomienie automatycznie poprzedzane jest kompilacją.

eXecute — Uruchomienie wybranego programu z dysku, bez opuszczania Turbo.

Save — Nagranie pliku roboczego (Work file) na dysk.

Dir — Wydruk aktualnej zawartości dysku. Turbo pyta o to, czy wyświetlić wszystkie, czy tylko wybrane pliki (Pytanie „Dir mask:"). Wciśnięcie ENTER daje wydruk nazw wszystkich plików. Aby wypisać np. tylko programy w PASCAL-u, podajemy maskę *.pas.

Quit — Koniec pracy w Turbo.

Options — Przejście do menu opcji kompilatora.

Wszystkie funkcje menu wywołujemy poprzez wciśnięcie klawisza z wyróżnioną literą. Wciśnięcie innych klawiszy powoduje wydruk menu. W razie potrzeby Turbo zadaje dodatkowe pytania. Chroni to użytkownika przed popełnieniem poważniejszych błędów.

MENU OPCJI KOMPILATORA

Dodatkowe menu pozwala na ustalenie dodatkowych parametrów kompilacji programu.

Memory — Kompilacja programu do pamięci. Skompilowany program uruchamia się przy pomocy komendy Runmenu gtównego.-> Com-file — Kompilacja programu z zapisemotrzymanego kodu na dysk. Na dysku tworzony jest plik typu .COM o tej samej nazwie, co „Main file". Tak skompilowany program może być uruchamiany bądź z poziomu systemu operacyjnego, bądź też przy pomocy komendy eXecute menu głównego. Program kompilowany na dysk może być znacznie dłuższy niż w przypadku kompilacji do pamięci,ponieważ miejsce w pamięci potrzebne jest jedynie dla tekstu źródłowego.

cHn-file — Kompilacja programu z zapisem kodu na dysk, lecz bez dołączenia biblioteki procedur PASCAL-a. Tak utworzony program wynikowy można uruchomić z wnętrza innego programu w Turbo PASCAL-u przy pomocy procedury Chain.

Start adress — Określenie adresu w pamięci, od którego ma być umieszczony skompilowany kod. Adres podajemy w postaci liczby szesnastkowej.

End adress — Określenie najwyższego adresu,do jakiego program może być umieszczony.

Find runtime error — Służy do wyszukiwania błędów wykonania w już skompilowanym programie. Każdy taki błąd jest sygnalizowany m.in. wydrukiem wartości licznika adresowego (PC),przy której nastąpiło przerwanie programu. Wybierając niniejszą pozycję menu, podajemy żądaną wartość PC. Program źródłowy jest następnie kompilowany w celu odnalezienia w jego tekście miejsca, które odpowiada podanemu PC. Miejsce to jest wskazywane w edytorze przez pozycję kursora.

EDYTOR

Pisanie programu odbywa się przy pomocy wygodnego edytora pełnoekranowego. Tekst programu może jednak być napisany przy pomocy innych edytorów, jak np. Wordstar. Obsługa edytora jest niemal identyczna jak w przypadku Wordstar-a. W razie potrzeby użytkownik może jednak redefiniować klawisze funkcyjne wedle własnego uznania — czyni się to przy pomocy dostarczanego wraz z Turbo programu TINST.

Zakończenie pracy w edytorze odbywa się przypomocy klawiszy CTRL+K, CTRL+D (wciśniętych w tej kolejności).Oto inne funkcje edytora:

PORUSZANIE KURSOREM

CTRL + S,D,E,X — przesunięcie kursora o jedno miejsce w wybranym kierunku. Jeżeli klawiatura komputera wyposażona jest w klawisze kursora, można korzystać również z nich.

CTRL + R, C — przejście do poprzedniej lub następnej strony tekstu.

CTRL + A,F — przesunięcie kursora o jedno słowo w lewo lub w prawo.

CTRL+Q CTRL+S,D — przesunięcie kursora na początek lub do końca linii.

CTRL-t Q CTRL+R, C — przesunięcie kursora na początek lub na koniec tekstu.

WSTAWIANIE I USUWANIE ZNAKÓW

CTRL+V — przełączenie opcji wstawiania/zakrywania znaków.

DELETE — usunięcie znaku poprzedzającego kursor.

CTRL+G — usunięcie znaku pod kursorem.

CTRL + T — usunięcie słowa na prawo od kursora

CTRL + Y — usunięcie linii, w której znajdujesię kursor.

CTRL + N — „złamanie" linii w miejscu kursora

CTRL + Q CTRL+Y — usunięcie części linii na prawo od kursora.

CTRL+I — wstawienie znaku tabulacji.

CTRL+Q CTRL + I — włączenie lub wyłączenie automatycznej tabulacji.

OPERACJE NA BLOKACH TEKSTU

CTRL + K CTRL + B ustawienie początku bloku w miejscu kursora.

CTRL + K CTRL + K — ustawienie końca bloku w miejscu kursora.

CTRL+K CTRL+T — ustawienie początku i końca bloku tak, aby blok obejmował jedno słowo — to, w którym aktualnie znajduje się kursor.

CTRL+K CTRL + C — umieszczenie kopii bloku w miejscu wskazanym przez kursor.

CTRL + K CTRL+V — przeniesienie bloku w miejsce wskazane przez kursor.

CTRL+K CTRL+Y — usunięcie bloku.

CTRL+K CTRL+W — wypisanie bloku na osobny plik dyskowy. Edytor pyta o żądaną nazwę pliku.

CTRL+K CTRL + R — wczytanie tekstu z pliku dyskowego o podanej nazwie i wstawienie go do tekstu w postaci bloku w miejscu wskazywanym przez kursor. Edytor pyta o nazwę żądanego pliku.

WYSZUKIWANIE

CTRL + Q CTRL + F — wyszukanie w tekście podanego wzorca (o długości do 30 znaków). Po podaniu wzorca użytkownik może podać (lub nie) następujące opcje:
B — przeszukiwanie tekstu wstecz od kursora,
G — przeszukiwanie całego tekstu, niezależnie od aktualnej pozycji kursora,
<liczba> — odnalezienie n-tego wystąpienia wzorca w tekście
U — nierozróżnianie dużych i małych liter alfabetu,
W — traktowanie wzorca jako słowa,a nie fragmentu słowa. W wyniku działania komendy kursor jest ustawiany w miejscu pierwszego napotkanego w tekście wstąpienia wzorca.

CTRL + Q CTRL+A — jak wyżej, z tym, że znajdowany w tekście wzorzec jest na żądanie użytkownika zastępowany innym wzorcem. Edytor każdorazowo pyta, czy należy dokonać zamiany. Zamiany bez pytania można zażądać, podając odpowiedź N.

CTRL + L — Powtórzenie wyszukiwania wzorca według ostatnio podanych parametrów.

POMYŁKI

CTRL + U — przerwanie działania dowolnej komendy edytora, np. wyszukiwania.

CTRL+Q CTRL + L — unieważnienie zmian wprowadzonych w linii, pod warunkiem, że kursor nie był w międzyczasie przenoszony do innych linii.

 

Marcin Waligórski