CSL-CROOK - Współpraca translatora z systemem

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania

W systemie operacyjnym CROOK-4, translator języka CSL jest oddzielnym programem użytkowym. Jest on dostępny dla każdego użytkownika zadeklarowanego w systemie. Uzyskanie gotowego programu binarnego przebiega w trzech etapach. Etap pierwszy realizuje następujące zlecenie programu OSL.

XCSL [<TZ WE>] [,<TZ LIS>] [,<WO>] ...

Zlecenie uruchamiania translatora języka CSL-CROOK. Tytuł zbioru wejściowego zawiera program źródłowy napisany w języku CSL. Tytuł zbioru listingu zawiera list translowanego programu oraz informacje o błędach i skompilowanych segmentach programu. Zbiór listingu w razie potrzeby jest tworzony automatycznie przez translator. Jeżeli parametr drugi zlecenia będzie pominięty, to w zależności od tego czy będzie użyta opcja ?LIS, opcja ?SLI, lub opcja ?SLI, postać listingu będzie wyprowadzana na monitor użytkownika. Użycie zlecenia bez parametrów (mogą wystąpić opcje) powoduje zgłoszenie się translatora na monitor użytkownika znakiem "%". Translator jest gotowy na przyjmowanie instrukcji języka CSL, które są na bieżąco analizowane.

Zlecenie rozpoznaje następujące opcje:

  • ?LIS - polecenie wykonania listingu programu w czasie translacji.
  • ?SLI - polecenie wykonania skróconego listingu programu w czasie translacji.
  • ?FLI - polecenie wykonania pełnego listingu programu
  • ?TRA - polecenie dołączenia do programu użytkownika procedury śledzenia programu.
  • ?NOC - polecenie wykonania testującej wersji translacji.

W wyniku realizacji tego zlecenia generowany jest kod w języku FORTRAN-CROOK. Wygenerowany kod zostaje zapisany do zbioru pośredniego. Zbiór ten jest tworzony automatycznie przez XCSL i standardowo nadawana jest mu nazwa YYYYYY. W zbiorze tym znajduje się wierny przekład programu CSL-owskiego na FORTRAN-CROOK. Zlecenie to ułatwia tworzenie bibliotek fortranowskich.

Zlecenie generuje następujące komunikaty:

  • komunikat zgłoszenia pojawia się przy każdorazowym uruchomieniu translatora. Wyprowadzany jest na strumień OUT, i nie zależy od użytej opcji. Komunikat zawiera informacje o aktualnej wersji i edycji translatora. Postać komunikatu:
    #TRANSLATION BY XCSL-VT14/1
  • komunikat końca kompilacji programu. Jest wyprowadzany po napotkaniu w programie znaków "##". Informuje on o ilościach błędów w programie (jeżeli wystąpiły).
    #END OF TRANSLATION - NO ERRORS
  • komunikaty o błędach w czasie kompilacji.
    #ERROR NR  <numer błędu>
  • komunikat o zakończeniu pracy translatora oraz realizacji zlecenia.
    XCSL DELETED 0002446

W systemie operacyjnym CROOK-4 kompilator języka FORTRAN jest oddzielnym programem użytkowym. Jest on dostępny dla każdego użytkownika zadeklarowanego w systemie. Drugi etap tłumaczenia programów realizuje następujące zlecenie programu OSL:

XFOR [<TZ WE>] [,<TZ LIS>] [,<WO>] ...

Zlecenie uruchamiania kompilatora języka FORTRAN-CROOK. Tytuł zbioru wejściowego zawiera program źródłowy napisany w języku FORTRAN. Tytuł zbioru listingu zawiera list kompilowanego programu oraz informacje o błędach i skompilowanych segmentach programu. Zbiór listingu w razie potrzeby jest tworzony automatycznie przez kompilator. Jeżeli parametr drugi zlecenia będzie pominięty, to w zależności od tego czy będzie użyta opcja ?LIS lub opcja ?SLI, postać listingu będzie wyprowadzana na monitor użytkownika. Użycie zlecenia bez parametrów (mogą wystąpić opcje) powoduje zgłoszenie się kompilatora na monitor użytkownika znakiem ">". Kompilator jest gotowy na przyjmowanie instrukcji języka FORTRAN, które są na bieżąco analizowane.

Zlecenie rozpoznaje następujące opcje:

  • ?LIS - polecenie wykonania pełnego listingu programu w czasie kompilacji.
  • ?SLI - polecenie wykonania skróconego listingu programu w czasie kompilacji.
  • ?IFC - polecenie wykonania warunkowej kompilacji.
  • ?POI - polecenie przystosowania programu do pracy konwersacyjnej.
  • ?TRA - polecenie dołączenia do programu użytkownika procedury śledzenia programu.
  • ?ARR - polecenie dołączenia do programu procedury kontroli przekroczenia zakresów tablic.

W wyniku realizacji tego zlecenia generowany jest kod w języku symbolicznym ASSM. Wygenerowany kod zostaje zapisany do zbioru pośredniego . Zbiór ten jest tworzony automatycznie przez XFOR i standardowo nadawana jest mu nazwa XXXXXX. W zbiorze tym znajduje się wierny przekład programu fortranowskiego na Assembler (ASSM). Zlecenie to ułatwia tworzenie bibliotek assemblerowych (patrz opis programu LIBFA) oraz tłumaczenie programów fortranowskich na język ASSM.

Etap trzeci tworzenia programu binarnego to kompilacja i konsolidacja. Etap ten realizuje następujące zlecenie programu OSL:

ASSM NAME*<TZ BIN>. INT*XXXXXX.

Zlecenie uruchamiania kompilacji i konsolidacji programu. W wyniku realizacji tego zlecenia w zbiorze określonym przez parametr pierwszy zlecenia, znajduje się gotowy moduł wynikowy (binarny) kompilowanego programu. Zbiór w razie potrzeby jest tworzony. Zbiorem wejściowym jest zbiór pośredni z asemblerową postacią programu CSL-owskiego.

Przedstawione wyżej zlecenia mogą być zastąpione zleceniem CSLCOM (omówionym w następnym punkcie).

Źródło: Translator języka CSL-CROOK dla minikomputera MERA-400 w systemie operacyjnym CROOK-4, Instrukcja Programisty (wersja-17/2), Janusz Gocałek, Jacek Klauziński, Poznań, 1985