summaryrefslogtreecommitdiff
path: root/support/makeprog/dos/makeprog.cf2
blob: 88cc2e3cdc41bc56101e046a1b2fc32bac2033c0 (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
% This is MAKEPROG.CF.SYSTEM.TURBO	  as of 02 May 89
%--------------------------------------------------------
% (c) 1988,1989 by J.Schrod.

% Revision 1 was released in November, 1988.
% Revision 2 switched to Turbo Pascal.				    (89-05-02)

%
% Changefile for system dependencies of Turbo-Pascal (V5.0)
% documentation updates (too less...)
% no non-local goto's (=> no global label end_of_MAKEPROG)
% units CRT and DOS are used (???)
% compiler directives
% othercases
% new_line is appended at end (for Compaq DOS 3.3!)
%
% I/O handling is done later
%


@x Limbo
\def\version{1.0}
@y
 \let\maybe=\iffalse
\def\version{1.0, Rev.~2}
@z


@x Limbo
   \centerline{\titlefont The MAKEPROG processor}
@y
   \centerline{\titlefont DOS Changes to the MAKEPROG processor}
@z


@x S 1
@d banner=='This is MAKEPROG, Version 1.0.'
@y
@d banner=='This is MAKEPROG, Version 1.0 (DOS Changes, Rev. 2).'
@z


@x
@d end_of_MAKEPROG = 9999 {go here to wrap it up}
@y
@f uses == const
@z


@x S 2
label end_of_MAKEPROG; {go here to finish}
@y
   uses CRT, DOS ;
@z


   the following change should be ignored after TIE

@x S 3
@d debug==@{ {change this to `$\\{debug}\equiv\null$' when debugging}
@d gubed==@t@>@} {change this to `$\\{gubed}\equiv\null$' when debugging}
@y
@d debug==   {we are debugging \.{MAKEPROG}}
@d gubed==
@z


@x S 4
@<Compiler directives@>=
@{@&@=$D-@> @} {no debug overhead}
@!debug @{@&@=$D+@> @}@+ gubed @; {but turn everything on when debugging}
@y
@<Compiler directives@>=
@{@=$R-,B-,D-,E-,L-,S+,V-@>@}

{ R-  no range checking 		   }
{ B-  boolean evaluation ... short circuit }
{ D-  debug information off		   }
{ E-  emulation off			   }
{ L-  local symbols ... off		   }
{ S+  stack checking ... on		   }
{ V-  var string checking ... relaxed	   }
@z


@x S 7
@d othercases == others: {default for cases not listed explicitly}
@y
@d othercases == else {default for cases not listed explicitly}
@z


@x S 31
procedure jump_out;
begin goto end_of_MAKEPROG;
end;
@y
procedure jump_out;
   begin
   {here files should be closed if the operating system requires it}
   @;@#
   @<Print the job |history|@>;
   halt;
   end;
@z


@x
end_of_MAKEPROG:
   @#
   {here files should be closed if the operating system requires it}
   @;@#
   @<Print the job |history|@>;
@y
   jump_out;
@z


@x S 187
@<Print the job |history|@>=
case history of
spotless: print_nl('(No errors were found.)');
harmless_message: print_nl('(Did you see the warning message above?)');
error_message: print_nl('(Pardon me, but I think I spotted something wrong.)');
fatal_message: print_nl('(That was a fatal error, my friend.)');
end {there are no other cases}
@y
@<Print the job |history|@>=
begin
case history of
   spotless: print_nl('(No errors were found.)');
   harmless_message: print_nl('(Did you see the warning message above?)');
   error_message:
      print_nl('(Pardon me, but I think I spotted something wrong.)');
   fatal_message: print_nl('(That was a fatal error, my friend.)');
   end; {there are no other cases}
new_line;
end
@z