[Oberon] Array Index Out Of Range in ORG.FindPtrFlds

Chris Burrows cfbsoftware at gmail.com
Mon Oct 18 22:14:28 CEST 2021


> -----Original Message-----
> From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of Andreas
> Pirklbauer
> Sent: Monday, 18 October 2021 5:09 PM
> To: Oberon List
> Subject: [Oberon] Array Index Out Of Range in ORG.FindPtrFlds
>
> The following program compilers correctly in FPGA Oberon
>
>   MODULE M1;
>     TYPE P = POINTER TO R;
>       R = RECORD a: ARRAY 160 OF INTEGER END ;   (*compiles correctly*)
>   END M1.
>
> but the following program leads to a trap 1 = array index out of range error
> in ORG.FindPtrFlds
>
>   MODULE M2;
>     TYPE P = POINTER TO R;
>       R = RECORD a: ARRAY 160 OF P END ;    (*trap 1 = array index out of
> range*)
>   END M2.
...
...
> Any suggestions how to address that in program M2 (or in the compiler, other
> than increasing maxTD)?
>

What practical problem are you trying to solve with example M2?

If I just wanted a list of pointers I would use a static array e.g.

 MODULE M3;
     TYPE P = POINTER TO R;
        R = RECORD a: ARRAY 160 OF INTEGER END ;
     A = ARRAY 200 OF P;
 END M3.

--
Regards,
Chris Burrows
CFB Software
https://www.astrobe.com/RISC5


More information about the Oberon mailing list