-- file ErrorTab.Mesa
-- last modified by Satterthwaite, September 13, 1982 11:31 am
-- last modified by Donahue, 11-Dec-81 13:58:57
DIRECTORY
Log: TYPE USING [ErrorCode],
Tree: TYPE USING [NodeName];
ErrorTab: PROGRAM = {
OpName: ARRAY Tree.NodeName[assignx..uparrow] OF STRING = [
"←", "←",
" OR ", " AND ", "=", "#", "<", ">=", ">", "<=", " IN ", " ~IN ",
"+", "-", "*", "/", " MOD ",
".", ".", ".",
" NEW ", "~", "-", "@", "↑"];
FnName: ARRAY Tree.NodeName[min..nil] OF STRING = [
"MIN", "MAX", "LONG", "ABS", "ALL", "SIZE",
"FIRST", "LAST", "PRED", "SUCC",
"DESCRIPTOR", "LENGTH", "BASE", "LOOPHOLE", "NIL"];
ErrorMessages: ARRAY Log.ErrorCode OF STRING = [
-- general purpose errors (no parameters)
--compilerError,
"FATAL COMPILER ERROR",
--unimplemented,
"unimplemented construct",
--other,
"unspecified error",
--aborted,
"compilation aborted",
-- errors with no parameters
--bodyEntries,
"too many procedure or signal definitions",
--bodyType,
"illegal initialization to body",
--catchLabel,
"misplaced RETRY or CONTINUE",
--descriptor,
"misused DESCRIPTOR",
--discrimForm,
"incorrect discrimination",
--exit,
"illegal EXIT or LOOP",
--exportedVars,
"too many exported variables",
--fieldSize,
"variable or field too large",
--illDefinedReturn,
"default return of anonymous value",
--implicitCall,
"implicit system call",
--inlineType,
"illegal initialization to inline",
--instLength,
"instruction has incorrect length",
--interfaceEntries,
"too many interface items",
--keys,
"keywords not permitted",
--long,
"misused LONG",
--machDep,
"type must be MACHINE DEPENDENT",
--misplacedCatch,
"misplaced catch phrase",
--misplacedEntry,
"unmonitored ENTRY or INTERNAL",
--misplacedMonitorRef,
"unmonitored WAIT or NOTIFY",
--misplacedResume,
"illegal REJECT or RESUME",
--misplacedReturn,
"illegal RETURN",
--misplacedStop,
"illegal STOP",
--misplacedType,
"misplaced exported type",
--mixedPositions,
"mixed explicit and implicit field positions",
--noAccess,
"attempt to access private fields",
--nonOrderedType,
"index or interval type must be ordered",
--nonTypeCons,
"unrecognizable type constructor",
--nonVoidStmt,
"procedure used as a statement returns a value",
--relative,
"misused RELATIVE",
--staticNesting,
"body or catch phrase nested too deeply",
--stringLength,
"invalid string length",
--subrangeBounds,
"interval bounds are not constant",
--subrangeNesting,
"interval bounds are out of range",
--unreachable,
"unreachable code",
--unsafeBlock,
"improper use of an unsafe block",
--var,
"misused VAR",
-- errors mapping hash to sei parameters
--unknownId,
"is undeclared",
--unknownField,
"is not valid as a field selector",
-- errors with hash parameters
--ambiguousId,
"is ambiguous without discrimination",
--duplicateId,
"is multiply defined",
--missingImport,
"is an unmatched implicit import",
--unknownTag,
"is not a legal variant tag",
--duplicateTag,
"labels multiple variants",
--unknownVariant,
"does not name a variant",
--unknownKey,
"is not valid as a key",
--duplicateKey,
"is repeated as a key",
--omittedKey,
"cannot be defaulted",
--openId,
"must label a record",
--fileName,
"cannot be opened",
--fileVersion,
"referenced in different versions",
--fileWrong,
"found in wrong version",
--moduleId,
"is not a module name",
-- errors with sei parameters
--addressOverflow,
"exceeds addressing limits",
--circularType,
"leads to a circular type definition",
--circularValue,
"has ill-defined or circular value",
--elision,
"cannot be defaulted or voided",
--enumOrder,
"is out of order",
--exportAttr,
"is exported with incorrect attributes",
--fieldPosition,
"has invalid field width or alignment",
--forwardRef,
"is used before set",
--inlineRhs,
"is a misused inline",
--internalCall,
"is a misused INTERNAL",
--missingBase,
"requires a base value",
--missingInit,
"requires an initial value",
--missingLock,
"required for lock",
--nonDefinition,
"improperly defined for a DEFINITIONS module",
--nonTagType,
"has a type illegal for a tag",
--nonTypeId,
"is not a type",
--notImported,
"must come from an imported interface",
--position,
"cannot have a specified position",
--recordGap,
"is followed by a gap",
--recordOverlap,
"overlaps another field",
--recursiveInline,
"is INLINE and recursive",
--typeLength,
"has unknown or ill-defined length",
--varExport,
"has no exportable value",
--voided,
"cannot be voided",
-- errors with tree parameters
--boundsFault,
"is out of range",
--controlId,
"is an improper control variable",
--defaultForm,
"has an invalid default",
--duplicateLabel,
"is multiply defined",
--exportClash,
"is exported with incorrect type",
--missingBinding,
"lacks a tag needed for discrimination",
--missingCoercion
"requires an unimplemented coercion",
--misusedInline,
"is an incorrectly used inline",
--mixedRepresentation,
"has signed/unsigned ambiguity",
--noApplication,
"does not allow an argument list",
--nonAddressable,
"does not allow indirect reference",
--nonConstant,
"has nonconstant value",
--nonLHS,
"cannot be updated",
--nonVariantLabel,
"specifies an inadmissable test",
--noTarget,
"requires explicit type",
--notPortable,
"is not importable/exportable",
--noVariants,
"has no variants",
--overflow,
"overflows",
--relationType,
"relational has inadmissable operands",
--scopeFault,
"is being assigned out of scope",
--sizeClash,
"has incorrect or ambiguous length",
--spuriousBinding,
"explicit selection not permitted",
--typeClash,
"has incorrect type",
--unknownLabel,
"is undeclared",
-- unsafeOperation,
"is an unsafe operation",
-- unsafeSelection,
"is discriminated unsafely",
-- errors with numeric parameters
--listShort
"too few elements in list",
--listLong
"too many elements in list",
-- warnings with no parameters
--attrClash
"invalid attribute combination",
--pointerInit
"multiple initialization with a pointer",
--stateVector,
"state vector has improper offset",
--unsafeArgs
"long REF-containing arg/return record is unsafe",
-- warnings with sei parameters
--privateExport
"is private but matches an export",
--uninitialized
"appears uninitialized",
--unusedExport
"receives no exported values",
--unusedId
"is never referenced",
--unusedImport
"supplies no imported values",
--voidExport
"matches a constant in an exported interface",
-- warnings with substring parameters
--replString
"has global strings preventing replacement",
--replId
"has incompatible attributes for replacement",
-- warnings with tree parameters
--unsignedCompare
"will use unsigned comparison"
];
}.