home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 10
/
Fresh_Fish_10_2352.bin
/
new
/
dev
/
obero
/
oberon-a
/
source
/
library
/
oaerrs.mod
< prev
next >
Wrap
Text File
|
1995-06-29
|
6KB
|
154 lines
<* 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.