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!
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 17 Aug 2015 13:39:38 +0100] rev 517
Portability: override #new for PPCScannerCodeGenerator.
Not all smalltalks send #initialize by default.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 17 Aug 2015 12:56:02 +0100] rev 516
Merge
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 17 Aug 2015 12:13:16 +0100] rev 515
Updated to PetitCompiler-JanKurs.160, PetitCompiler-Tests-JanKurs.112, PetitCompiler-Extras-Tests-JanKurs.25, PetitCompiler-Benchmarks-JanKurs.17
Name: PetitCompiler-JanKurs.160
Author: JanKurs
Time: 17-08-2015, 09:52:26.291 AM
UUID: 3b4bfc98-8098-4951-af83-a59e2585b121
Name: PetitCompiler-Tests-JanKurs.112
Author: JanKurs
Time: 16-08-2015, 05:00:32.936 PM
UUID: 85613d47-08f3-406f-9823-9cdab451e805
Name: PetitCompiler-Extras-Tests-JanKurs.25
Author: JanKurs
Time: 16-08-2015, 05:00:10.328 PM
UUID: 09731810-51a1-4151-8d3a-56b636fbd1f7
Name: PetitCompiler-Benchmarks-JanKurs.17
Author: JanKurs
Time: 05-08-2015, 05:29:32.407 PM
UUID: e544b5f1-bcf8-470b-93a6-d2363e4dfc8a
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 31 Jul 2015 14:07:31 +0100] rev 514
Fixed PPCSetUpBefore...Resource to work on Pharo. Few othr minor Pharo fixes.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 31 Jul 2015 09:35:15 +0100] rev 513
Portability fix: do not use "/ style comments in PetitParser code.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 31 Jul 2015 07:57:23 +0100] rev 512
Added smoke tests for LRPParser
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 30 Jul 2015 17:31:18 +0100] rev 511
Added LRPParser from Live Robots Prograaming project
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 30 Jul 2015 08:37:37 +0100] rev 510
Tests refactoring - use generated test cases to make sure all posibilities are tested.
Do not generate resource for all combinations, use PPCSetUpBeforeTearDownAfterResource
instead that delegates parser compilation to the testcase itself (it calls it's #setUpBefore
method).
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 31 Jul 2015 08:22:18 +0100] rev 509
Inline child of an action node only is its unnamed sequence node.
Named nodes should not be inlined as they should make a method.
There's little point in inlining non-sequence nodes, so don't enforce
inlining on those. Some (JK :-) may prefer them non-inlined (for
debugging purposes)
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 31 Jul 2015 08:16:54 +0100] rev 508
Temporarily disabled #acceptsEpsilon test in PPCTokenizingCodeGenerator>>visitChoiceNode:
JK should have a look and come up with proper solution.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 28 Jul 2015 07:16:10 +0100] rev 507
Workaround for stc bug.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 27 Jul 2015 16:28:48 +0100] rev 506
Added static analysis of blocks when inlining. Allow inlining only when block is functional
...i.e., does not access any shared state (in instance or class variables). If the block does
a self-send, the sent method has to be (transitively) functional too.
To allow for self-sends in action blocks, copy (transitively) self-sent methods to target
parser. This is safe as these self-sent methods are guarnateed to be functional.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 27 Jul 2015 10:21:41 +0100] rev 505
Post-merge fixes. PPCCodeBlock refactoring.