summaryrefslogtreecommitdiff
path: root/system/dos/1.8.7/src/dump
blob: 5138162402c2942773ba8c44e09bd76d74b68903 (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
PACKET dump DEFINES 
 
  dump:

TEXT VAR ergebnis := "";

PROC dump (TEXT CONST kommentar, dump text):
  ergebnis := kommentar;
  ergebnis CAT ": ";
  INT VAR i;
  FOR i FROM 1 UPTO LENGTH dump text REP
    zeichen schreiben
  PER;
  ergebnis schreiben.

zeichen schreiben:
  INT CONST char code :: code (dump text SUB i);
  IF char code < 32
     THEN ergebnis CAT ("$" + text (char code) + "$")
     ELSE ergebnis CAT code (char code)
  FI.

END PROC dump;

PROC dump (TEXT CONST kommentar, INT CONST dump int):
  ergebnis := kommentar;
  ergebnis CAT ": ";
  ergebnis CAT text (dump int);
  ergebnis schreiben.

END PROC dump;

PROC dump (TEXT CONST kommentar, REAL CONST dump real):
  ergebnis := kommentar;
  ergebnis CAT ": ";
  ergebnis CAT text (dump real);
  ergebnis schreiben.

END PROC dump;

PROC ergebnis schreiben:
  FILE VAR f := sequential file (output, "logbuch");
  putline (f, ergebnis);
  ergebnis := "".

END PROC ergebnis schreiben;

END PACKET dump;