[Oberon] n-o trap analysis confuses me

easlab at absamail.co.za easlab at absamail.co.za
Sat Mar 27 10:00:15 CET 2004


cg> Using Compiler.Compile *\f
 on PC =  PC = 7583 &  5551 
 
Peter wrote:
> Is this the trap from the gif image?
> 
Well since I can't produce the trap now; which I had repeatedly done
over months, for different re-boots; and all I have as evidence is 
the old trap-text, I must assume the 2 PCs were where it WAS 
trapping. And that the traps WERE initiated by some graphic
input.

> Otherwise, can you narrow down the html 
> source to where you understand what is 
> instigating the problem?

I never ever suspected that there was anything 'wrong'
with the fetched graphics.   The problem is at my end and
most likely with ME.  When I read the source, I [obviously
mistakenly] see this simplified pattern:---

PROCEDURE Outer;
		VAR C: INTEGER;

		PROCEDURE Inner(arg1: CHAR; arg2: INTEGER);
		BEGIN
			ReadVariable(C);
		END ImgIcon;

	BEGIN (* Outer *)
				Inner("X", 2);
				Acces(C);
				PossiblyInitialise(C)
	END IMG;

My reasoning is that:
1. C must be initialised before:
    			ReadVariable(C);  [in PROC Inner] is executed.

2. since C is local to 'Outer' and its decendants, it must be initialised
by a statement in PROC Outer, or by a call to a decendant procedure.

3. Since there is only one decendant procedure of PROC Outer,
 C must be initialised either before
  Inner("X", 2) [in PROC Outer] is executed, or before
  ReadVariable(C) [in PROC Inner] is executed.

The range of statements where it must be initialised, is quiet
small/managable to examine in the source of HTMLImages.Mod
I can't find how/where C is initialised.
Where are the bright students, before they go on easter leave ?

== Chris Glur.







More information about the Oberon mailing list