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
|
" Compiler Error : "
" "
" |"
" Fehler entdeckt "
"Keine Fehler gefunden, "
" Sekunden CPU-Zeit verbraucht"
" ******* ENDE DER UEBERSETZUNG *******"
"FEHLER bei >> "
" << "
"weiter bei "
" (" ") "
"EOF im Programm"
"EOF beim Skippen"
"EOF im TEXT Denoter"
"EOF im Kommentar"
"' nach Bold fehlt"
"das MAIN PACKET muss das letzte sein"
"ungueltiger Name fuer ein Interface 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 Endes des MAIN PACKET"
"ENDPROC fehlt"
"PROC/OP Schachtelung unzulaessig"
"OP darf kein Parameter sein"
"steht mehrfach im PACKET Interface"
"Mehrfachdeklaration"
"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"
"Dieser Typ ist schon definiert"
"ungueltiger Deklarierer"
"ungueltiger OP Name"
"OP muss monadisch oder dyadisch sein"
"ist nicht der OP Name"
"ENDOP fehlt"
"Name nach ENDPROC fehlt"
"Name nach ENDOP fehlt"
"END END ist Unsinn"
"Diese 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 initialisert werden"
"'::' verwenden"
"')' fehlt"
"Nachkommastellen fehlen"
"Exponent fehlt"
"Undefinierter Typ"
"Rekursiv definierter Typ"
"Mehrfach definierter Selektor"
"VARs koennen aus dem Paket nicht herausgereicht werden"
"NO SHORTHAND DECLARATION IN THIS SCOPE FOR ROW SIZE DENOTER."
"Typ Deklarationen nur im Paketrumpf"
"CONST bzw. VAR ohne Zusammenhang"
"ist nicht deklariert, steht aber in der Paket-Schnittstelle"
"ist nicht deklariert"
"Typ ist schon deklariert"
"THIS IS NO CORRECT EXTERNAL NUMBER."
" EXTERNAL und INTERNAL 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"
"Textende fehlt"
"Denoter-Wert wird fuer diese Maschine zu gross"
"NOBODY SHOULD EVER WRITE THAT, Uli ! "
"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"
"Mit ELIF kann kein IF-Statement beginnen"
"INT - Ausdruck erwartet"
"OF fehlt"
"Keine Typanpassung moeglich"
"CASE - Label fehlt"
"CASE - Label ist zu gross (skipped)"
"mehrfach definiertes CASE-Label"
"ungueltiges Zeichen nach CASE-Label"
" OTHERWISE PART fehlt"
"END SELECT fehlt"
"DEAR USER, PLEASE BE REMINDED OF NOT CALLING REFINEMENTS RECURSIVLY !"
"Dieses Refinement wird nicht benutzt"
"Zwischen diesen Symbolen fehlt ein Operator oder ein ';'"
"undefinierter monadischer Operator"
"undefinierter dyadischer Operator"
"Operator vor '(' fehlt"
"kann nicht redefiniert werden"
"Auf die Feinstruktur des Typs kann man nicht mehr zugreifen"
"fuer diesen Typ nicht definierter Selektor"
"Primitive Typen koennen nicht selektiert werden"
"bei ROWs nur Subscription"
"ungueltiger Selectand"
"unzulaessiger Index fuer Subscription"
"'[' ohne Zusammenhang"
"']' ohne Zusammenhang"
"']' nach Subscription fehlt"
"',' ungueltig zwischen UNITs"
"':' ungueltig zwischen UNITs"
"';' fehlt"
"nur die letzte UNIT einer SECTION darf einen Wert liefern"
"Der Paketrumpf kann keinen Wert liefern"
"anstelle des letzten Symbols wurde ein Operand erwartet"
"Der Schleifenrumpf darf keinen Wert liefern"
"INT VAR erwartet"
"wird schon in einer aeusseren Schleife als Laufvariable benutzt"
"FROM erwartet"
"UPTO bzw DOWNTO fehlt"
"REPEAT fehlt"
"END REP fehlt"
"UNTIL ohne Zusammenhang"
"Die Konstante darf nicht mit ':=' 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"
"Es gibt keine Prozedur mit diesen Parametern"
"unbekannte Parameter-Prozedur"
"VIRTUAL PARAM MODE INCONSISTENCE"
"INCONSISTENCE BETWEEN THE PARAMETERS OF THE ACTUAL AND THE FORMAL PARAM PROC
EDURE "
"nicht deklariertes Objekt"
"THIS OBJECT IS USED OUTSIDE IT'S RANGE"
"Kein TYPE DISPLAY moeglich, da die Feinstruktur hier unbekannt ist"
"zu wenig Felder angegeben"
"zu viele Felder angegeben"
"unzulaessiger Trenner zwischen Feldern"
"Dies Feld hat einen falschen Typ"
"THIS ROW DISPLAY DOES NOT HAVE THE CORRECT NUMBER OF ELEMENTS."
"Dieser Typ kann nicht noch mehr konkretisiert werden"
"Warnung in Zeile"
" Zeile "
"in Zeile "
"<----+--->"
" TYPE undefiniert "
" MODE undefiniert "
"Parameter spezifiziert "
"Parameter Typ(en) sind "
" B Code, "
" B Paketdaten generiert"
"Operandentyp"
"Typ des linken Operanden "
"Typ des rechten Operanden "
"erwartet "
"gefunden "
"NULL 1TEST 1NOT 2INCR 1DECR
1MOV2 2MOV8 2MOVS 2EQI 2LSEQI
2EQR 2LSEQR 2COMPLI 2COMPLR 2ADDI
3SUBI 3MULTI 3DIVI 3ADDR 3SUBR
3MULTR 3DIVR 3AND 2OR 2BRANCH
8BTRUE 8BFALSE 8ACCDS 2ALIAS 5RETURN
0MOVE 3CASE 3SUBS 5SUBS2 4SUBS8
4SUBS16 4SEL 3BSTL 6ESTL 7HEAD
1PACKET 1BOOL 1NBOOL 1"
(*000 *) END INTERNAL BOUND
(*001 *) PACKET
(*002 *) ENDPACKET
(*003 *) DEFINES
(*003 A*) LET
(*004 *) PROCEDURE
(*005 *) PROC
(*006 *) ENDPROC
(*006A *) ENDPROCEDURE
(*007 *) OPERATOR
(*008 *) OP
(*009 *) ENDOP
(*009A *) ENDOPERATOR
(*010 *) TYPE
(*011 *) INT
(*012 *) REAL
(*013 *) DATASPACE
(*015 *) TEXT
(*016 *) BOOL
(*017 *) CONST
(*018 *) VAR
(* INIT CONTROL *) INTERNAL
(*019 *) ROW
(*0191 *) STRUCT CONCR
(*0193*) ACTUAL
(*020 *) REP
(*020A *) REPEAT
(*021 *) ENDREP
(*021A *) ENDREPEAT PER
(*022 *) SELECT
(*023 *) ENDSELECT
(*0235 *) EXTERNAL
(*024 *) IF (*024A *) ENDIF
(*021 *) THEN
(*022 *) ELIF
(*023 *) ELSE
(*024 *) FI
(*026 *) OF
(*026A *) CASE
(*027 *) OTHERWISE
(*029 *) FOR
(*030 *) FROM
(*031 *) UPTO
(*032 *) DOWNTO
(*034 *) UNTIL
(*035 *) WHILE
(*036 *) LEAVE WITH
(*0361 *) TRUE
(*362 *) FALSE
(*038 *) :: SBL = := INCR DECR
(*039 *) + - * / 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 ;
out (t)
ENDPROC out text ;
PROC out line (INT CONST typ) :
INTERNAL 258 ;
out (""13""10"")
ENDPROC out line ;
ENDPACKET a ;
|