DIRECTORY FIFO; FIFOImpl: CEDAR PROGRAM EXPORTS FIFO = BEGIN OPEN FIFO; Create: PUBLIC PROC [] RETURNS [fifo: FIFO] = { fifo _ NEW [FIFORec]; }; Size: PUBLIC PROC [fifo: FIFO] RETURNS [INT] = { RETURN [fifo.size] }; Get: PUBLIC PROC [fifo: FIFO] RETURNS [data: REF] = { IF fifo.head=NIL THEN RETURN [NIL]; data _ fifo.head.data; fifo.head _ fifo.head.next; fifo.size _ fifo.size-1; IF fifo.head=NIL THEN fifo.tail _ NIL }; Put: PUBLIC PROC [fifo: FIFO, data: REF] = { fifoEl: FIFOElement _ NEW [FIFOElementRec]; fifoEl.data _ data; IF fifo.tail=NIL THEN {fifo.head _ fifo.tail _ fifoEl; fifo.size _ 1} ELSE {fifo.tail.next _ fifoEl; fifo.tail _ fifoEl; fifo.size _ fifo.size+1} }; END. „FIFOImpl.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Pradeep Sindhu September 20, 1986 8:21:09 pm PDT Κ¦˜šΟkœ™ Icode– "Cedar" stylešœ Οmœ1™