author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Mon, 27 Jul 2015 10:21:41 +0100 | |
changeset 505 | 19d830b74322 |
parent 503 | ff58cd9f1f3c |
child 516 | 3b81c9e53352 |
permissions | -rw-r--r-- |
391
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
"{ Package: 'stx:goodies/petitparser/compiler' }" |
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
|
422 | 3 |
"{ NameSpace: Smalltalk }" |
4 |
||
391
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
PPCMethod subclass:#PPCInlinedMethod |
438
20598d7ce9fa
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
422
diff
changeset
|
6 |
instanceVariableNames:'' |
391
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
classVariableNames:'' |
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
poolDictionaries:'' |
502
1e45d3c96ec5
Updated to PetitCompiler-JanVrany.135, PetitCompiler-Tests-JanKurs.93, PetitCompiler-Extras-Tests-JanVrany.16, PetitCompiler-Benchmarks-JanKurs.12
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
452
diff
changeset
|
9 |
category:'PetitCompiler-Compiler-Codegen' |
391
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
! |
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
|
481
34ee0d3c72e7
Introduced PPCMappedActionNode for PPMappedActionParser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
477
diff
changeset
|
12 |
|
391
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
!PPCInlinedMethod methodsFor:'as yet unclassified'! |
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
|
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
call |
505
19d830b74322
Post-merge fixes. PPCCodeBlock refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
503
diff
changeset
|
16 |
^ self source |
391
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
|
505
19d830b74322
Post-merge fixes. PPCCodeBlock refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
503
diff
changeset
|
18 |
"Modified: / 24-07-2015 / 19:45:13 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
438
20598d7ce9fa
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
422
diff
changeset
|
19 |
! |
20598d7ce9fa
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
422
diff
changeset
|
20 |
|
20598d7ce9fa
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
422
diff
changeset
|
21 |
isInline |
452
9f4558b3be66
Updated to PetitCompiler-JanKurs.111, PetitCompiler-Tests-JanKurs.51, PetitCompiler-Benchmarks-JanKurs.7, added PetitCompiler-Extras-Tests-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
438
diff
changeset
|
22 |
^ true |
505
19d830b74322
Post-merge fixes. PPCCodeBlock refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
503
diff
changeset
|
23 |
! |
19d830b74322
Post-merge fixes. PPCCodeBlock refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
503
diff
changeset
|
24 |
|
19d830b74322
Post-merge fixes. PPCCodeBlock refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
503
diff
changeset
|
25 |
source |
19d830b74322
Post-merge fixes. PPCCodeBlock refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
503
diff
changeset
|
26 |
^ source isString ifTrue:[ |
19d830b74322
Post-merge fixes. PPCCodeBlock refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
503
diff
changeset
|
27 |
source |
19d830b74322
Post-merge fixes. PPCCodeBlock refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
503
diff
changeset
|
28 |
] ifFalse:[ |
19d830b74322
Post-merge fixes. PPCCodeBlock refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
503
diff
changeset
|
29 |
(String streamContents:[:s | source sourceOn:s ]) trimRight |
19d830b74322
Post-merge fixes. PPCCodeBlock refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
503
diff
changeset
|
30 |
]. |
19d830b74322
Post-merge fixes. PPCCodeBlock refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
503
diff
changeset
|
31 |
|
19d830b74322
Post-merge fixes. PPCCodeBlock refactoring.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
503
diff
changeset
|
32 |
"Created: / 24-07-2015 / 19:46:24 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
391
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
! ! |
553a5456963b
Ported PetitCompiler-(Tests).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
|
438
20598d7ce9fa
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
422
diff
changeset
|
35 |
!PPCInlinedMethod methodsFor:'code generation - variables'! |
20598d7ce9fa
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
422
diff
changeset
|
36 |
|
502
1e45d3c96ec5
Updated to PetitCompiler-JanVrany.135, PetitCompiler-Tests-JanKurs.93, PetitCompiler-Extras-Tests-JanVrany.16, PetitCompiler-Benchmarks-JanKurs.12
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
452
diff
changeset
|
37 |
allocateReturnVariableNamed: name |
1e45d3c96ec5
Updated to PetitCompiler-JanVrany.135, PetitCompiler-Tests-JanKurs.93, PetitCompiler-Extras-Tests-JanVrany.16, PetitCompiler-Benchmarks-JanKurs.12
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
452
diff
changeset
|
38 |
self error: 'return variable must be assigned by the non-inlined method....' |
1e45d3c96ec5
Updated to PetitCompiler-JanVrany.135, PetitCompiler-Tests-JanKurs.93, PetitCompiler-Extras-Tests-JanVrany.16, PetitCompiler-Benchmarks-JanKurs.12
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
452
diff
changeset
|
39 |
|
1e45d3c96ec5
Updated to PetitCompiler-JanVrany.135, PetitCompiler-Tests-JanKurs.93, PetitCompiler-Extras-Tests-JanVrany.16, PetitCompiler-Benchmarks-JanKurs.12
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
452
diff
changeset
|
40 |
"Created: / 15-06-2015 / 17:52:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1e45d3c96ec5
Updated to PetitCompiler-JanVrany.135, PetitCompiler-Tests-JanKurs.93, PetitCompiler-Extras-Tests-JanVrany.16, PetitCompiler-Benchmarks-JanKurs.12
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
452
diff
changeset
|
41 |
! |
1e45d3c96ec5
Updated to PetitCompiler-JanVrany.135, PetitCompiler-Tests-JanKurs.93, PetitCompiler-Extras-Tests-JanVrany.16, PetitCompiler-Benchmarks-JanKurs.12
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
452
diff
changeset
|
42 |
|
438
20598d7ce9fa
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
422
diff
changeset
|
43 |
allocateTemporaryVariableNamed:aString |
452
9f4558b3be66
Updated to PetitCompiler-JanKurs.111, PetitCompiler-Tests-JanKurs.51, PetitCompiler-Benchmarks-JanKurs.7, added PetitCompiler-Extras-Tests-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
438
diff
changeset
|
44 |
self error: 'sorry, I can''t allocate variables....' |
438
20598d7ce9fa
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
422
diff
changeset
|
45 |
|
20598d7ce9fa
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
422
diff
changeset
|
46 |
"Created: / 23-04-2015 / 21:06:12 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
20598d7ce9fa
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
422
diff
changeset
|
47 |
! ! |
20598d7ce9fa
Updated to PetitCompiler-JanKurs.100, PetitCompiler-Tests-JanKurs.44 and PetitCompiler-Benchmarks-JanKurs.4
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
422
diff
changeset
|
48 |
|
481
34ee0d3c72e7
Introduced PPCMappedActionNode for PPMappedActionParser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
477
diff
changeset
|
49 |
!PPCInlinedMethod class methodsFor:'documentation'! |
34ee0d3c72e7
Introduced PPCMappedActionNode for PPMappedActionParser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
477
diff
changeset
|
50 |
|
34ee0d3c72e7
Introduced PPCMappedActionNode for PPMappedActionParser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
477
diff
changeset
|
51 |
version_HG |
34ee0d3c72e7
Introduced PPCMappedActionNode for PPMappedActionParser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
477
diff
changeset
|
52 |
|
34ee0d3c72e7
Introduced PPCMappedActionNode for PPMappedActionParser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
477
diff
changeset
|
53 |
^ '$Changeset: <not expanded> $' |
34ee0d3c72e7
Introduced PPCMappedActionNode for PPMappedActionParser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
477
diff
changeset
|
54 |
! ! |
34ee0d3c72e7
Introduced PPCMappedActionNode for PPMappedActionParser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
477
diff
changeset
|
55 |