[squeak-dev] Loading SOUL in Trunk

marcel.taeumel Marcel.Taeumel at hpi.de
Wed Jun 24 14:20:09 UTC 2015


Hi, everyone!

I am trying to load SOUL in the trunk:

MCHttpRepository
	location: 'http://ss3.gemstone.com/ss/SOUL'
	user: ''
	password: ''

There is a serious name clash with "Environment" but once fixed [1], it
comes to the place were the Smalltalk term parser is not able to parse this
term:

'| newCollection newTerm count startIndex |
newCollection := OrderedCollection new.
count := 0.
startIndex := ?env startUnify: ?length + 1.
?termPointerList
	listDo:
		[:aVarPointer | 
		| var |
		var := (Variable name: ''temp'') setAddress: count.
		newCollection add: var.
		var
			unifyWith: aVarPointer smalltalkValue term
			inEnv: ?env
			myIndex: startIndex
			hisIndex: aVarPointer smalltalkValue envIndex
			inSource: false.
		count := count + 1].
?head = ListTerm ListTermFunctor smalltalkValue
	ifTrue:
		[self halt.
		newCollection add: EmptyListConstant new.
		newTerm := SoulFactory current makeList new makeListCompound:
newCollection]
	ifFalse:
		[newTerm := SoulFactory current makeCompound
			functor: ?head soulUp
			termSequence: (TermSequence terms: newCollection)
			astLink: ((HiddenVariable name: SoulFactory uniqueName) setAddress:
?length)].
newTerm definitionRepository: ?rep.
?TermPointer term
	unifyWith: newTerm
	inEnv: ?env
	myIndex: ?TermPointer envIndex
	hisIndex: startIndex
	inSource: true.
true'

It fails at the first "?env". It uses SmaCC and the SmalltalkTermParser
looks like generated code.

Any ideas how to fix this?

Best,
Marcel


[1] Use this  SOUL-Kernel-mt.mcz
<http://forum.world.st/file/n4833873/SOUL-Kernel-mt.mcz>   and add an empty
SouleMethodCompiler >> #parser: .
[2] http://www.squeaksource.com/SmaccDevelopment



--
View this message in context: http://forum.world.st/Loading-SOUL-in-Trunk-tp4833873.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.


More information about the Squeak-dev mailing list