-- P5U.mesa  Edited by Sweet, November 5, 1979  2:01 PM
DIRECTORY
  AltoDefs: FROM "altodefs" USING [BYTE],
  CodeDefs: FROM "codedefs",
  Symbols: FROM "symbols",
  SymbolSegment: FROM "symbolsegment" USING [ByteIndex],
  Table: FROM "table",
  Tree: FROM "tree";
P5U: DEFINITIONS =
  BEGIN OPEN Symbols, CodeDefs;
  CgenUtilNotify: Table.Notifier;
  AllocCodeCCItem: PROCEDURE [n: [0..3]] RETURNS [c: CodeCCIndex];
  BitsForOperand: PROCEDURE [t: Tree.Link] RETURNS [CARDINAL];
  BitsForType: PROCEDURE [sei: SEIndex] RETURNS [CARDINAL];
  CCellAlloc: PROCEDURE [t: CodeChunkType];
  CgenUtilInit: PROCEDURE;
  ComputeFrameSize: PROCEDURE [fs: CARDINAL] RETURNS [CARDINAL];
  CreateLabel: PROCEDURE RETURNS [c: LabelCCIndex];
  DeleteCell: PROCEDURE [c: CCIndex];
  EnumerateCaseArms: PROCEDURE [node: Tree.Index, 
    action: PROCEDURE [t: Tree.Link]];
  FieldAddress: PROCEDURE [sei: ISEIndex] RETURNS [BitAddress, CARDINAL];
  FreeChunk: PROCEDURE [i: CodeDefs.ChunkIndex, size: CARDINAL];
  FullWordBits: PROCEDURE [bits: CARDINAL] RETURNS [CARDINAL];
  GetChunk: PROCEDURE [size: CARDINAL] RETURNS [CodeDefs.ChunkIndex];
  InsertLabel: PROCEDURE [c: LabelCCIndex];
  LabelAlloc: PROCEDURE RETURNS [c: LabelCCIndex];
  LongTreeAddress: PROCEDURE [t: Tree.Link] RETURNS [long: BOOLEAN];
  MakeTreeLiteral: PROCEDURE [val: WORD] RETURNS [Tree.Link];
  NextVar: PROCEDURE [sei: ISEIndex] RETURNS [ISEIndex];
  OperandType: PROCEDURE [t: Tree.Link] RETURNS [sei: CSEIndex];
  Out0: PROCEDURE [i: AltoDefs.BYTE];
  Out1: PROCEDURE [i: AltoDefs.BYTE, p1: WORD];
  Out2: PROCEDURE [i: AltoDefs.BYTE, p1, p2: WORD];
  Out3: PROCEDURE [i: AltoDefs.BYTE, p1, p2, p3: WORD];
  OutJump: PROCEDURE [jt: JumpType, l: LabelCCIndex];
  ParamCount: PROCEDURE [c: CodeCCIndex] RETURNS [CARDINAL];
  PrevVar: PROCEDURE [ssei, sei : ISEIndex] RETURNS [ISEIndex];
  PushLitVal: PROCEDURE [v: UNSPECIFIED];
  SetCodeIndex: PROCEDURE [i: SymbolSegment.ByteIndex];
  TreeLiteral: PROCEDURE [t: Tree.Link] RETURNS [BOOLEAN];
  TreeLiteralValue: PROCEDURE [t: Tree.Link] RETURNS [WORD];
  WordAligned: PROCEDURE [tsei: RecordSEIndex] RETURNS [BOOLEAN];
  WordsForOperand: PROCEDURE [t: Tree.Link] RETURNS [n: CARDINAL];
  WordsForSei: PROCEDURE [sei: SEIndex] RETURNS [CARDINAL];
  END.