Цитата Сообщение от 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;
...