summaryrefslogtreecommitdiff
path: root/system/base/1.7.5/src/init
blob: 471a717fa869a4bc237441c6efa45e53a9434c25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
 "run again impossible"
 "recursive run"
 "                              " 
 " Compiler Error : " 
"              "
"                                    |" 
" Fehler entdeckt  " 
"Keine Fehler gefunden,  "
" " 
"       *******  ENDE DER UEBERSETZUNG  *******" 
"FEHLER bei >> " 
" <<  " 
"weiter bei "
"TEXTende (Anfuehrungszeichen) fehlt irgendwo"
"Kommentarende fehlt irgendwo" 
"nach dem Hauptprogramm darf kein Paket folgen"
"ungueltiger Name fuer ein DEFINES-Objekt" 
"':' fehlt"
"nach ENDPACKET folgt nicht der Paketname" 
"ENDPACKET fehlt" 
"CONST oder VAR fehlt" 
"ungueltiger Name"
" ',' in Deklarationsliste fehlt"
"ist nicht der PROC Name"
"fehlerhaftes Ende des Hauptprogramms"
"ENDPROC fehlt" 
"PROC/OP Schachtelung unzulaessig" 
"OP darf kein Parameter sein"
"steht mehrfach im PACKET Interface" 
" ist mehrfach deklariert" 
"ist schon als Datenobjekt deklariert"
"ist schon als PROC/OP deklariert" 
"')' nach Parameterliste erwartet" 
"Standard-Schluesselwort kann nicht redefiniert werden"
"ungueltig als BOLD" 
"'(' fehlt"
"CONST bzw VAR nicht bei Strukturfeldern" 
"'=' fehlt" 
"Schluesselwort wird im Paket schon andersartig verwandt"
"Datentyp fehlt" 
"ungueltiger OP Name"
"OP muss monadisch oder dyadisch sein" 
"ist nicht der OP Name" 
"ENDOP fehlt" 
"Name nach ENDPROC fehlt" 
"Name nach ENDOP fehlt" 
"';' fehlt"
"END END ist Unsinn"
"Dieses END... kenne ich nicht"
"ROW Groesse ist kein INT" 
"ROW Groesse ist kein Denoter"
"Ein ROW muss mindestens ein Element haben"
"ROW Groesse fehlt" 
"Parameter kann man nicht initialisieren"
"Konstanten muessen initialisiert werden"
"'::' verwenden"
"')' fehlt" 
"Exponent fehlt"
"Undefinierter Typ" 
"Rekursiv definierter Typ" 
"Mehrfach definierter Selektor" 
"Variable bzw. Abkuerzung in der Paket-Schnittstelle" 
"undefinierte ROW Groesse"
"Typ Deklarationen nur im Paketrumpf" 
"CONST bzw. VAR ohne Zusammenhang" 
"ist nicht deklariert, steht aber in der Paket-Schnittstelle" 
"ist nicht deklariert"
"unbekanntes Kommando"
"THIS IS NO CORRECT EXTERNAL NUMBER." 
"Schluesselwort unzulaessig"
"Name erwartet" 
"Denoter erwartet"
"ENDPROC ohne Zusammenhang"
"ENDOP ohne Zusammenhang"
"Refinement ohne Zusammenhang"
"Delimiter zwischen Paket-Refinement und Deklaration fehlt"
"unzulaessiges Selektor-Symbol (kein Name)"
"BOUND Schachtelungen unzulaessig"
"BOUND-Objekte unzulaessig als Parameter"
"Textende fehlt" 
"TEXT-Denoter zu lang"

