<> <> <> <> <> <> <> DIRECTORY ConvertUnsafe: TYPE USING [SubString], Rope: TYPE USING [ROPE], Symbols: TYPE USING [Name, ISEIndex, Type], SymbolTable: TYPE USING [Base], Tree: TYPE USING [Index, Link, NodeName]; Log: DEFINITIONS = { ErrorCode: TYPE = { <> compilerError, unimplemented, other, aborted, <> arraySize, attrClash, bodyType, catchLabel, descriptor, discrimForm, exit, illDefinedReturn, implicitCall, indexType, inlineChecked, inlineType, instLength, interfaceString, keys, long, longPath, machDep, misplacedCatch, misplacedEntry, misplacedMonitorRef, misplacedResume, misplacedReturn, misplacedStop, misplacedType, mixedPositions, noAccess, nonOrderedType, nonTypeCons, nonVoidStmt, opaqueTest, relative, stateVector, staticNesting, subrangeNesting, unsafeBlock, var, <> unknownId, unknownField, <> ambiguousId, duplicateId, missingImport, unknownTag, duplicateTag, unknownVariant, unknownKey, duplicateKey, omittedKey, openId, fileName, fileWrong, moduleId, <> addressOverflow, circularType, circularValue, elision, enumOrder, exportAttr, exportClash, fieldPosition, forwardRef, internalCall, missingBase, missingInit, missingLock, nonDefinition, nonTagType, nonTypeId, notImported, position, privateId, recordGap, recordOverlap, recursiveInline, typeLength, updateClash, varExport, <> boundsFault, controlId, defaultForm, duplicateLabel, missingBinding, misusedInline, mixedRepresentation, noApplication, nonAddressable, nonConstant, nonInterface, nonLHS, nonVar, nonVariantLabel, noTarget, notPortable, noVariants, operandSize, overflow, scopeFault, sizeClash, spuriousBinding, typeClash, unknownLabel, unsafeOperation, unsafeSelection, <> missingAttr, missingOp, unsafeOp, <> bodyEntries, exportedVars, interfaceEntries, listShort, listLong, <> pointerInit, unreachable, <> paddedField, privateExport, uninitialized, unusedExport, unusedId, unusedImport, voidExport, <> replString, replId, <> emptyArray, fileVersion, unsignedCompare }; Type: TYPE = RECORD[ stb: SymbolTable.Base, type: Symbols.Type]; Error: PROC[ErrorCode]; ErrorHti: PROC[ErrorCode, Symbols.Name]; ErrorN: PROC[ErrorCode, INTEGER]; ErrorNode: PROC[ErrorCode, Tree.Index]; ErrorNodeOp: PROC[ErrorCode, Tree.Index, Tree.NodeName]; ErrorSei: PROC[ErrorCode, Symbols.ISEIndex]; ErrorTree: PROC[ErrorCode, Tree.Link]; ErrorTreeOp: PROC[ErrorCode, Tree.Link, Tree.NodeName]; ErrorType: PROC[ErrorCode, Tree.Link, Type]; Warning: PROC[ErrorCode]; WarningNode: PROC[ErrorCode, Tree.Index]; WarningSei: PROC[ErrorCode, Symbols.ISEIndex]; WarningSubString: PROC[ErrorCode, ConvertUnsafe.SubString]; WarningRope: PROC[ErrorCode, Rope.ROPE]; WarningTree: PROC[ErrorCode, Tree.Link]; }.