Oberon Community Platform Forum
November 20, 2019, 07:59:00 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Compiler TRAP, MathOberon  (Read 2580 times)
fnecati
Jr. Member
**
Posts: 60


« on: June 14, 2008, 03:58:25 PM »

Hi,

If the following module is compiled from PET which uses MathOberon extension for Matrix type (* 1 *)
PET is locked and below TRAP is produced. If Oberon array is used for Matrix type (* 2 *)  error is written for
index x[j,a].

Best regards,

- Necati.

MODULE MyTestVars;   
TYPE
       
         Matrix=ARRAY [10,10] OF REAL;     (* 1 *)
(*      Matrix=ARRAY 10,10 OF REAL; *)   (* 2*)

PROCEDURE Do*;
VAR x: Matrix;
      i,j: LONGINT;
BEGIN
   FOR j:=0 TO LEN(x,0)-1 DO
      FOR i:=0 TO LEN(x,1)-1 DO
         x[j,a]:= 0.0
      END;
   END;   
END Do;
END MyTestVars.

(***************************)

[1] TRAP 99 PL 3 99  HALT statement WinAos 02.06.2008 (Revision 1239)

 CS:=0000001B DS:=00000023 ES:=00000023 SS:=00000023 PC=00B6C537 ESI=02B9FB44 EDI=02B9FBC0 ESP=02B9F974 PID=00000000

 EAX=00000000 EBX=FFFFFFFF ECX=00000000 EDX=039BD6D8 EBP=02B9F97C FS:=0000003B GS:=00000000 TMR=0011FC7E

 FLAGS: cPaZstIdo iopl0 {1..2, 6, 9}

Process: 2536 run2536 2  2440BD0:PCP.ProcedureParser NIL {}

PCB.Designator.Emit pc=20111 [00004E8FH]

  code=024439F0H  i=Rec.000000ACH  @Self=005212D0H  pos=-1

State PCB:

  @Self=00505690H  Invalid=0053C0C0H  InvalidExpr=005210D0H  InvalidDesig=005212D0H

  InvalidEL=005219F0H  Zero=00521BF0H  One=00522510H  unknownObj=00522BB0H

  aConst=0  aDOp=0  aMOp=0  aConversion=0  aFunCall=0

  aSFunCall=0  aExprList=0  aDesignator=0  aVar=0  aType=0

  aDeref=0  aMethod=0  aField=0  aIndex=0  aGuard=0

  aStatement=0

PCB.EnhIndex.EmitEntry pc=23603 [00005C33H]

  entry=02446000H  dim=1  code=024439F0H  a=Rec.000000ACH  descr=Rec.000000ACH

  @Self=02445F50H  i=Rec.000000ACH  j=Rec.000000ACH  k=Rec.000000ACH

PCB.EnhIndex.EmitEntry pc=23529 [00005BE9H]

  entry=02445FE0H  dim=0  code=024439F0H  a=Rec.000000ACH  descr=Rec.000000ACH

  @Self=02445F50H  i=Rec.000000ACH  j=Rec.000000ACH  k=Rec.000000ACH

PCB.EnhIndex.Emit pc=24126 [00005E3EH]

  code=024439F0H  a=Rec.000000ACH  @Self=02445F50H  descr=Rec.000000ACH

  dim=Rec.000000ACH

PCB.Assign pc=66124 [0001024CH]

  code=024439F0H  suppress=FALSE  lexpr=02445F50H  rexpr=02446050H  arraycreation=FALSE

  src=Rec.000000ACH  dst=Rec.000000ACH  t=00000000H  w=00000000H  op=0

  offs=0

PCP.Parser.StatementSeq pc=26563 [000067C3H]

  body=FALSE  suppress=FALSE  awaitCount=0  @Self=02440BD0H  d=02445F50H

  d1=00000000H  x=00000000H  y=02446050H  c=00000000H  o=02441350H  o1=00000000H

  param=00000000H  pos=217  res=0  stack=0  oldscope=00000000H

  s=00000000H  procscope=00000000H  awaitparser=00000000H  loopinfo=Rec.000002A8H

  caseinfo=Rec.00000304H  first=FALSE  ifsuppress=FALSE  oldUnlockOnExit=FALSE

  oldforcount=0  i=0  mod=00000000H  name=0  proc=00000000H

  procScope=00000000H  module=00000000H  modScope=00000000H  returnPos=00000000H

  temp=00000000H  ap=00000000H  m=00000000H  indexer=FALSE

PCP.Parser.StatementSeq pc=29084 [0000719CH]

  body=FALSE  suppress=FALSE  awaitCount=0  @Self=02440BD0H  d=02445590H

  d1=00000000H  x=024455F0H  y=024459F0H  c=02445A90H  o=024413D0H  o1=00000000H

  param=00000000H  pos=188  res=0  stack=1  oldscope=00000000H

  s=00000000H  procscope=00000000H  awaitparser=00000000H  loopinfo=Rec.000002A8H

  caseinfo=Rec.00000304H  first=FALSE  ifsuppress=FALSE  oldUnlockOnExit=FALSE

  oldforcount=0  i=0  mod=00000000H  name=0  proc=00000000H

  procScope=00000000H  module=00000000H  modScope=00000000H  returnPos=00000000H

  temp=00000000H  ap=00000000H  m=00000000H  indexer=FALSE

PCP.Parser.StatementSeq pc=29084 [0000719CH]

  body=TRUE  suppress=FALSE  awaitCount=0  @Self=02440BD0H  d=02444CF0H

  d1=00000000H  x=02444D50H  y=02445110H  c=024451B0H  o=02441450H  o1=00000000H

  param=00000000H  pos=160  res=0  stack=1  oldscope=00000000H

  s=00000000H  procscope=00000000H  awaitparser=00000000H  loopinfo=Rec.000002A8H

  caseinfo=Rec.00000304H  first=FALSE  ifsuppress=FALSE  oldUnlockOnExit=FALSE

  oldforcount=0  i=0  mod=00000000H  name=0  proc=00000000H

  procScope=00000000H  module=00000000H  modScope=00000000H  returnPos=00000000H

  temp=00000000H  ap=00000000H  m=00000000H  indexer=FALSE

PCP.Parser.StatementBlock pc=25840 [000064F0H]

  body=TRUE  suppress=FALSE  awaitCount=0  @Self=02440BD0H  lock=FALSE

PCP.Parser.Body pc=31446 [00007AD6H]

  suppress=FALSE  @Self=02440BD0H  owner=00000000H  name="Do"  export=FALSE

  awaitCount=0

PCP.Parser.@Body pc=35018 [000088CAH]

  @Self=02440BD0H

Objects.Wrapper pc=2948 [00000B84H]

  lpParameter=024411D0H  t=024411D0H  obj=02440BD0H  type=36681096 ( 22FB588H)

  res=1  excpfrm=Rec.0000008CH  ebp=0  esp=0

Unknown PC=7C80B713H FP=02B9FFECH

---------------------------------
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!