"Denoter-Wert wird fuer diese Maschine zu gross" 
"Compiler-Fehler, wenden Sie sich an Ihren Systemberater!"
"ist ein zusammenhangloses Schluesselwort"
"'::' nur fuer Initialisierungen, sonst ':='"
"welches Objekt soll verlassen werden?"
"du bist gar nicht innerhalb dieses Refinements"
"nur die eigene PROC / OP kann verlassen werden"
"THEN fehlt"
"FI fehlt"
"BOOL-Ausdruck erwartet" 
"ELSE-Teil ist notwendig, da ein Wert geliefert wird"
"INT-Ausdruck erwartet"
"OF fehlt"
"Keine Typanpassung moeglich"
"CASE-Label fehlt"
"mindestens eine CASE-Anweisung geben"
"CASE-Label ist zu gross (skipped)" 
"mehrfach definiertes CASE-Label"
"ungueltiges Zeichen nach CASE-Label" 
"OTHERWISE-Teil fehlt"
"END SELECT fehlt" 
"rekursiver Aufruf eines Refinements"
" wird nicht benutzt" 
"';' oder Operator ('+','-',...) fehlt"
"undefinierter monadischer Operator" 
"undefinierter dyadischer Operator" 
"Auf die Feinstruktur des Typs kann man nicht mehr zugreifen" 
"fuer diesen Typ nicht definierter Selektor" 
"INT,REAL,BOOL,TEXT koennen nicht selektiert werden"
"bei ROWs nur Subscription"
"nicht selektierbar" 
"unzulaessiger Index fuer Subscription"
"'[' ohne Zusammenhang"
"']' ohne Zusammenhang"
"']' nach Subscription fehlt"
"ungueltig zwischen Anweisungen"
"nur die letzte Anweisung eines Abschnitts darf einen Wert liefern"
"Der Paketrumpf kann keinen Wert liefern" 
"anstelle des letzten Symbols wurde ein Operand erwartet" 
"Der Schleifenrumpf darf keinen Wert liefern"
"die Laufvariable muss eine INT VAR sein"
"wird schon in einer aeusseren Schleife als Laufvariable benutzt"
"FROM erwartet"
"UPTO bzw DOWNTO fehlt"
"REPEAT fehlt"
"END REP fehlt"
"die Konstante darf nicht veraendert werden"
"in einer FOR-Schleife darf die Laufvariable nicht veraendert werden"
"falscher Typ des Resultats" 
"ist CONST, es wird aber ein VAR Parameter verlangt"
"unbekannte Prozedur"
"Parameter-Prozedur liefert falsches Resultat" 
"Anzahl bzw. Typen der Parameter sind falsch"
"unbekannte Parameter-Prozedur" 
"aktuelle Parameter-Prozedur hat CONST-, formale hat VAR-Parameter"
"Kein Konstruktor moeglich, da die Feinstruktur hier unbekannt ist"
"zu wenig Felder angegeben"
"zu viele Felder angegeben"
"unzulaessiger Trenner zwischen Feldern"
"Feld hat falschen Typ"
"falsche Element-Anzahl im ROW-Konstruktor" 
"Dieser Typ kann nicht noch mehr konkretisiert werden"
"BOUND-Objekt zu gross"

"Warnung in Zeile "
"   Zeile "
"in Zeile "
" <----+---> " 
" TYPE undefiniert "
" MODE undefiniert "
"Parameter spezifiziert: "
"Parameter Typ(en) sind: "
" B Code, "
" B Paketdaten generiert"
"Operand: "
"Operanden: "
", "
"erwartet "
"gefunden "
" "
 
(* 001 *)    END
(* 002 *)    ENDPACKET 
(* 003 *)    ENDOP
(* 004 *)    ENDOPERATOR
(* 005 *)    ENDPROC 
(* 006 *)    ENDPROCEDURE 
(* 007 *)    PACKET
(* 008 *)    OP 
(* 009 *)    OPERATOR 
(* 010 *)    PROC 
(* 011 *)    PROCEDURE 
(* 012 *)    FI 
(* 013 *)    ENDIF
(* 014 *)    ENDREP
(* 015 *)    ENDREPEAT 
(* 016 *)    PER 
(* 017 *)    ELIF 
(* 018 *)    ELSE
(* 019 *)    UNTIL 
(* 020 *)    CASE
(* 021 *)    OTHERWISE
(* 022 *)    ENDSELECT
(* 023 *)    INTERNAL
(* 024 *)    DEFINES
(* 025 *)    LET 
(* 026 *)    TYPE
(* 027 *)    INT
(* 028 *)    REAL
(* 029 *)    DATASPACE
(* 030 *)    TEXT
(* 031 *)    BOOL
(* 032 *)    BOUND
(* 033 *)    ROW
(* 034 *)    STRUCT
(* 035 *)    CONST 
(* 036 *)    VAR 
(* 037 INIT CONTROL *)    INTERNAL
(* 038 *)     CONCR
(* 039 *)     REP
(* 040 *)     REPEAT
(* 041 *)     SELECT
(* 042 *)     EXTERNAL
(* 043 *)     IF
(* 044 *)     THEN 
(* 045 *)     OF
(* 046 *)     FOR
(* 047 *)     FROM
(* 048 *)     UPTO 
(* 049 *)     DOWNTO
(* 050 *)     WHILE
(* 051 *)     LEAVE
(* 052 *)     WITH
(* 053 *)     TRUE
(* 054 *)     FALSE
(* 055 *)     ::  SBL  :=  INCR  DECR 
(* 056 *)     + - * / DIV MOD
              **
              AND
              CAND
              OR
              COR
              NOT
              =  <>  >  >= < <= 
(*040  *)     MAIN 
(*043*)  ENDOFFILE 
 
PACKET a :

PROC out (TEXT CONST t) :
  EXTERNAL 60
ENDPROC out ;

PROC out text (TEXT CONST t, INT CONST typ) :
  INTERNAL 257 ;
  IF typ = typ
    THEN out (t)
  FI
ENDPROC out text ;

PROC out line (INT CONST typ) :
  INTERNAL 258 ;
  IF typ = typ
    THEN out (""13""10"")
  FI
ENDPROC out line ;

ENDPACKET a ;