(***********************************************************************) (* XREF0.INC (***********************************************************************) (* v. 0900am, sun, 28.Sept.86, Glen Ellis *) CONST AlfaLength = 15; dFltStrLen = 255; EntryGap = 0; { # of blank lines between line numbers} HeadIng : string[23] = 'Cross-Reference Listing'; HeadIngsize = 3; {number of lines for HeadIng} LLmax = dFltStrLen; MaxOnLine = 8; Maxlines = MAXINT; {longest document permitted} MaxWordlen = AlfaLength;{longest word Read without truncation} Maxlinelen = 80; {length of output line} MaxOnPage = 60; {size of output Page} (*--------------------------------------------*) (* will reassigned during pINITZ *) NumKeyMAX = 99; (* number of Pascal reserved words = 70 *) (* number of dBASE reserved words = 99 -> 136 *) (*--------------------------------------------*) NumberWidth = 6; space : Char = ' '; TYPE Alfa = string[AlfaLength]; CharName = (lletter, uletter, digit, blank, quote, aTabChar, endOfLine, FileMark, otherChar ); CharInfo = record name : CharName; valu : Char end; Counter = 1..Maxlines; PageIndex = byte; WordIndex = 1..MaxWordlen; QueuePointer = ^QueueItem; QueueItem = record linenumber : Counter; NextInQueue: QueuePointer end; EntryType = record Wordvalue : Alfa; FirstInQueue, LastInQueue: QueuePointer end; TreePointer = ^Node; Node = record Entry : EntryType; Left, Right : TreePointer end; GenStr = string[255]; String1 = string[1]; String2 = string[2]; String3 = string[3]; String4 = string[4]; VAR bell : Char; (* Fatal_Error *) FatalErrorStatus : boolean; (* File_ID *) FileInID, { Input file name } (* Prn_ID *) PrnOutID, { basic file name + '.PRN' } (* New_ID *) XrfID : string[14]; { basic file name + '.XRF' } (* Form_Feed *) FormFeedChar : Char; Key : array[1..NumKeyMAX] of Alfa; Listing : boolean; (* tab *) TabChar : Char; WordTree : TreePointer; (* Gap *) GapChar : Char ; Currentline : integer; FOut: TEXT; { print output file } XOut: TEXT; { xref output file } (* v. Glen Ellis *) ConnectFlag : boolean; NumKeys : integer; XrefTrace : boolean; XrefMode : string2; KeyModeChar : string1; (***************************************************************)