home *** CD-ROM | disk | FTP | other *** search
- <* STANDARD- *> <* MAIN- *> <* INITIALISE- *>
-
- MODULE OAErrs;
- (****************************************************************
-
- This file was created automatically by `FlexCat 1.5'
- Do NOT edit by hand!
- Oberon-A source description C 1994 by Albert Weinert
- Using with Oberon-A Interfaces for AmigaOS Release 3.1
- Modified for Oberon-A 1.5 by Frank Copeland
-
- Application: OAErrs
- Language : "english"
- Version : 1
- Description: OBERON-A:Catalogs/OAErrs.cd
-
- ****************************************************************)
-
- IMPORT
- lo := Locale, e := Exec, u := Utility, y := SYSTEM;
-
- CONST
- builtinlanguage = "english";
- version = 1;
-
- CONST
- title* = 0;
- haltButton* = 1;
- posFormat* = 2;
- abort* = 3;
- assert* = 4;
- runtimeError* = 5;
- unknown* = 6;
- kernNotAllocated* = 80;
- kernUserTrap* = 81;
- errOutOfMem* = 95;
- errInvariant* = 96;
- errPreCondition* = 97;
- errPostCondition* = 98;
- errNotImplemented* = 99;
- errNoLibrary* = 100;
- trap2* = 102;
- trap3* = 103;
- trap4* = 104;
- trap5* = 105;
- trap6* = 106;
- trap7* = 107;
- trap8* = 108;
- trap9* = 109;
- trap10* = 110;
- trap11* = 111;
- trap32* = 132;
- trap33* = 133;
- trap34* = 134;
- trap35* = 135;
- trap36* = 136;
- trap37* = 137;
- trap38* = 138;
-
- TYPE
- AppString = RECORD;
- id : LONGINT;
- str : e.LSTRPTR;
- END;
- AppStringArray = ARRAY 32 OF AppString;
-
- VAR
- AppStrings : AppStringArray;
- catalog : lo.CatalogPtr;
-
- PROCEDURE SetStrings;
- BEGIN
- AppStrings[0].id := title; AppStrings[0].str := y.ADR( "Oberon-A Runtime Error Handler" );
- AppStrings[1].id := haltButton; AppStrings[1].str := y.ADR( "Halt Program" );
- AppStrings[2].id := posFormat; AppStrings[2].str := y.ADR( "%s\nModule %s, line %ld, col %ld\n%s" );
- AppStrings[3].id := abort; AppStrings[3].str := y.ADR( "Errors.Abort" );
- AppStrings[4].id := assert; AppStrings[4].str := y.ADR( "Errors.Assert" );
- AppStrings[5].id := runtimeError; AppStrings[5].str := y.ADR( "Runtime error detected" );
- AppStrings[6].id := unknown; AppStrings[6].str := y.ADR( "Error code = %ld" );
- AppStrings[7].id := kernNotAllocated; AppStrings[7].str := y.ADR( "Freeing unallocated memory" );
- AppStrings[8].id := kernUserTrap; AppStrings[8].str := y.ADR( "Module Kernel could not allocate a user trap" );
- AppStrings[9].id := errOutOfMem; AppStrings[9].str := y.ADR( "Out of memory" );
- AppStrings[10].id := errInvariant; AppStrings[10].str := y.ADR( "Invariant violated" );
- AppStrings[11].id := errPreCondition; AppStrings[11].str := y.ADR( "Pre-condition violated" );
- AppStrings[12].id := errPostCondition; AppStrings[12].str := y.ADR( "Post-condition violation" );
- AppStrings[13].id := errNotImplemented; AppStrings[13].str := y.ADR( "Procedure or method not implemented" );
- AppStrings[14].id := errNoLibrary; AppStrings[14].str := y.ADR( "Could not open shared library" );
- AppStrings[15].id := trap2; AppStrings[15].str := y.ADR( "Trap #2 : BusError" );
- AppStrings[16].id := trap3; AppStrings[16].str := y.ADR( "Trap #3 : Address Error" );
- AppStrings[17].id := trap4; AppStrings[17].str := y.ADR( "Trap #4 : Illegal Instruction" );
- AppStrings[18].id := trap5; AppStrings[18].str := y.ADR( "Trap #5 : Divide by zero" );
- AppStrings[19].id := trap6; AppStrings[19].str := y.ADR( "Trap #6 : CHK instruction" );
- AppStrings[20].id := trap7; AppStrings[20].str := y.ADR( "Trap #7 : TRAPV instruction" );
- AppStrings[21].id := trap8; AppStrings[21].str := y.ADR( "Trap #8 : Privilege violation" );
- AppStrings[22].id := trap9; AppStrings[22].str := y.ADR( "Trap #9 : Trace bit trap" );
- AppStrings[23].id := trap10; AppStrings[23].str := y.ADR( "Trap #10 : Line 1010 emulator" );
- AppStrings[24].id := trap11; AppStrings[24].str := y.ADR( "Trap #11 : Line 1111 emulator" );
- AppStrings[25].id := trap32; AppStrings[25].str := y.ADR( "Trap #32 : Compiler index check failed" );
- AppStrings[26].id := trap33; AppStrings[26].str := y.ADR( "Trap #33 : Compiler type check failed" );
- AppStrings[27].id := trap34; AppStrings[27].str := y.ADR( "Trap #34 : Compiler NIL check failed" );
- AppStrings[28].id := trap35; AppStrings[28].str := y.ADR( "Trap #35 : Compiler case check failed" );
- AppStrings[29].id := trap36; AppStrings[29].str := y.ADR( "Trap #36 : RETURN missing in function" );
- AppStrings[30].id := trap37; AppStrings[30].str := y.ADR( "Trap #37 : Compiler stack check failed" );
- AppStrings[31].id := trap38; AppStrings[31].str := y.ADR( "Trap #38 : Compiler range check failed" );
- END SetStrings;
-
- PROCEDURE CloseCatalog*();
- BEGIN
- IF catalog # NIL THEN lo.CloseCatalog (catalog); catalog:=NIL END;
- END CloseCatalog;
-
- PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
- VAR Tag : ARRAY 4 OF u.TagItem;
- BEGIN
- CloseCatalog();
- IF (catalog = NIL) & (lo.base # NIL) THEN
- Tag[0].tag := lo.builtInLanguage; Tag[0].data := y.ADR( builtinlanguage );
- Tag[1].tag := u.ignore; Tag[1].data := y.ADR( language );
- Tag[2].tag := lo.version; Tag[2].data := version;
- Tag[3].tag := u.done;
-
- IF language # "" THEN
- Tag[1].tag:= lo.language;
- END;
- catalog := lo.OpenCatalogA (loc, "OAErrs.catalog", Tag);
- END;
- END OpenCatalog;
-
- PROCEDURE GetString* (num: LONGINT): e.LSTRPTR;
- VAR
- i: LONGINT;
- default: e.LSTRPTR;
- BEGIN
- i := 0; WHILE (i < 32) & (AppStrings[i].id # num) DO INC (i) END;
-
- IF i # 32 THEN
- default := AppStrings[i].str;
- ELSE
- default := NIL;
- END;
-
- IF catalog # NIL THEN
- RETURN lo.GetCatalogStr (catalog, num, default^);
- ELSE
- RETURN default;
- END;
- END GetString;
-
- BEGIN
- catalog := NIL;
- SetStrings;
- END OAErrs.
-
-