Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 10 Sep 2015 07:13:16 +0100] rev 547
Portability: Removed tests/asserts referring to BlockClosure
Due to historical reasons, there's no BlockClosure in Smalltalk/X,
the class is named Block. Conversely, there's no Block in Squeak/Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 08 Sep 2015 09:15:35 +0100] rev 546
Oops, re-added list splicemap for stx:goodies/petitparser/compiler
It somehow got lost during merge
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 08 Sep 2015 03:20:10 +0100] rev 545
Forge Monticello ancestry when exporting .mcz
Generate ancestry based in Mercurial history and individual
package's splice maps.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 08 Sep 2015 02:49:45 +0100] rev 544
Portabiluty: use `Exception new signal: message` to throw exceptions
...instead of #signalWith: It seems that this is the only portable way
to throw exceptions (at least among Pharo and Smalltalk/X)
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 08 Sep 2015 02:40:05 +0100] rev 543
Poratbility: do not use #removeAtIndex: under Pharo.
Pharo does not have #removeAtIndex: which is actually
and ANSI protocol. But Pharoers do not like ANSI and don't
give a shit about compatibility.
To workaround it, use super-ugly #respondsTo: test.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 08 Sep 2015 02:06:11 +0100] rev 542
Use #skipIf: instead of <skip>
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 08 Sep 2015 01:31:37 +0100] rev 541
Added ,mcz export by-producsts to .hgignore
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 08 Sep 2015 02:23:45 +0100] rev 540
Merge
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 08 Sep 2015 01:24:23 +0100] rev 539
Updated splicemaps.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 07 Sep 2015 11:53:38 +0100] rev 538
PPCConfiguration refactoring: [10/10]: Cleaned up compilation API
The main compilation method is now PPParser>>compileWithOptions:
Removed oither old and unused compilation methods from PPParser
and other PetitCompiler classes.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 07 Sep 2015 08:20:46 +0100] rev 537
PPCConfiguration refactoring: [9/10]: Renamed PPCConfiguration to PPCCompiler.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 07 Sep 2015 08:03:02 +0100] rev 536
PPCConfiguration refactoring: [8/10]: Cleaned up compilation API.
Methods in PPCConfiguration not meant for public use have been moved
to private protocol to make it clear.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 04 Sep 2015 14:06:56 +0100] rev 535
PPCConfiguration refactoring: [7/10]: allow to configure passes
...run during compilation by setting a collection of passes to run.
Got rid of PPCPluggableConfiguration and PPCConfiguration subclasses.
Removed a bunch of options used to suppress certain passes.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 29 Aug 2015 07:56:14 +0100] rev 534
PPCConfiguration refactoring: [6/10]: use #runPass: instead of self-sends.
...in PPCConfiguration>>invokePhases. This is a preparation for removing
#invokePhases completely and configuring the compilation via list of phases.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 26 Aug 2015 23:34:48 +0100] rev 533
PPCConfiguration refactoring: [5/10]: Commented options in PPCCompilationOptions.
So it's more clear for what the option is and how to use it.
This is a base for user-documentation as options are meant to
be set by the end user.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 26 Aug 2015 23:01:00 +0100] rev 532
PPCConfiguration refactoring: [4/10]: introduced a class - PPCPass
... representing a compilation pass over the PPCNode tree.
The pass has a common api method: #run:in: which is not used in
PPCConfiguration. This simplifed the code and removed some code
duplication.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 26 Aug 2015 21:41:20 +0100] rev 531
PPCConfiguration refactoring: [3/10]: Moved some sime instvars to context
Move some context-related options from PPCConfiguration to PPCCompilationContext.
PPCConfiguration now access them wia accessor methods.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 25 Aug 2015 01:30:32 +0100] rev 530
PPCConfiguration refactoring: [2/10]: introduced PPCCompilationContext
Moved parser class/scanner class instvars from PPCConfiguration subclasses
to the context. Made PPCConfiguration to keep an instance of context.
This is a preparation for having only one PPCConfiguration-like class.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 24 Aug 2015 23:42:53 +0100] rev 529
PPCConfiguration refactoring [1/10]: renamed PPCArguments to PPCCompilationOptions
Renamed PPCConfiguration>>#arguments/#arguments: to #options/#options:
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 24 Aug 2015 22:32:15 +0100] rev 528
Removed unused (obsolete) class PPCCompiledMethod
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 24 Aug 2015 17:38:44 +0100] rev 527
Added missing #new methods
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 24 Aug 2015 17:31:06 +0100] rev 526
Fixed PEGFsaState>>isFailure: it is not obsolete, actually.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 24 Aug 2015 15:56:20 +0100] rev 525
Merge
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 24 Aug 2015 15:34:14 +0100] rev 524
Merged in PetitCompiler-JanVrany.170, PetitCompiler-Tests-JanKurs.116, PetitCompiler-Extras-Tests-JanKurs.29, PetitCompiler-Benchmarks-JanKurs.19
Name: PetitCompiler-JanVrany.170
Author: JanVrany
Time: 24-08-2015, 03:19:51.340 PM
UUID: c20a744f-3b41-4aaa-bb8a-71ce74a2a952
Name: PetitCompiler-Tests-JanKurs.116
Author: JanKurs
Time: 24-08-2015, 11:37:54.332 AM
UUID: 549e0927-358a-4a1b-8270-050ccfcb4217
Name: PetitCompiler-Extras-Tests-JanKurs.29
Author: JanKurs
Time: 24-08-2015, 11:36:52.503 AM
UUID: ea1dbb67-f884-4237-8f34-adb0677c0954
Name: PetitCompiler-Benchmarks-JanKurs.19
Author: JanKurs
Time: 24-08-2015, 11:48:47.045 AM
UUID: 1c342fdb-8ddd-4104-9c47-a8f589c51694
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 18 Aug 2015 22:46:10 +0100] rev 523
Fixed PEGFsaTransition>>disjunction: - xor: does not take blocks
as xor is not subject to lazy evaluation. While in Pharo it worked, it does not work
well under Smalltalk/X which does not send value to the passed argument.
(partially because xor: is inlined by the stc/JIT compiler)
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 18 Aug 2015 22:16:18 +0100] rev 522
Fixed support for Smalltalk/X end-of-line comments in PPSmalltalkGrammar.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 18 Aug 2015 21:47:50 +0100] rev 521
Fixed LRP tests. Removed tests for tokendized LRPParser (not yet supported)
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 18 Aug 2015 16:57:08 +0100] rev 520
Added benchmarks for Johan's LRP Parser
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 18 Aug 2015 13:09:42 +0100] rev 519
Portability: fixed RBLiteralValueNode>>isLiteralNumber to work under both - Pharo and Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 17 Aug 2015 23:11:56 +0100] rev 518
Portability fixes
* do not use Object>>asString. Not all Smalltalks implement it.
* do not use Object>>name. Not all Smalltalks implement it.
* do not use Dictionary keysAndValuesRemove:. Not all Smalltalks implement it.
* do not use Class>>methods The semantics is different among Smalltalks.
Use `Class methodDictionary values` instead.
* do not modify dictionary in #at:ifAbsentPut: block!