
Сообщение от
Oleg N. Cher
Исполняемый файл XM.SAV имеет огромный по меркам RT-11 размер - 242 Кб.
SJ .SAV 397. 1985-03-07
XM .SAV 474. 1985-03-07
F77 .SAV 340. 1992-10-31

Сообщение от
Oleg N. Cher
адресации окнами по 64 Кб?
Нет такого на PDP-11
- - - Добавлено - - -

Сообщение от
Oleg N. Cher
Всё это меня крайне угнетает - работать на древнем компиляторе, от которого нет исходников.
Коммерческий софт
- - - Добавлено - - -
Код:
.cop hx7:(SJ.SAV,XM.SAV,LIBFPP.OBJ,PROCRE.PAS) SY:
Files copied:
HX7:SJ.SAV to SY:SJ.SAV
HX7:XM.SAV to SY:XM.SAV
HX7:LIBFPP.OBJ to SY:LIBFPP.OBJ
HX7:PROCRE.PAS to SY:PROCRE.PAS
.BOO RT11XM
RT-11XM (S) V05.07
.TYPE V5USER.TXT
RT-11 V5.7
Installation of RT-11 Version 5.7 is complete and you are now running
RT-11 from your system volume.
....
contain much of the information you need to use RT-11 Version 5.7.
.R MSCPCK
.XM PROCRE,PROCRE=PROCRE
PASCAL--I/O error at user PC= 62176B
Can't open file
I/O error code= -9 in file: DK:CSICON.PAS
.COP HX7:CSICON.PAS SY:
Files copied:
HX7:CSICON.PAS to SY:CSICON.PAS
.XM PROCRE,PROCRE=PROCRE
PASCAL--I/O error at user PC= 62176B
Can't open file
I/O error code= -9 in file: DK:CSITYP.PAS
.COP HX7:CSITYP.PAS SY:
Files copied:
HX7:CSITYP.PAS to SY:CSITYP.PAS
.XM PROCRE,PROCRE=PROCRE
PASCAL--I/O error at user PC= 62176B
Can't open file
I/O error code= -9 in file: DK:CSIPRO.PAS
.COP HX7:CSIPRO.PAS SY:
Files copied:
HX7:CSIPRO.PAS to SY:CSIPRO.PAS
.XM PROCRE,PROCRE=PROCRE
PASCAL--I/O error at user PC= 62176B
Can't open file
I/O error code= -9 in file: DK:GETCS.PAS
.COP HX7:GETCS.PAS SY:
Files copied:
HX7:GETCS.PAS to SY:GETCS.PAS
.XM PROCRE,PROCRE=PROCRE
PASCAL--I/O error at user PC= 62176B
Can't open file
I/O error code= -9 in file: DK:FIXARG.PAS
.COP HX7:FIXARG.PAS SY:
Files copied:
HX7:FIXARG.PAS to SY:FIXARG.PAS
.XM PROCRE,PROCRE=PROCRE
PASCAL--I/O error at user PC= 62176B
Can't open file
I/O error code= -9 in file: DK:FIXINC.PAS
.COP HX7:FIXINC.PAS SY:
Files copied:
HX7:FIXINC.PAS to SY:FIXINC.PAS
.XM PROCRE,PROCRE=PROCRE
PASCAL--I/O error at user PC= 62176B
Can't open file
I/O error code= -9 in file: DK:CNVNUM.PAS
.COP HX7:CNVNUM.PAS SY:
Files copied:
HX7:CNVNUM.PAS to SY:CNVNUM.PAS
.XM PROCRE,PROCRE=PROCRE
.TIM
00:05:22
.XM PROCRE,PROCRE=PROCRE
.TIM
00:06:40
.LINK PROCRE,PASFPP/LIB
?LINK-W-File not found DK:PASFPP.OBJ
.LINK PROCRE,LIBFPP/LIB
.DIR PROCRE.SAV
PROCRE.SAV 56
1 Files, 56 Blocks
36182 Free blocks
.RUN PROCRE
*
Required argument missing (Input File)
.PROCRE PROCRE=PROCRE.PAS
PASCAL -- Multiple errors detected. Program aborted.
.
- - - Добавлено - - -
Код:
.TYP PROCRE.LST
Pascal-2 RT-11 XM V2.1D 1-Jan-72 12:06 AM Site #1-1955 Page 1-1
University of Santa Clara #AG07619 Academic Computer Center Kenna 101 Santa
Clara CA 95053 USA
PROCRE,PROCRE=PROCRE
1 {[b+]}
2
3 { NOTICE OF COPYRIGHT AND OWNERSHIP OF SOFTWARE:
4
5 Copyright 1980, 1981, 1982, 1983 by Oregon Software, Inc.
6 All Rights Reserved.
7
8 Whether this program is copied in whole or in part and whether this
9 program is copied in original or in modified form, ALL COPIES OF THIS
10 PROGRAM MUST DISPLAY THIS NOTICE OF COPYRIGHT AND OWNERSHIP IN FULL.
11
12 Pascal procedural cross-reference utility
13 Release version: 2.1 Level: 4 Date: 19-Apr-1983 11:38:14
14 Processor: PDP11
15 System: RSTS, RSX, RT11
16 }
17
18 program procref(input, output, inputfile, outputfile);
19
20 {-----------------------------------------------------------------------|
21 | |
22 | PASCAL PROCEDURAL CROSS-REFERENCER |
23 | |
24 | (c) Copyright 1979 A.H.J.Sale, Southampton, England. |
25 | |
26 | DEVELOPMENT |
27 | This program is a software tool developed from a prototype by |
28 | A.J.Currie at the University of Southampton, England. The proto- |
29 | type of 231 lines of source text was used firstly as a basis for |
30 | extensions, and then rewritten to assure correctness by |
31 | A.H.J.Sale, on leave from the University of Tasmania and then |
32 | stabilized at 1979 December 4; the development time being es- |
33 | timated at 4 man-days from prototype to production. |
34 | |
35 | PURPOSE |
36 | The program reads Pascal source programs and produces two tables |
37 | as output. One documents all procedure or function headings in |
38 | a format that illustrates lexical nesting. The other tables |
39 | gives the locations of heading, block, and body for each pro- |
40 | cedure and function, and what procedures and functions it immedi- |
41 | ately calls. |
42 | |
43 | There is a User Manual for this program; if it has not been pro- |
44 | vided with your installation write to: |
45 | Department of Information Science |
46 | University of Tasmania |
47 | P.O.Box 252C, G.P.O Hobart |
48 | Tasmania 7001 |
49 | and ask for the Technical Report on referencer, if it is still |
50 | available. The program is written to be portable and is believed |
51 | to be in Standard Pascal. |
52 | |
53 | Permission is granted to copy this program, store it in a comput- |
54 | er system, and distribute it, provided that this header comment |
55 | is retained in all copies. |
Pascal-2 RT-11 XM V2.1D 1-Jan-72 12:06 AM Site #1-1955 Page 1-2
University of Santa Clara #AG07619 Academic Computer Center Kenna 101 Santa
Clara CA 95053 USA
PROCRE,PROCRE=PROCRE
56 | |
57 |-----------------------------------------------------------------------}
58
59 { The above comment is included as requested. The source for this program
60 was obtained from Pascal News, and modified at Oregon Software to add the
61 following capabilities:
62
63 1. Command line scanning.
64 2. Multiple source and %include files.
65 3. Remove requirement for "program" header
66 4. Allow external procedure (no main body)
67 5. Reverse (called by) references
68 6. Tabs in input lines.
69
70 In addition, the program as distributed contained a major bug in the
71 handling of field names, and any field name in a record with the
72 same name as a procedure would mask any use of the procedure within
73 that scope. Removing the problem completely requires a large increase
74 in the complexity of the analysis, and was judged infeasable. The
75 current limitation is that an unqualified reference to a field with
76 the same name as a procedure will be treated as a reference to that
77 procedure. This can only occur within a "with" statement. This
78 restriction may be removed in a later release.
79
80 }
Pascal-2 RT-11 XM V2.1D 1-Jan-72 12:06 AM Site #1-1955 Page 2-1
University of Santa Clara #AG07619 Academic Computer Center Kenna 101 Santa
Clara CA 95053 USA
PROCRE,PROCRE=PROCRE
81
82 label
83 99; {exit for error or eof}
84
85 const
86
87 sigcharlimit = 16; {This constant is the number of significant characters
88 kept in the identifier entries. It can readily be
89 changed. It is not advised that it be reduced below
90 10 (reserved words get to 9). }
91
92 uclcdisplacement = 32; {This constant is used to convert upper-case
93 letters to lower-case and vice-versa. It should
94 be equal to ord('a') - ord('A').}
95
96 linelimit = 161; {This constant determines the size of the input line
97 buffer. The maximum acceptable input line is one
98 smaller because a sentinel space is appended to every
99 line.}
100
101 linewidth = 80; {This constant determines the default maximum width of the
102 printing of the second cross-reference table. The
103 program deduces how many names will fit on a line.}
104
105 indentation = 4; {This determines the indentation of the lex-levels.}
106
107 prefix = 9; {width of crossref prefix data}
108
109 { These constants are used for the sketchy syntax analysis. }
110 { They are collected here so that their lengths may be altered}
111 { if sigcharlimit is altered. }
112 sprogram = 'program ';
113 sprocedure = 'procedure ';
114 sfunction = 'function ';
115 slabel = 'label ';
116 sconst = 'const ';
117 stype = 'type ';
118 svar = 'var ';
119 sbegin = 'begin ';
120 scase = 'case ';
121 send = 'end ';
122 sforward = 'forward ';
123 srecord = 'record ';
124 sinclude = 'include ';
125 spaces = ' ';
126
127 labelsize = 13; {max size used for labeling files}
128
129 blanklabel = ' '; {blank file label}
130
131 fakeprog = '.MAIN. '; {fake program name if none}
132
133 {ASCII special character handline}
134
135 ff = 14B; {ascii form feed}
Pascal-2 RT-11 XM V2.1D 1-Jan-72 12:06 AM Site #1-1955 Page 2-2
University of Santa Clara #AG07619 Academic Computer Center Kenna 101 Santa
Clara CA 95053 USA
PROCRE,PROCRE=PROCRE
136 ht = 11B; {ascii tab character}
137
138 tabinterval = 8; {DEC standard tab interval}
139
140 sourcedepth = 8; {max source nesting depth for includes}
Pascal-2 RT-11 XM V2.1D 1-Jan-72 12:06 AM Site #1-1955 Page 3-1
University of Santa Clara #AG07619 Academic Computer Center Kenna 101 Santa
Clara CA 95053 USA
PROCRE,PROCRE=PROCRE
141
142 type
143 natural = 0..maxint;
144 positive = 1..maxint;
145
146 prefixname = packed array [1..prefix] of char;
147
148 sigcharrange = 1..sigcharlimit;
149
150 pseudostring = packed array [sigcharrange] of char;
151 stringcases = packed array [sigcharrange] of boolean;
152
153 linesize = 1..linelimit;
154 lineindex = 0..linelimit;
155
156 setofchar = set of char;
157
158 prockind = (fwdhalf, allfwd, shortform, formal, outside, outsidedef,
159 notproc);
160
161 ptrtoentry = ^entry;
162
163 listofusages = ^usagecell;
164
165 ptrtostackcell = ^stackcell;
166
167 tokentype = (othersy, namesy, lparensy, rparensy, colonsy, semicolsy,
168 periodsy, assignsy, subrangesy);
169
170 filelabel = packed array [1..labelsize] of char;
171
172 lineref =
173 record
174 line: natural; {line number of reference}
175 fileref: filelabel; {file of reference}
176 end;
177
178 entry =
179 record
180 procname: pseudostring;
181 procuppers: stringcases;
182 linenumber: lineref; {line where header found}
183 startofbody: lineref; {line where body is found}
184 left, right: ptrtoentry;
185 before, after: ptrtoentry;
186 calls: listofusages;
187 called: listofusages;
188 localtree: ptrtoentry;
189 case status: prockind of
190 fwdhalf, shortform, formal, outside, notproc: ();
191 allfwd, outsidedef:
192 (forwardblock: lineref {line where forward label found} );
193 end;
194
195 usagecell =
Pascal-2 RT-11 XM V2.1D 1-Jan-72 12:06 AM Site #1-1955 Page 3-2
University of Santa Clara #AG07619 Academic Computer Center Kenna 101 Santa
Clara CA 95053 USA
PROCRE,PROCRE=PROCRE
196 record
197 what: ptrtoentry;
198 next: listofusages;
199 end;
200
201 stackcell =
202 record
203 current: ptrtoentry;
204 scopetree: ptrtoentry;
205 substack: ptrtostackcell;
206 end;
207
208 {source include control}
209
210 sourceindex = 1..sourcedepth; {current source nexting level}
211
212 sourcedescriptor =
213 record
214 inputfile: text; {current input file}
215 line: array [linesize] of char; {current input line}
216 chno, total: lineindex; {char pointers in line}
217 lineno: natural; {line number of this line}
218 currentlabel: filelabel; {current file label}
219 end;
220
221 sourcestack = array [sourceindex] of sourcedescriptor;
...