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];
}.