DIRECTORY SymbolTableDefs USING [SymbolType], TreesDefs USING [TreeNode]; PrintDclsDefs: DEFINITIONS = { -- prints a function head PrintFunctionHead: PROCEDURE [name: LONG STRING, functionAttributes: LONG POINTER TO TreesDefs.TreeNode, pointerTo: BOOLEAN, nameList: LONG POINTER TO TreesDefs.TreeNode, argList: LONG POINTER TO TreesDefs.TreeNode]; -- prints a declarations parse tree PrintDeclarations: PROCEDURE [node: LONG POINTER TO TreesDefs.TreeNode, indent: CARDINAL, separator: LONG STRING, terminateWithSeparator: BOOLEAN]; GetAttributes: PROCEDURE [node: LONG POINTER TO TreesDefs.TreeNode, indent: CARDINAL] RETURNS [symType: SymbolTableDefs.SymbolType, typeString: LONG STRING]; MergeAttributes: PROCEDURE [n1: LONG POINTER TO TreesDefs.TreeNode, n2: LONG POINTER TO TreesDefs.TreeNode] RETURNS [result: LONG POINTER TO TreesDefs.TreeNode]; }.