CSL-CROOK - Wykaz błędów translacji
Przejdź do nawigacji
Przejdź do wyszukiwania
Błędy fazy translacji są sygnalizowane przez translator CSL są sygnalizowane w postaci następującego komunikatu:
#ERROR NR <numer błędu> linia ^
gdzie:
- nr - numer błędu
- linia - błędna linia w języku CSL
- ^ - identyfikator wskazujący miejsce wystąpienia błędu w linii
Nr błędu | Opis |
---|---|
00 | nieprawidłowy znak w kolumnie 6 lub 4, rekord w instrukcji lub zdanie nie jest dekodowane (po wystąpieniu błędu w instrukcji poprzedniej); |
01 | niedopuszczalny znak w kolumnie 1; |
02 | znak nienumeryczny w kolumnach 2-5 lub etykieta nie kończy się w 5 kolumnie; |
03 | brak etykiety w instrukcji FORMAT; |
04 | etykieta większa od 3999 lub taka etykieta już wystąpiła w segmencie; |
05 | zdanie z "#" lub z "*" może występować tylko poza segmentem w CSL-U; |
06 | 81 znak w rekordzie różny od znaku CR (powrotu karetki); |
07 | puste pole informacyjne (kolumny 7-72) w rekordzie; |
08 | za duży stopień wcięcia instrukcji w programie (większy od 19); |
09 | instrukcja zaczyna się od złej kolumny (nie od kolumny 7, 9, 11, ...); |
10 | błąd części adresowej w instrukcji; |
11 | w ramach testu nie może występować część adresowa; |
12 | znak lub znaki, których nie powinno już być do końca instrukcji; |
13 | nazwa zmiennej pokrywa się z nazwą słowa strukturalnego lub słowo strukturalne źle użyte w instrukcji; |
14 | niedopuszczalne znaki przed słowem strukturalnym w instrukcji; |
15 | nazwa zmiennej dłuższa niż 18 liter lub błąd w nazwie (po nazwie ni wystąpiła kropka); |
16 | zła nazwa zbioru lub histogramu; |
17 | zbiory nie należą do tej samej klasy lub zbiór nie należy do danej klasy; |
18 | błąd w budowie zdania; |
19 | zła nazwa klasy lub zerowy wymiar klasy; |
20 | błąd numeru klucza w instrukcji CHECK lub PRISET; |
21 | słowo strukturalne MASTER, FUNCTION, SUBROUTINE lub BLOCK DATA występują wewnątrz segmentu; |
22 | instrukcja BEGIN i RECYCLE mogą występować jedynie po instrukcji ACTIVITIES; |
23 | zły typ zdania na końcu pętli DO; |
24 | pętla FOR zakończona instrukcjami o zbyt dużym wcięciu wiersza; |
25 | kolejne stopnie wcięć instrukcji w programie mogą się różnić o 1; |
26 | w tym miejscu nie może występować instrukcja wcięta; |
27 | dana instrukcja powinna być wcięta; |
28 | przekroczenie ilości nazw zmiennych (w segmencie może występować co najwyżej 255 zmiennych); |
29 | brak zdania FORMAT, do którego odwołują się instrukcje READ lub WRITE; |
30 | przekroczenie pól roboczych translatora; |
31 | zły typ zmiennej CSL lub użycie zmiennej niezdefiniowanej; |
32 | słowo GAINS musi być pierwszym słowem strukturalnym w instrukcji lub występować po słowach HEAD lub TAIL; |
33 | słowo TO może jedynie występować po GO lub CONVERT; |
34 | zerowy lub zbyt duży indeks w wyrażeniu indeksowym; |
35 | błąd w budowie wyrażenia; |
36 | nieparzysta ilość nawiasów lewo- i prawostronnych w wyrażeniu; |
37 | błąd w nazwie (więcej niż 6 znaków) w nazwie w instrukcjach FUNCTION, SUBROUTINE lub COMMON; |
38 | za duży poziom pogrążenia funkcji w innej funkcji (większy od 10); |
39 | słowo OR może występować tylko w ramach tekstu; |
40 | po słowie SPLIT mogą występować jedynie słowa INTO, HEAD, ELSE lub TAIL; |
41 | po słowie FIND mogą występować jedynie słowa FIRST, LAST, MAX lub MIN; |
42 | ponowne użycie lub definiowanie nazwy; |
43 | po słowie CLASS mogą występować jedynie słowa TIME, SET lub BSET; |
44 | zła deklaracja nazwy komórki czasowej (t. Xxx); |
45 | PMEND może występować w programie jedynie za instrukcją POSMORTEM; |
46 | instrukcja ACTIVITIES może występować jedynie w segmencie MASTER i tylko jednokrotnie; |
47 | instrukcja RETURN może występować jedynie w segmentach FUNCTION lub SUBROUTINE; |
48 | po słowie BLOCK może być tylko słowo DATA; |
49 | błąd w zdaniu z "#"; |
50 | brak takiej etykiety w programie; |
51 | w programie nie występuje instrukcja FORMAT o takiej etykiecie; |
Ź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