Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 30 Oct 2014 23:20:35 +0000] rev 400
Fixed PPCCompiler: must refetch class afer updating instance variables of a given class.
The reason is, that in (at least) Smalltalk/X modyfing a layout of a class results
in creating a new class rather than updating an old one and migrating instances, i.e.,
the old class is not identical with the new class. Therefore, to install methods in in
correct class, we have to refetch new version from system dictionary. On Pharo it
should not harm
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 30 Oct 2014 23:03:03 +0000] rev 399
Fix in PPCMethod>>addVariable: make sure variable is added only once.
Having two variables with the same name is forbidden.
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 30 Oct 2014 23:01:54 +0000] rev 398
Added teardown to PetitCompilerTests to clean up a generated parser after tests.
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 30 Oct 2014 11:35:27 +0000] rev 397
Portability fix PPCAbstractCharacterNode>>body: use #storeString instead of #printString.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 26 Oct 2014 22:49:03 +0000] rev 396
Fixed PPCGuard>>compileCharacter:
Use #storeString instead of #printString - #storeString is defined as string
whose evaluation would return the receiver (resp. object equal to reveiver).
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 26 Oct 2014 22:08:41 +0000] rev 395
Portability fix in PPCompiler>>cleanGeneratedMethods:
Use more portable coding.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 26 Oct 2014 22:05:59 +0000] rev 394
Portability - test if RPackageOrganizer is present...
...if not, do not register new package using it. RPackage is Pharo specific
thing not present in other Smalltalks.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 26 Oct 2014 22:00:05 +0000] rev 393
Override #new in classes that implement #initialize.
Not all Smalltalks call #initialize automatically. Actually, mose of them does not.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 26 Oct 2014 01:28:07 +0000] rev 392
Fixed PPCNode>>doOptmizationLoop:status:
Must report status to changeStatus as caller is checking its value.
Also, added PPCOptimizationResult class>>new as Smaltalk/X (actually, most Smalltalks)
does not call #initialize by default.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 26 Oct 2014 01:03:31 +0000] rev 391
Ported PetitCompiler-(Tests).
Name: PetitCompiler-JanKurs.41
Author: JanKurs
Time: 25-10-2014, 03:30:28 AM
UUID: 105186d1-1187-4ca6-8d66-3d2d47def4d3
Repository: http://smalltalkhub.com/mc/JanKurs/PetitParser/main
Name: PetitCompiler-Tests-JanKurs.4
Author: JanKurs
Time: 25-10-2014, 03:30:58 AM
UUID: 3e798fad-d5f6-4881-a583-f0bbffe27869
Repository: http://smalltalkhub.com/mc/JanKurs/PetitParser/main
In addition, fixed some problems to make it compilable under Smalltalk/X:
* Fixed PPCTokenNode>>initialize - there's no children instvar, it's initialization removed.
* Fixed PPCContextMemento>>propertyAt:ifAbsent: - removed return-in-return, not compilable under Smalltalk/X (C issues)
* Fixed PPCContextMemento>>hash - there's no stream instvar, access to it removed.
* Fixed PPCAbstractCharacterNode>>compileWith:effect:id: - removed dot after method selector (stc does not like it)