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