home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / CPM / TURBOPAS / ZXREF.LBR / XREF0.IQC / XREF0.INC
Text File  |  2000-06-30  |  3KB  |  105 lines

  1.  
  2. (***********************************************************************)
  3. (* XREF0.INC
  4. (***********************************************************************)
  5.  
  6. (* v. 0900am, sun, 28.Sept.86, Glen Ellis *)
  7.  
  8. CONST
  9.         AlfaLength     =  15;
  10.         dFltStrLen    = 255;
  11.         EntryGap        =    0;   { # of blank lines between line numbers}
  12.         HeadIng         : string[23] = 'Cross-Reference Listing';
  13.         HeadIngsize     =    3;   {number of lines for HeadIng}
  14.         LLmax           = dFltStrLen;
  15.         MaxOnLine       =   8;
  16.         Maxlines        = MAXINT; {longest document permitted}
  17.         MaxWordlen      = AlfaLength;{longest word Read without truncation}
  18.         Maxlinelen      =   80;   {length of output line}
  19.         MaxOnPage       =   60;   {size of output Page}
  20.  
  21.         (*--------------------------------------------*)
  22.         (*     will reassigned during pINITZ          *)
  23.         NumKeyMAX       =   99;
  24.         (* number of Pascal reserved words = 70       *)
  25.         (* number of dBASE reserved words = 99 -> 136 *)
  26.         (*--------------------------------------------*)
  27.  
  28.         NumberWidth     =    6;
  29.         space           : Char = ' ';
  30.  
  31. TYPE
  32.         Alfa    = string[AlfaLength];
  33.         CharName = (lletter, uletter, digit, blank, quote, aTabChar,
  34.                       endOfLine, FileMark, otherChar );
  35.         CharInfo =
  36.            record
  37.                name : CharName;
  38.                valu : Char
  39.            end;
  40.         Counter = 1..Maxlines;
  41.         PageIndex = byte;
  42.         WordIndex = 1..MaxWordlen;
  43.  
  44.         QueuePointer = ^QueueItem;
  45.         QueueItem =
  46.            record
  47.                   linenumber : Counter;
  48.                   NextInQueue: QueuePointer
  49.            end;
  50.  
  51.         EntryType =
  52.            record
  53.                Wordvalue : Alfa;
  54.                FirstInQueue,
  55.                LastInQueue: QueuePointer
  56.            end;
  57.  
  58.         TreePointer = ^Node;
  59.         Node =
  60.            record
  61.               Entry : EntryType;
  62.               Left,
  63.               Right : TreePointer
  64.             end;
  65.  
  66.         GenStr  = string[255];
  67.  
  68.         String1 = string[1];
  69.         String2 = string[2];
  70.         String3 = string[3];
  71.         String4 = string[4];
  72.  
  73.  
  74. VAR
  75.   bell          : Char;
  76.   (* Fatal_Error *)
  77.   FatalErrorStatus   : boolean;
  78.   (* File_ID *)
  79.   FileInID,                      { Input file name }
  80.   (* Prn_ID *)
  81.   PrnOutID,                       { basic file name + '.PRN' }
  82.   (* New_ID *)
  83.   XrfID        : string[14];   { basic file name + '.XRF' }
  84.   (* Form_Feed *)
  85.   FormFeedChar     : Char;
  86.   Key           : array[1..NumKeyMAX] of Alfa;
  87.   Listing       : boolean;
  88.   (* tab *)
  89.   TabChar           : Char;
  90.   WordTree      : TreePointer;
  91.   (* Gap *)
  92.   GapChar           : Char      ;
  93.   Currentline   : integer;
  94.   FOut: TEXT; { print output file }
  95.   XOut: TEXT; { xref  output file }
  96.  
  97.   (* v. Glen Ellis *)
  98.   ConnectFlag : boolean;
  99.   NumKeys : integer;
  100.   XrefTrace : boolean;
  101.   XrefMode : string2;
  102.   KeyModeChar : string1;
  103.  
  104. (***************************************************************)
  105.