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.
Jan Vrany <jan.vrany@fit.cvut.cz> [Fri, 03 Oct 2014 00:52:34 +0100] rev 374
Added tag exept_cvs_2014_10_03 for changeset c286737f38a7
Claus Gittinger <cg@exept.de> [Sat, 21 Feb 2015 13:36:32 +0100] rev 373
class: stx_goodies_petitparser
comment/format in: #documentation
convert-repo [Tue, 10 Feb 2015 05:04:45 +0000] rev 372
update tags
Claus Gittinger <cg@exept.de> [Mon, 09 Feb 2015 15:15:28 +0100] rev 371
class: stx_goodies_petitparser
added: #documentation