<<>> <> <> <> <> <> DIRECTORY IntCodeDefs USING [Node, Var], MimCode USING [CodeList, StoreOptions], Symbols USING [nullType, Type, typeANY], Tree USING [Index, Link]; MimP5S: DEFINITIONS = BEGIN OPEN IntCodeDefs, MimCode, Symbols; TreeIndex: TYPE = Tree.Index; <> DIndex: PROC [node: TreeIndex] RETURNS [Node]; Index: PROC [node: TreeIndex] RETURNS [Node]; SeqIndex: PROC [node: TreeIndex] RETURNS [Node]; GetCategory: SAFE PROC [n: Node] RETURNS [Category]; Category: TYPE = {constant, constLocal, local, constGlobal, global, other}; WillEvalToConst: PROC [t: Tree.Link, noLocals: BOOL ¬ FALSE] RETURNS [BOOL]; <> Call: PROC [node: TreeIndex] RETURNS [Node]; Create: PROC [node: TreeIndex] RETURNS [Node]; ForkExp: PROC [node: TreeIndex] RETURNS [Node]; Free: PROC [node: TreeIndex] RETURNS [Node]; Join: PROC [node: TreeIndex] RETURNS [Node]; ProcCheck: PROC [node: TreeIndex] RETURNS [Node]; Restart: PROC [node: TreeIndex] RETURNS [Node]; SigErr: PROC [node: TreeIndex, error: BOOL, stmt: BOOL] RETURNS [Node]; Start: PROC [node: TreeIndex] RETURNS [Node]; Stop: PROC [node: TreeIndex] RETURNS [Node]; SysErrExp: PROC [node: TreeIndex] RETURNS [Node]; Unlock: PROC [node: TreeIndex] RETURNS [Node]; <> Lock: PROC [node: TreeIndex] RETURNS [Node]; Result: PROC [node: TreeIndex] RETURNS [Node]; Resume: PROC [node: TreeIndex] RETURNS [Node]; Return: PROC [node: TreeIndex] RETURNS [Node]; RetWithError: PROC [node: TreeIndex] RETURNS [Node]; StringInit: PROC [node: TreeIndex] RETURNS [Node]; Subst: PROC [node: TreeIndex, resultType: Type ¬ nullType] RETURNS [Node]; <> CatchMark: PROC [node: TreeIndex] RETURNS [Node]; Continue: PROC RETURNS [Node]; Exit: PROC RETURNS [Node]; GoTo: PROC [node: TreeIndex] RETURNS [Node]; LabelStmt: PROC [node: TreeIndex] RETURNS [Node]; Loop: PROC RETURNS [Node]; Retry: PROC RETURNS [Node]; SplitArith: PROC [n: Node] RETURNS [exp: Node, const: CARD]; <> Assign: PROC [node: TreeIndex] RETURNS [Node]; AssignExp: PROC [node: TreeIndex] RETURNS [Node]; ComAssign: PROC [t1, t2: Tree.Link, options: StoreOptions] RETURNS [Node]; EvalToTemp: PROC [cl: CodeList, t: Tree.Link] RETURNS [Tree.Link]; <> Extract: PROC [node: TreeIndex] RETURNS [Node]; ExtractExp: PROC [node: TreeIndex] RETURNS [Node]; ExtendValue: PROC [node: Node, dstType, srcType: Type, bits: INT] RETURNS [Node]; <> Temporize: PROC [cl: CodeList, n: Node, type: Type ¬ typeANY] RETURNS [Var]; <> END.