author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Mon, 28 Sep 2015 14:39:57 +0100 | |
changeset 20 | 2f28df70181a |
parent 17 | ee807ff2f897 |
permissions | -rw-r--r-- |
16
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
1 |
" |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
2 |
Copyright (C) 2015-now Jan Vrany |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
3 |
|
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
4 |
This code is not an open-source (yet). You may use this code |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
5 |
for your own experiments and projects, given that: |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
6 |
|
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
7 |
* all modification to the code will be sent to the |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
8 |
original author for inclusion in future releases |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
9 |
* this is not used in any commercial software |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
10 |
|
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
11 |
This license is provisional and may (will) change in |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
12 |
a future. |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
13 |
" |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
"{ Package: 'jv:tea/compiler' }" |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
"{ NameSpace: Smalltalk }" |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
LibraryDefinition subclass:#jv_tea_compiler |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
instanceVariableNames:'' |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
classVariableNames:'' |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
poolDictionaries:'' |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
category:'* Projects & Packages *' |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
|
16
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
25 |
!jv_tea_compiler class methodsFor:'documentation'! |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
26 |
|
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
27 |
copyright |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
28 |
" |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
29 |
Copyright (C) 2015-now Jan Vrany |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
30 |
|
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
31 |
This code is not an open-source (yet). You may use this code |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
32 |
for your own experiments and projects, given that: |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
33 |
|
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
34 |
* all modification to the code will be sent to the |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
35 |
original author for inclusion in future releases |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
36 |
* this is not used in any commercial software |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
37 |
|
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
38 |
This license is provisional and may (will) change in |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
39 |
a future. |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
40 |
" |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
41 |
! ! |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
!jv_tea_compiler class methodsFor:'description'! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
excludedFromPreRequisites |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
"list packages which are to be explicitely excluded from the automatic constructed |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
prerequisites list. If empty, everything that is found along the inheritance of any of |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
my classes is considered to be a prerequisite package." |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
^ #( |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
) |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
mandatoryPreRequisites |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
"list packages which are mandatory as a prerequisite. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
This are packages containing superclasses of my classes and classes which |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
are extended by myself. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
They are mandatory, because we need these packages as a prerequisite for loading and compiling. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
This method is generated automatically, |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
by searching along the inheritance chain of all of my classes." |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
^ #( |
16
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
63 |
#'jv:llvm_s' "LLVMAtomicOrdering - shared pool used by TLLVMCodeGenerator" |
15
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
64 |
#'stx:goodies/refactoryBrowser/parser' "RBAssignmentNode - extended" |
8
eec72263ed75
Introduced TEnvironment, a container object that keeps all (class) definition requiref for a compilation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
65 |
#'stx:goodies/ring' "RGAbstractContainer - superclass of TCompilationUnitDefinition" |
16
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
66 |
#'stx:libbasic' "Error - superclass of TCompilerError" |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
) |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
referencedPreRequisites |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
"list packages which are a prerequisite, because they contain |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
classes which are referenced by my classes. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
We do not need these packages as a prerequisite for compiling or loading, |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
however, a class from it may be referenced during execution and having it |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
unloaded then may lead to a runtime doesNotUnderstand error, unless the caller |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
includes explicit checks for the package being present. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
This method is generated automatically, |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
by searching all classes (and their packages) which are referenced by my classes." |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
^ #( |
5
976f21e29d37
Added TSourceReader to allow reading source files. Initial work on T environment...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
81 |
#'stx:libbasic3' "ChangeSet - referenced by TSourceReader>>read:" |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
) |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
subProjects |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
"list packages which are known as subprojects. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
The generated makefile will enter those and make there as well. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
However: they are not forced to be loaded when a package is loaded; |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
for those, redefine requiredPrerequisites." |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
^ #( |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
) |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
! ! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
!jv_tea_compiler class methodsFor:'description - contents'! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
classNamesAndAttributes |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
"lists the classes which are to be included in the project. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
Each entry in the list may be: a single class-name (symbol), |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
or an array-literal consisting of class name and attributes. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
Attributes are: #autoload or #<os> where os is one of win32, unix,..." |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
^ #( |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
"<className> or (<className> attributes...) in load order" |
4
3d80069ea3e2
More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
105 |
TClassDefinition |
8
eec72263ed75
Introduced TEnvironment, a container object that keeps all (class) definition requiref for a compilation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
106 |
TCompilationUnitDefinition |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
TCompiler |
9
569bf5707c7e
Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
8
diff
changeset
|
108 |
TCompilerError |
8
eec72263ed75
Introduced TEnvironment, a container object that keeps all (class) definition requiref for a compilation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
109 |
TEnvironmentProvider |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
TFormatter |
4
3d80069ea3e2
More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
111 |
TMetaDefinition |
3d80069ea3e2
More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
112 |
TMethodDefinition |
6
0c806a7f1888
Initial support for inline assembly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
113 |
TNamespaceDefinition |
15
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
114 |
TObjectWithProperties |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
TParser |
3
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
116 |
TProgramNodeVisitor |
5
976f21e29d37
Added TSourceReader to allow reading source files. Initial work on T environment...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
4
diff
changeset
|
117 |
TSourceReader |
9
569bf5707c7e
Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
8
diff
changeset
|
118 |
TSpecialFormNode |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
119 |
TTypeNode |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
120 |
TTypeSpecNode |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
121 |
#'jv_tea_compiler' |
15
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
122 |
TBinding |
16
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
123 |
TCompilerContext |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
124 |
TCompilerOptions |
4
3d80069ea3e2
More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
125 |
TCompilerPass |
8
eec72263ed75
Introduced TEnvironment, a container object that keeps all (class) definition requiref for a compilation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
126 |
TEnvironment |
eec72263ed75
Introduced TEnvironment, a container object that keeps all (class) definition requiref for a compilation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
127 |
TFilesystemProvider |
15
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
128 |
TScope |
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
129 |
TSimpleTypeNode |
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
130 |
TType |
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
131 |
TAutomaticType |
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
132 |
TBlockType |
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
133 |
TClassBinding |
3
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
134 |
TFunctionBinding |
15
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
135 |
TLLVMCodeGenerator |
6
0c806a7f1888
Initial support for inline assembly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
136 |
TNamespaceBinding |
15
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
137 |
TSemanticAnalyser |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
138 |
TSimpleType |
15
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
139 |
TTypechecker |
3
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
140 |
TValueBinding |
4
3d80069ea3e2
More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
141 |
TBlockBinding |
3
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
142 |
TConstantBinding |
4
3d80069ea3e2
More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
143 |
TMethodBinding |
3
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
144 |
TVariableBinding |
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
145 |
TArgumentBinding |
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
146 |
TLocalBinding |
17
ee807ff2f897
Removed dependency on SUnit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
147 |
(TCompilerExamples autoload) |
ee807ff2f897
Removed dependency on SUnit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
148 |
(TMethodDefinitionTests autoload) |
ee807ff2f897
Removed dependency on SUnit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
149 |
(TParserTests autoload) |
ee807ff2f897
Removed dependency on SUnit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
150 |
(TSemanticAnalyserTests autoload) |
ee807ff2f897
Removed dependency on SUnit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
151 |
(TSourceReaderTests autoload) |
ee807ff2f897
Removed dependency on SUnit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
16
diff
changeset
|
152 |
(TTypecheckerTests autoload) |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
153 |
) |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
154 |
! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
156 |
extensionMethodNames |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
157 |
"list class/selector pairs of extensions. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
158 |
A correponding method with real names must be present in my concrete subclasses" |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
159 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
160 |
^ #( |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
161 |
RBBlockNode returnTypeSpec |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
162 |
RBBlockNode returnTypeSpec: |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
163 |
RBMethodNode returnTypeSpec |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
164 |
RBMethodNode returnTypeSpec: |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
165 |
RBVariableNode typeSpec |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
166 |
RBVariableNode typeSpec: |
3
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
167 |
RBBlockNode scope |
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
168 |
RBBlockNode scope: |
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
169 |
RBMethodNode scope |
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
170 |
RBMethodNode scope: |
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
171 |
RBProgramNode binding |
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
172 |
RBProgramNode binding: |
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
173 |
RBProgramNode scope |
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
174 |
RBReturnNode binding |
97ee341d3e9f
Initial shot of scopes & bindings and type checking. Must be rethought.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
2
diff
changeset
|
175 |
RBReturnNode binding: |
4
3d80069ea3e2
More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
176 |
RGClassDefinition acceptVisitor: |
3d80069ea3e2
More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
177 |
RGMetaclassDefinition acceptVisitor: |
3d80069ea3e2
More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
3
diff
changeset
|
178 |
RGMethodDefinition acceptVisitor: |
6
0c806a7f1888
Initial support for inline assembly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
179 |
RBProgramNode isInlineAssembly |
0c806a7f1888
Initial support for inline assembly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
180 |
RBToken isTInlineAssemblyBegin |
0c806a7f1888
Initial support for inline assembly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
5
diff
changeset
|
181 |
RBToken isTInlineAssemblyEnd |
8
eec72263ed75
Introduced TEnvironment, a container object that keeps all (class) definition requiref for a compilation
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
7
diff
changeset
|
182 |
RGDefinition isCompilationUnit |
9
569bf5707c7e
Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
8
diff
changeset
|
183 |
RBProgramNode isSpecialFormNode |
15
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
184 |
RBAssignmentNode binding |
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
185 |
RBAssignmentNode binding: |
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
186 |
RBBlockNode parameterTypes |
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
187 |
RBBlockNode returnType |
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
188 |
RBMethodNode parameterTypes |
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
189 |
RBMethodNode returnType |
10a95d798b36
Added support for local variables and #whileTrue: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
14
diff
changeset
|
190 |
RBVariableNode type |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
191 |
) |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
192 |
! ! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
193 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
194 |
!jv_tea_compiler class methodsFor:'description - project information'! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
195 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
196 |
companyName |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
197 |
"Returns a company string which will appear in <lib>.rc. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
198 |
Under win32, this is placed into the dlls file-info" |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
199 |
|
16
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
200 |
^ 'Jan Vrany' |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
201 |
|
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
202 |
"Modified: / 25-09-2015 / 03:42:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
203 |
! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
204 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
205 |
description |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
206 |
"Returns a description string which will appear in nt.def / bc.def" |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
207 |
|
16
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
208 |
^ 'Tea Language Compiler Library' |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
209 |
|
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
210 |
"Modified: / 25-09-2015 / 03:43:19 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
211 |
! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
212 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
213 |
legalCopyright |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
214 |
"Returns a copyright string which will appear in <lib>.rc. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
215 |
Under win32, this is placed into the dlls file-info" |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
216 |
|
16
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
217 |
^ '(C) 2015 Jan Vrany' |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
218 |
|
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
219 |
"Modified: / 25-09-2015 / 03:43:29 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
220 |
! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
221 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
222 |
productName |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
223 |
"Returns a product name which will appear in <lib>.rc. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
224 |
Under win32, this is placed into the dlls file-info. |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
225 |
This method is usually redefined in a concrete application definition" |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
226 |
|
16
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
227 |
^ 'TeaCompilerLibrary' |
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
228 |
|
17a2d1d9f205
Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
15
diff
changeset
|
229 |
"Modified: / 25-09-2015 / 03:43:41 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
230 |
! ! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
231 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
232 |
!jv_tea_compiler class methodsFor:'documentation'! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
233 |
|
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
234 |
version_HG |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
235 |
^ '$Changeset: <not expanded> $' |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
236 |
! ! |
18b4a3b98e96
Creates subpackage jv:tea/compiler
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
237 |