Service Manuals, User Guides, Schematic Diagrams or docs for : xerox mesa 4.0_1978 listing Mesa_4_Lister Sort.mesa_Sep78

<< Back | Home

Most service manuals and schematics are PDF files, so You will need Adobre Acrobat Reader to view : Acrobat Download Some of the files are DjVu format. Readers and resources available here : DjVu Resources
For the compressed files, most common are zip and rar. Please, extract files with Your favorite compression software ( WinZip, WinRAR ... ) before viewing. If a document has multiple parts, You should download all, before extracting.
Good luck. Repair on Your own risk. Make sure You know what You are doing.




Image preview - the first page of the document
Sort.mesa_Sep78


>> Download Sort.mesa_Sep78 documenatation <<

Text preview - extract from the document
Sort.mesa                        2-Sep-78 18:18:51                                      Page   1


--file Sort.mesa
--last modified by Bruce on July 30, 1978 4:30 PM
-- translated from Ed McCreight's BCPL by Jim Frandeen
DIRECTORY
  AltoDefs: FROM "AltoDefs",
  FSPDefs: FROM "fspdefs" USING [NoRoomInZone, NodeOverhead],
  GPsortDefs: FROM "GPsortDefs",
  InlineDefs: FROM "inlinedefs" USING [COPY],
  StreamDefs: FROM "StreamDefs";
DEFINITIONS FROM GPsortDefs;
Sort: PROGRAM
  IMPORTS FSPDefs, GPsortDefs, StreamDefs
  EXPORTS GPsortDefs m
BEGIN
NFiles: CARDINAL   = 3;   -- number of scratch files

bufferSize: INTEGER;
compareProc: CompareProcType;
files: ARRAY [0 .. NFiles] OF FdHandle;
firstFreeEnt: CARDINAL; -- 1 + end of unsorted part of heap vector
getProc: GetProcType;
heap: DESCRIPTOR FOR ARRAY OF ItemHeaderHandle;
heapSize: CARDINAL; -- end of heap-sorted part of heap vector
inputFinished: BOOLEAN;
itemIsLeftOver: BOOLEAN;
leftoverItem: ItemHandle;
leftoverItemLen: ItemLength:
level: CARDINAL;
maxHeapSize: CARDINAL;
maxItemWords: CARDINAL;
occItemWords: CARDINAL;
putProc: PutProcType;
recordSize: CARDINAL;
RecordTooLong: PUBLIC ERROR      CODE;
BuildHeap: PROCEDURE
  BEGIN
  L: CAkDINAL;
  heapSize +- 0;
  MaintainHeap[];
  heapSize +- firstFreeEnt-1;
  L +- (heapSize/2)+1;
  WHILE L > 1 DO
    L +- L-1;
    SiftDown[L,heap[L]]:
    ENDLOOP;
  RETURN:
  END:
BuildRuns: PROCEDURE
  BEGIN
  --Continue reading and sorting, alternating in Fibonacci sequence, until the input is exhausted.
  A: CARDINAL;
  item: ItemlleaderHandle:
  i: CARDINAL:
  j: CARDINAL +- 1;
  LFile: FcHlandle:
  NT: CARDINAL;
  1 eve 1 .- 1;
  00 OPEN files[j];
     IF level> 1 THEN dh.put[dh,EOR];     -- end-of-run marker
     FOR item +- GetHeap[], GetHeap[] UNTIL item



◦ Jabse Service Manual Search 2026 ◦ Jabse PravopisonTap.bg ◦ Other service manual resources online : FixyaeServiceinfo