sr [Wed, 04 Jul 2018 15:43:22 +0200] rev 614
build order was wrong
sr [Wed, 04 Jul 2018 15:30:27 +0200] rev 613
build order was wrong
sr [Wed, 04 Jul 2018 15:30:25 +0200] rev 612
build order was wrong
sr [Wed, 04 Jul 2018 15:30:19 +0200] rev 611
build order was wrong
sr [Wed, 04 Jul 2018 15:30:16 +0200] rev 610
build order was wrong
sr [Wed, 04 Jul 2018 15:30:15 +0200] rev 609
build order was wrong
sr [Wed, 04 Jul 2018 15:23:57 +0200] rev 608
#OTHER by sr
build order was wrong
sr [Wed, 04 Jul 2018 15:23:55 +0200] rev 607
build order was wrong
sr [Wed, 04 Jul 2018 15:23:53 +0200] rev 606
build order was wrong
sr [Wed, 04 Jul 2018 15:23:47 +0200] rev 605
build order was wrong
sr [Wed, 04 Jul 2018 15:23:44 +0200] rev 604
build order was wrong
sr [Wed, 04 Jul 2018 15:23:40 +0200] rev 603
build order was wrong
convert-repo [Tue, 03 Jul 2018 03:34:03 +0000] rev 602
update tags
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:47:31 +0200] rev 601
#OTHER by cg
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:47:30 +0200] rev 600
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:47:28 +0200] rev 599
initial checkin
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:47:25 +0200] rev 598
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:47:23 +0200] rev 597
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:47:21 +0200] rev 596
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:47:14 +0200] rev 595
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:47:12 +0200] rev 594
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:47:09 +0200] rev 593
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:47:07 +0200] rev 592
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:46:49 +0200] rev 591
#OTHER by cg
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:46:48 +0200] rev 590
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:46:46 +0200] rev 589
initial checkin
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:46:43 +0200] rev 588
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:46:41 +0200] rev 587
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:46:39 +0200] rev 586
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:46:37 +0200] rev 585
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:46:35 +0200] rev 584
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:46:32 +0200] rev 583
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:46:30 +0200] rev 582
class: PPParserResource
test stuff moved
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:43:48 +0200] rev 581
#DOCUMENTATION by cg
class: PPParserResource
class definition
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:43:33 +0200] rev 580
removed container
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:43:28 +0200] rev 579
initial checkin
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:41:20 +0200] rev 578
#DOCUMENTATION by cg
initial
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:40:28 +0200] rev 577
removed container
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:40:19 +0200] rev 576
initial checkin
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:39:35 +0200] rev 575
removed container
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:39:29 +0200] rev 574
initial checkin
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:39:09 +0200] rev 573
removed container
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:39:04 +0200] rev 572
initial checkin
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:38:50 +0200] rev 571
removed container
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:38:45 +0200] rev 570
initial checkin
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:38:26 +0200] rev 569
removed container
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:38:21 +0200] rev 568
initial checkin
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:38:06 +0200] rev 567
removed container
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:38:01 +0200] rev 566
initial checkin
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:36:42 +0200] rev 565
#DOCUMENTATION by cg
class: PPCompositeParserTest
class definition
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:36:37 +0200] rev 564
#DOCUMENTATION by cg
class: PPAbstractParserTest
class definition
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:35:31 +0200] rev 563
removed container
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:35:26 +0200] rev 562
initial checkin
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:35:04 +0200] rev 561
removed container
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:34:58 +0200] rev 560
initial checkin
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:34:34 +0200] rev 559
removed container
Claus Gittinger <cg@exept.de> [Mon, 02 Jul 2018 07:34:28 +0200] rev 558
initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 02 Jul 2018 08:46:03 +0200] rev 557
Tagged Smalltalk/X 8.0.0
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 19 Mar 2016 00:12:47 +0100] rev 556
CI: Use VM provided by Pharo team on both Linux and Windows.
Hand-crafter Pharo VM is no longer needed as the Linux slave in
SWING build farm has been upgraded so it has compatible GLIBC.
This makes CI scripts simpler and more usable for other people.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 18 Jan 2016 08:05:03 +0000] rev 555
For tests on Pharo 5.0, use Spur VM
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 24 Nov 2015 19:24:45 +0000] rev 554
Oops, another type (`url`, should be `curl`)
Sigh.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 24 Nov 2015 19:37:14 +0100] rev 553
Oops, forgot to export PETITCOMPILER_DATA_DIRECTORY variable
...so Smalltalk code could not read it. Also fixed test for "include" scripts
so they are not downloaded again when already downloaded.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 23 Nov 2015 14:00:53 +0100] rev 552
Use shared directory for test data on Jenkins
...in order to save bandwidth and disk space.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 23 Nov 2015 11:14:30 +0100] rev 551
Fixed CI scripts on Windows
For an unknown reason, unzip on Windows reports status code 50
(presumably "the disk is (or was) full during extraction.") even
if there's plenty of space. To workaround this, simply ignore
status code 50 on Windows. Sigh.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 09 Nov 2015 00:38:23 +0000] rev 550
Fixed CI scripts for PetitParser.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 09 Nov 2015 00:38:23 +0000] rev 549
Added CI scripts for PetitParser.
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 08 Oct 2015 09:41:03 +0100] rev 548
Added README and LICENSE
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!
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.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 24 Jul 2015 19:42:09 +0100] rev 504
Portability fix: override #new for class that implements #initialize
#initialize is not sent by default.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 24 Jul 2015 15:37:23 +0100] rev 503
Merge
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 24 Jul 2015 15:06:54 +0100] rev 502
Updated to PetitCompiler-JanVrany.135, PetitCompiler-Tests-JanKurs.93, PetitCompiler-Extras-Tests-JanVrany.16, PetitCompiler-Benchmarks-JanKurs.12
Name: PetitCompiler-JanVrany.135
Author: JanVrany
Time: 22-07-2015, 06:53:29.127 PM
UUID: 890178b5-275d-46af-a2ad-1738998f07cb
Ancestors: PetitCompiler-JanVrany.134
Name: PetitCompiler-Tests-JanKurs.93
Author: JanKurs
Time: 20-07-2015, 11:30:10.283 PM
UUID: 6473e671-ad70-42ca-b6c3-654b78edc531
Ancestors: PetitCompiler-Tests-JanKurs.92
Name: PetitCompiler-Extras-Tests-JanVrany.16
Author: JanVrany
Time: 22-07-2015, 05:18:22.387 PM
UUID: 8f6f9129-dbba-49b1-9402-038470742f98
Ancestors: PetitCompiler-Extras-Tests-JanKurs.15
Name: PetitCompiler-Benchmarks-JanKurs.12
Author: JanKurs
Time: 06-07-2015, 02:10:06.901 PM
UUID: cb24f1ac-46a4-494d-9780-64576f0f0dba
Ancestors: PetitCompiler-Benchmarks-JanKurs.11, PetitCompiler-Benchmarks-JanVrany.e29bd90f388e.20150619081300
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 19 Jun 2015 08:13:39 +0100] rev 501
Moved PPMappedActionParser>>asCompilerNode to protocol 'converting'
If in '*petitparser' it makes some problems with Monticello.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 19 Jun 2015 07:14:07 +0100] rev 500
Use RBVariableNode>>name: to change variable's name.
The old way - `node token value:` is working in Pharo - there's no token in RBVariableNode. Sigh.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 19 Jun 2015 06:53:06 +0100] rev 499
Portability fix: do not use #?
...use `notNil ifTrue:[] ifFalse:[]` instead. #? is not supported
in Squeak/Pharo
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 18 Jun 2015 22:11:40 +0100] rev 498
Moved PPCMappedActionNode to category PetitCompiler-Nodes
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 18 Jun 2015 22:05:13 +0100] rev 497
Do not use RBProgramNode>>variableNodesDo: as this method is not present in Pharo.
Use local helper method instead.
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 18 Jun 2015 21:20:15 +0100] rev 496
Reverted fc3dbe5654c5: sending #copy should be OK (copy set's parent properly)
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 18 Jun 2015 06:40:15 +0100] rev 495
Send #sourceNode instead of #ast as there's no #ast in Pharo
...I was mistaken.
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 18 Jun 2015 06:07:40 +0100] rev 494
Oops, removed EOL comments as they;re not supported in Squeak / Pharo
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 17 Jun 2015 17:10:54 +0100] rev 493
Fixed target mcz - exit Smalltalk after all packages are exported.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 17 Jun 2015 16:49:28 +0100] rev 492
Use #deepCopy instead of #copy when copying RB parse tree
...because #copy make a copy if child nodes but does not set their parents properly.
Therefore node replacing does not work because it replaces it in wrong tree (original,
not the copy).
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 16 Jun 2015 07:49:21 +0100] rev 491
Codegen: added support for smart action node compiling.
Avoid creation of intermediate result collection for action nodes if all references
to action block's argument (i.e., the nodes collection) is in form of:
* <nodes> at: <numeric constant>
* <nodes> first (second, third...
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 16 Jun 2015 06:54:14 +0100] rev 490
Oops, renamed testMappedNode3/4/5 to testActionNode3/4/5 which is the correct name!
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 16 Jun 2015 06:45:26 +0100] rev 489
Fix in codegen for inlined sequence nodes.
For inlined sequence nodes, generate nested ifs rather than sequential code which
does not work when inlined. The reason is that #codeReturn: in inline generates
instvar assignment, not method return, so in sequential code the next child of a sequence
will be probed even if previous failed. If that happends, the whole sequence fail and therefore
we must generate nested ifs to correctly handle this w.r.t. inlining.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 15 Jun 2015 19:13:49 +0100] rev 488
Avoid creation of intermediate collection for mapped action nodes.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 15 Jun 2015 18:00:44 +0100] rev 487
Fix in codegen: fixed compilation of unknown node: do not hardcode return variable name
...use `self retvalVar` instead
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 15 Jun 2015 17:47:38 +0100] rev 486
Renamed #codeStoreValueOf:intoVariable: to #codeAssignParsedValueOf:to:
to use same naming as #codeAssign:to:
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 15 Jun 2015 17:12:54 +0100] rev 485
Fixed codegen for empty (mapped) action block.
Although empty blocks are useless in practice, they may occur (and do occur in tests)
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 05 Jun 2015 00:05:08 +0100] rev 484
Do not create intermediate collection when parsing sequence if not necesary.
The collection is not needed when the result of a choice is being used in mapped parser.
In that case, store parsed objects in variables and inline action code to use these variables
to access parsed objects.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 03 Jun 2015 09:06:49 +0100] rev 483
Oops, fixed subproject definition (wrong package names)
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 03 Jun 2015 08:48:59 +0100] rev 482
Updated .mcz exporting code to include a commit message digest
...instead of just exported revision commit message.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 03 Jun 2015 06:23:49 +0100] rev 481
Introduced PPCMappedActionNode for PPMappedActionParser.
It's compilation is not yet ideal, bot works for now.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 02 Jun 2015 17:25:57 +0100] rev 480
Introduced PPMappedActionParser, a specialized parser for map:ped actions.
In order to compile nicer code, compiler has to be able to tell between
simple (==>) action parser and mapped (map:) action parser.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 02 Jun 2015 00:16:55 +0100] rev 479
Action inlining [1/x]: Initial support for inlining actions parsers (i.e., ==>)
The code of the action is now inlined into parsing method rather then delegated to
stored block. Mapping parser (i.e., map:[...]) are not supported and not detected, so
using them cause crash. This will be fixed later.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 01 Jun 2015 23:15:52 +0100] rev 478
Codegen refactoring [2/x]: Added PPCCompiler>>codeIf:then:else:
this allows for more structured coding of conditionals. then/else code is evaluated
inside new block so it may allocate its own temporaries.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 01 Jun 2015 22:02:17 +0100] rev 477
Codegen refactoring [1/x]: Introduced a PPCCodeBlock
A PPCCodeBlock is an abstraction of a block of statements with temporaries. This will
allow for scoped temporary management in code generator - temporary variables could
be allocated for block only. (i.e., make them block-temporaries)
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 29 May 2015 07:25:31 +0100] rev 476
Fixed choice inlining.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 27 May 2015 08:37:09 +0100] rev 475
Add inspector tab to present parser tree.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 27 May 2015 03:30:35 +0100] rev 474
More fixes for inlining of nodes
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 26 May 2015 07:27:15 +0100] rev 473
Oops, merged code which contained Pharoism's
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 25 May 2015 02:49:22 +0100] rev 472
Avoid using of a bridge parser for top-most composite parser
...by converting PPCompositeParser to PPCDelegatePrser.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 22 May 2015 18:08:30 +0100] rev 471
Added two more tests for inlining
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 22 May 2015 17:06:30 +0100] rev 470
Added inspector representation to show PPC node tree.
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 21 May 2015 17:19:17 +0100] rev 469
Oops. re-added classes lost during merge...
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 21 May 2015 15:49:26 +0100] rev 468
Indent by 4 spaces on Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 21 May 2015 15:35:26 +0100] rev 467
Fixed code generation for deterministic choice w.r.t inlining
For PPCDeterministicChoiceNode generate code in form
if ()
else if ()
else if ()
else error
instead of sequence of ifs. The former is safe w.r.t inlining.
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 21 May 2015 14:43:38 +0100] rev 466
Fixed MNU in PPCSpecializingVisitor>>visitTrimmingTokenNode: node
Set child of PPCTrimmingCharacterTokenNode before setting name
as child is used to compute meaningful name.
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 21 May 2015 14:35:34 +0100] rev 465
Merge
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 21 May 2015 14:12:22 +0100] rev 464
Updated to PetitCompiler-JanKurs.118, PetitCompiler-Tests-JanKurs.46, PetitCompiler-Extras-Tests-JanKurs.11, and PetitCompiler-Benchmarks-JanKurs.11
Name: PetitCompiler-JanKurs.118
Author: JanKurs
Time: 13-05-2015, 03:59:01.292 PM
UUID: 4a8ccd94-3131-4cc7-9098-528f8e5ea0b5
Name: PetitCompiler-Tests-JanKurs.46
Author: JanKurs
Time: 04-05-2015, 04:25:06.162 PM
UUID: 9f4cf8b7-876e-4a13-9579-b833f016db66
Name: PetitCompiler-Extras-Tests-JanKurs.11
Author: JanKurs
Time: 13-05-2015, 04:27:27.940 PM
UUID: e9f30c31-fbd0-4e96-ad2a-868f88d20ea8
Name: PetitCompiler-Benchmarks-JanKurs.11
Author: JanKurs
Time: 13-05-2015, 02:21:49.932 PM
UUID: 6a23fd1e-a86f-46db-8221-cc41b778d32c
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 20 May 2015 16:47:52 +0100] rev 463
Small improvement in inlining: inline child of an action node.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 16 May 2015 19:21:00 +0100] rev 462
Added benchmark of a smalltalk parser with empty actions.
This is used to check the cost of compiled actions
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 12 May 2015 01:57:37 +0100] rev 461
Portability: fixes for Smalltalk/X
* Do not use #crShow: - not present in Smalltalk/X
* Do not use Array class>>with:withAll:
* do not use detect:ifFound:ifAbsent:
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 12 May 2015 01:33:33 +0100] rev 460
Merge
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 12 May 2015 01:24:03 +0100] rev 459
Merged with PetitCompiler-JanKurs.20150510144201, PetitCompiler-Tests-JanKurs.20150510144201, PetitCompiler-Extras-Tests-JanKurs.20150510144201, PetitCompiler-Benchmarks-JanKurs.20150510144201
Name: PetitCompiler-JanKurs.20150510144201
Author: JanKurs
Time: 10-05-2015, 04:42:29.192 PM
UUID: 58a4786b-1182-4904-8b44-a13d3918f244
Name: PetitCompiler-Tests-JanKurs.20150510144201
Author: JanKurs
Time: 10-05-2015, 04:32:12.870 PM
UUID: 2a8fd41a-331b-4dcf-a7a3-752a50ce86e7
Name: PetitCompiler-Extras-Tests-JanKurs.20150510144201
Author: JanKurs
Time: 10-05-2015, 04:59:25.308 PM
UUID: ef43bd1a-be60-4e88-b749-8b635622c969
Name: PetitCompiler-Benchmarks-JanKurs.20150510144201
Author: JanKurs
Time: 10-05-2015, 05:04:54.561 PM
UUID: d8e764fd-016b-46e2-9fc1-17c38c18f0e5
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 11 May 2015 18:31:26 +0100] rev 458
Added lost method PPCBenchmark>>teardownSmalltalkGrammarTokenized
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 11 May 2015 18:29:13 +0100] rev 457
Oops, merged lost Smalltalk/X compatibility fixes (again)
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 11 May 2015 12:19:13 +0100] rev 456
Oops, fixed sub project definition (causing endless recursion during build)
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 10 May 2015 14:42:14 +0100] rev 455
Added .../parsers/java and .../compiler/tests/extras to exported .mczs
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 10 May 2015 14:20:24 +0100] rev 454
Portability: fixes for Smalltalk/X
* Do not use detect:ifFound: - not present in Smalltalk/X
* Removed leftover debugging code (Halt if:, ...)
* Do not use `aClass methods`, use `aClass methodDictionary values`
* Do not use #allPairsDo; - not present in Smalltalk/X
* Do not use #crShow: - not present in Smalltalk/X
* On Smalltalk?X use Filename - there's no FileReference in Smalltalk/X
* Do not use CharacterSet, use String
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 10 May 2015 06:46:56 +0100] rev 453
Merge
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 10 May 2015 06:28:36 +0100] rev 452
Updated to PetitCompiler-JanKurs.111, PetitCompiler-Tests-JanKurs.51, PetitCompiler-Benchmarks-JanKurs.7, added PetitCompiler-Extras-Tests-JanKurs.4
Name: PetitCompiler-JanKurs.111
Author: JanKurs
Time: 08-05-2015, 05:56:05.327 PM
UUID: 8805e696-9933-49b8-a5c8-a963b931b996
Name: PetitCompiler-Tests-JanKurs.51
Author: JanKurs
Time: 08-05-2015, 05:17:44.224 PM
UUID: 21c24114-73be-4ba2-86cd-5a4402f778a0
Name: PetitCompiler-Benchmarks-JanKurs.7
Author: JanKurs
Time: 07-05-2015, 06:06:12.918 PM
UUID: 0e6e2c0a-90f6-4f46-9663-c66f636da602
Name: PetitCompiler-Extras-Tests-JanKurs.4
Author: JanKurs
Time: 08-05-2015, 05:56:46.180 PM
UUID: 4d4d4d23-c5bc-41ef-ad41-8a56528ddb42
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 05 May 2015 16:25:23 +0200] rev 451
Portability: fixes for Smalltalk/X
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 05 May 2015 15:07:56 +0200] rev 450
Oops, merged lost Smalltalk/X compatibility fixes
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 05 May 2015 15:07:19 +0200] rev 449
Avoid using (obsolete) PPCMethod>>addVariable:, use allocateTemporaryVariableNamed: instead.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 02 May 2015 07:03:07 +0200] rev 448
Made PPCMethod>>addVariable: obsolete.
Use #allocateTemporaryVariableNamed: instead.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 02 May 2015 07:00:39 +0200] rev 447
Removed tests from compiled packages to workaround bug in stc.
stc does not compile { computed arrays } properly in all cases,
resulting in messages being send to wrong objects.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 02 May 2015 06:18:36 +0200] rev 446
Portability: use `aClass methodDictionary values` instead of `aClass methods`
as on Smalltalk/X. Class>>methods retruns method reader to support filein of various
chunk formats.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 01 May 2015 14:39:47 +0200] rev 445
Portability: Inlined #asLegalSelector since Smalltalk/X does not support it
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 01 May 2015 14:34:58 +0200] rev 444
Portability: Use `self skipIf:description:` on Smalltalk/X instead of `self skip:`
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 02 May 2015 06:29:04 +0200] rev 443
Portability: do not use Transcript>>crShow:
...use Transcript show: '...'; cr. which is more portable.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 01 May 2015 14:04:37 +0200] rev 442
Merge
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 01 May 2015 13:44:43 +0200] rev 441
Makefiles updated so compiler and all it's dependencies are build automatically
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 01 May 2015 13:03:50 +0200] rev 440
Syntax fix for Smalltalk/X - stc does not allow for empty statements.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 21 Apr 2015 17:30:40 +0100] rev 439
Fixes for Smalltalk/X:
* do not use Squeakism CharacterSet, use plain old String instead for portability reasons.
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 30 Apr 2015 23:43:14 +0200] rev 438
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Name: PetitCompiler-JanKurs.100
Author: JanKurs
Time: 30-04-2015, 10:48:52.165 AM
UUID: 80196870-5921-46d9-ac20-a43bf5c2f3c2
Name: PetitCompiler-Tests-JanKurs.44
Author: JanKurs
Time: 30-04-2015, 10:49:22.489 AM
UUID: 348c02e8-18ce-48f6-885d-fcff4516a298
Name: PetitCompiler-Benchmarks-JanKurs.4
Author: JanKurs
Time: 30-04-2015, 10:58:44.890 AM
UUID: 18cadb42-f9ef-45fb-82e9-8469ade56c8b
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 21 Apr 2015 17:20:11 +0100] rev 437
A super ugly hack to fix line endings in Java comments.
All three - CR, CR-LF and LF - should be supported.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 21 Apr 2015 17:06:24 +0100] rev 436
Fixes for Smalltalk/X
* Do not use Character class>>#cr /#lf as semantics of this method differ in Smalltalk/X and Squeak.
Use Character class>>#codePoint: instead
* Do not use Squeakism Dictionary >> #keysSortedSafely - there is no need for this as
all keys are strings.
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 21 Apr 2015 14:57:16 +0100] rev 435
Initial commit of PetitJava
Name: PetitJava-JanKurs.160
Author: JanKurs
Time: 19-12-2014, 01:00:18.354 PM
UUID: 1cb1b46d-8c68-4751-9720-f0dd742f3e16
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 20 Apr 2015 18:06:31 +0100] rev 434
Bugfix: in teardown, do not remove parser if it has not been compiled.
This leads to `Smalltalk removeClass: UndefinedObject` which is not
good idea.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 20 Apr 2015 13:24:27 +0100] rev 433
Skip Java benchmarks on Smalltalk/X
...as Java parser is not yet supported.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 20 Apr 2015 11:23:20 +0100] rev 432
PPCBenchmarkResource updated to work on Smalltalk/X
...as API of FileReference and Filename differ.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 19 Apr 2015 22:28:48 +0100] rev 431
Make block passed to at:ifPresent: to accept one argument
...as St/X requires it,
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 19 Apr 2015 22:25:38 +0100] rev 430
Added dependencies on petitparser/analyzer and petitparser/islands
...as compiler makes use of some of their extension methods.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 15 Apr 2015 05:22:53 +0100] rev 429
Tell stc to NOT to inline #not as it has different meaning in PetitParser...
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 14 Apr 2015 07:40:53 +0100] rev 428
Compilation fixed, removed obsolete methods
...to make it in sync with:
Name: PetitCompiler-JanKurs.71
Author: JanKurs
Time: 18-11-2014, 09:48:35.425 AM
UUID: 06352c33-3c76-4382-8536-0cc48e225117
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 13 Apr 2015 22:00:44 +0100] rev 427
Merged JK's version from Monticello
Name: PetitParser-JanKurs.275
Author: JanKurs
Time: 31-03-2015, 05:51:24.398 PM
UUID: 9ab3be24-8393-4794-a7e6-e318f3195673
Name: PetitTests-JanKurs.73
Author: JanKurs
Time: 21-02-2015, 01:10:13.115 PM
UUID: de4f77e3-2d07-476b-855e-69f845edfc7c
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 13 Apr 2015 14:19:55 +0100] rev 426
Tell stc to NOT to inline #not as it has different meaning in PetitParser...
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 13 Apr 2015 14:16:24 +0100] rev 425
Fixed dependencies (requires stx/goodies/petitparser/tests to load properly)
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 24 Nov 2014 21:44:56 +0000] rev 424
Post merge fixes to make tests pass.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 24 Nov 2014 11:38:11 +0000] rev 423
Added benchmark package to set of exported .mcz
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 15 Apr 2015 11:28:09 +0100] rev 422
To fold
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 24 Nov 2014 00:09:23 +0000] rev 421
Merged JK's version from Monticello
Name: PetitParser-JanKurs.260
Author: JanKurs
Time: 17-11-2014, 12:09:05.490 PM
UUID: 07411cef-ef69-40db-9d93-d4018a9b34ef
Name: PetitTests-JanKurs.65
Author: JanKurs
Time: 17-11-2014, 12:09:04.530 PM
UUID: f98d613f-f4ce-4e0e-a7e9-310ee7c7e7a6
Name: PetitSmalltalk-JanKurs.78
Author: JanKurs
Time: 14-11-2014, 05:05:07.765 PM
UUID: 3d68330d-44d5-46c3-9705-97f627b3edbc
Name: PetitCompiler-JanKurs.71
Author: JanKurs
Time: 18-11-2014, 09:48:35.425 AM
UUID: 06352c33-3c76-4382-8536-0cc48e225117
Name: PetitCompiler-Tests-JanKurs.21
Author: JanKurs
Time: 17-11-2014, 05:51:53.134 PM
UUID: 8d6c0799-14e7-4871-8d91-8b0f9886db83
Name: PetitCompiler-Benchmarks-JanKurs.2
Author: JanKurs
Time: 17-11-2014, 05:51:07.887 PM
UUID: d5e3a980-7871-487a-a232-e3ca93fc2483
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 19 Nov 2014 10:52:37 +0000] rev 420
Moved benchmarks to a separate package
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 08 Nov 2014 02:08:45 +0000] rev 419
Commented JK's debugging code.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 08 Nov 2014 01:03:21 +0000] rev 418
Minor fixes in tests for Smalltalk/X
* Do now show `Transcript crShow: '...'` but more portable `Transcript show:'...'; cr`
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 07 Nov 2014 02:14:26 +0000] rev 417
Smalltalk grammar updated to allow for Smalltalk/X EOL comments
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 06 Nov 2014 02:22:56 +0000] rev 416
Do not try to inline PPCPluggableNode on Smalltalk/X
Sadly, on Smalltalk/X blocks cannot be inlined because
the VM does not provide enough information to map it back
to the source code. Very bad indeed!
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 06 Nov 2014 01:41:10 +0000] rev 415
Compatibility fixes:
* do not use 'class methods size', use 'class methodDictionary size'
* do not use 'class methods do:', use 'class methodDo:'
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 05 Nov 2014 23:05:19 +0000] rev 414
Merged JK's work on PetitCompiler
Name: PetitCompiler-JanKurs.57
Author: JanKurs
Time: 05-11-2014, 05:10:47 AM
UUID: 4c625efe-77fd-465d-bd63-72ead0b5d3ba
Name: PetitCompiler-Tests-JanVrany.13
Author: JanVrany
Time: 05-11-2014, 09:31:07 AM
UUID: 189ae287-6bc1-40ba-8458-b8392c4260a0
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 05 Nov 2014 21:40:01 +0000] rev 413
Classes renamed to ease following merge wirh Pharo version.
* PetitBenchmark renamed to PPCBenchmark
* PetitBenchmarkSources renamed to PPCBenchmarkResources
* PetitCompilerTest renamed to PPCCompilerTest
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 03 Nov 2014 20:28:27 +0000] rev 412
Fixed mcz make target.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 03 Nov 2014 19:42:31 +0000] rev 411
Removed PPTrimmingParser>>trim
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 03 Nov 2014 12:46:42 +0000] rev 410
Portability fixes in PPPredicateTest>>charactersDo: / parsedCharacterSet:
* It is my understanding that charactersDo: should iterate over all signle byte
characters. If so, the method suffer from off-by-one error, it should generate
characters with code points 0..255. 256 is actually a two-byte character.
Method changed accordingly.
* Use Character>>asString instead of `String>>with:` which is safer
w.r.t. multi-byte characters. Under Smalltalk/X, String may contain only
signle byte characters.
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 03 Nov 2014 11:33:28 +0000] rev 409
Removed weird PPExtensionTest>>testOrdered
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 03 Nov 2014 12:47:37 +0000] rev 408
Removed obsolete Character>>ppMinus:
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 03 Nov 2014 11:30:59 +0000] rev 407
Removed unused / obsolete methods from PPToken
* remove PPToken class>>on:start:stop
* remove PPToken>>initializeOn:start:stop
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 03 Nov 2014 11:28:44 +0000] rev 406
Removed PPRepeatingParser>>parseOn: - class is now abstract
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 03 Nov 2014 09:10:56 +0000] rev 405
Merged PetitParser and PetitTests
Name: PetitParser-JanKurs.253
Author: JanKurs
Time: 30-10-2014, 03:55:46 AM
UUID: c7100f9c-e875-4453-8f26-e0c91dd49b91
Name: PetitTests-JanKurs.63
Author: JanKurs
Time: 30-10-2014, 12:54:37 PM
UUID: 7afbeef7-eadf-4d65-bce5-7204e2727edb
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 01 Nov 2014 00:34:30 +0000] rev 404
Removed class PPAbstractParseTest.
It was a duplicate of PPAbstractParserTest.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 01 Nov 2014 00:30:28 +0000] rev 403
Removed autoload attribut for tests.
As all classes are in a test package, when package is loaded likely tests are required,
so load them right away.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 01 Nov 2014 00:12:10 +0000] rev 402
Reverted back change from `assert: x equals: y` to assert: (x = u).
Actually, even Smalltalk/X SUnit has assert:equals:
Jan Vrany <jan.vrany@fit.cvut.cz> [Thu, 30 Oct 2014 23:52:47 +0000] rev 401
Portability fix: do not use Behaviour>>methods.
On Smalltalk/X it returns a category reader (in order to be able to read Dolphin fileouts):
* use`class methodsDo:` instead of `class methods do:`
* use `class methodDictionary size` instead of `class methods size`
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)
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 26 Oct 2014 01:06:11 +0100] rev 390
Updated to PetitSmalltalk-JanKurs.75
Author: JanKurs
Time: 13-10-2014, 05:00:14 AM
UUID: 6254f8f7-aa47-4ddd-a373-167bccb0d4e5
Ancestors:
Smalltalk token decomposed into the PEG expression
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 14 Oct 2014 23:16:37 +0100] rev 389
Updated smalltalk parser to PetitSmalltalk-JanKurs.75
Name: PetitSmalltalk-JanKurs.75
Author: JanKurs
Time: 13-10-2014, 05:00:14 AM
UUID: 6254f8f7-aa47-4ddd-a373-167bccb0d4e5
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 08 Oct 2014 21:56:20 +0100] rev 388
Workaround to fix PPComposedTest>>testLeftRecursion - make PPStream>>size returning size of the input.
For whatever reason, in Smalltalk/X ReadStream>>size returns size remaning data, not
the size of a whole stream. This is a bug and should be fixed in Smalltalk/X libbasic. Meanwhile,
override PPStream>>size to return proper value. In Pharo, the method is not needed as the inherited
method is exactly the same.
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 08 Oct 2014 00:33:44 +0100] rev 387
Commited a island parser support (MC package PetitIslands)
Name: PetitIslands-JanKurs.10
Author: JanKurs
Time: 06-10-2014, 11:50:57 AM
UUID: 19560ad2-4899-43d5-8c69-cf7274ad4f04
Repository: http://smalltalkhub.com/mc/Moose/PetitParser/main
Jan Vrany <jan.vrany@fit.cvut.cz> [Wed, 08 Oct 2014 00:08:21 +0100] rev 386
Smalltalk parser almost fixed (except few pragma-related tests).
Code is bit ugly sometimes....
Jan Vrany <jan.vrany@fit.cvut.cz> [Tue, 07 Oct 2014 09:42:03 +0100] rev 385
Commited a Smalltalk parser (MC package PetitSmalltalk)
Name: PetitSmalltalk-JanKurs.71
Author: JanKurs
Time: 19-08-2014, 02:18:05 AM
UUID: d1d11836-f3e2-4709-abd3-e2ff3b72d7c4
Repository: http://smalltalkhub.com/mc/Moose/PetitParser/main
Ancestors:
Fixes to be compatible with PPContext
Jan Vrany <jan.vrany@fit.cvut.cz> [Mon, 06 Oct 2014 19:18:20 +0100] rev 384
Fixed stx_goodies_petitparser_analyzer class>>testSuite
Return testsuite from stx:goodies/petitparser/analyzer/tests.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 04 Oct 2014 23:34:14 +0100] rev 383
Removed leftover Smalltalk/X-ism: end-of-line comments.
Not supported by Pharo.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 05 Oct 2014 00:29:07 +0100] rev 382
Added target `mcz` to export .mcz package out of Smalltalk/X package.
Jan Vrany <jan.vrany@fit.cvut.cz> [Sat, 04 Oct 2014 21:26:15 +0100] rev 381
`PPParser>>allParsers`, `allParsersDo:(seen:)` moved to base PetitParser package.
The method #allParsersDo: is actually used used by PPContext>>initializeFor: therefore
it has to be in the package stx:goodies/petitparser (MC package PetitParser) and _NOT_
in stx:goodies/petitparser/analyzer (MC package PetitAnalyzer)
Jan Vrany <jan.vrany@fit.cvut.cz> [Sun, 05 Oct 2014 00:05:20 +0100] rev 380
Remove Pharoisms to make code more portable and running on Smalltalk/X
* Use ANSI `(Character codePoint: 13)` (`10`) instead of `Character cr` (`lf`), This is more portable
and does not depend on dialects interpretation of `#cr` - Smalltalk/X convert it according to
platform line end convention (UNIX/Windows/Mac)
* Do not assume exact value of a printstring in tests, i.e., instead of
`msg includesSubstring: '$a'
code
`msg includesSubstring: $a printString.
This way, the test is independent on the printString value, which may differ among dialects.
Q: Is printString value of String and/or Character defined in ANSI?
* In assestions, instead of `#equals:` use plain old `#=`, which is more portable.
* Removed Character>>- used to create range parser. Use portable `(Interval from: $a to: $z) asParser`
instead of just `$a - $z`. Do not use ($a to: $z) asParser as in Pharo, Character>>to:
does not create an Interval but an Array (sigh).
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 03 Oct 2014 03:11:33 +0100] rev 379
Some tests fixed.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 03 Oct 2014 02:45:16 +0100] rev 378
Merged in latest version from Moose repository
Name: PetitAnalyzer-DiegoLont.46
Author: DiegoLont
Time: 02-09-2013, 12:37:58 PM
UUID: 89f155fa-89b4-4bb7-b76e-0f8485be4a56
Repository: http://smalltalkhub.com/mc/Moose/PetitParser/main
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 03 Oct 2014 02:33:08 +0100] rev 377
Updated to latest version from Moose repository.
Name: PetitParser-JanKurs.250
Author: JanKurs
Time: 01-10-2014, 04:44:04 AM
UUID: c46eea20-51a0-4deb-8fd5-8cb99810a8b4
Repository: http://smalltalkhub.com/mc/Moose/PetitParser/main
Name: PetitTests-JanKurs.60
Author: JanKurs
Time: 29-09-2014, 11:48:10 AM
UUID: 28fd2e65-c287-4f73-b71e-5b6bb25bebaa
Repository: http://smalltalkhub.com/mc/Moose/PetitParser/main
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 03 Oct 2014 01:59:10 +0100] rev 376
Added monticelloName to package definition to ease export to .mcz
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 03 Oct 2014 01:36:33 +0100] rev 375
All tests moved from stx:goodies/petitparser to stx:goodies/petitparser/tests
..,to conform package layout standards.