[squeak-dev] Prolog can't load in latest 4.3

Levente Uzonyi leves at elte.hu
Thu Oct 13 23:11:16 UTC 2011


On Thu, 13 Oct 2011, Stéphane Rollandin wrote:

> Hello,
>
> In the latest 4.3 alpha, Prolog from
> http://map.squeak.org/accountbyid/5f9bef44-1fbb-4dd6-8f10-a69862ad5674/files/PrologSPFA-19.sar
>
> does not load because of the guard clause in
>
> TempVariableNode>>definingScope: scopeBlock "<BlockNode>"
> 	definingScope ifNotNil:
> 		[self error: 'temp has more than one defining scope.  This is 
> probably a parser error'].
> 	definingScope := scopeBlock
>
>
> Is this guard really important ?
> If yes, what should I change in Prolog to have it satisfied ?

Is the generated code correct?

The created methodNode says it's:

logicArg assoc
 	| n structure x list len range |
 	x := LogicRef new.
 	x := LogicRef new.
 	n := LogicRef new.
 	x := LogicRef new.
 	structure := LogicRef new.
 	n := LogicRef new.
 	x := LogicRef new.
 	range := LogicRef new.
 	n := LogicRef new.
 	range := LogicRef new.
 	len := LogicRef new.
...

The problem is that the method's selector is #logicArg which has 0 
arguments, but somehow it has an argument: assoc. And some assignments 
seem to be unnecessary.


Levente


More information about the Squeak-dev mailing list