compiler/TCompilerExamples.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 25 Sep 2015 03:51:15 +0100
changeset 16 17a2d1d9f205
parent 13 97090c2baa33
permissions -rw-r--r--
Added standalone Tea compiler - teak It allows for compilation of .tea files from the command line.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     1
"
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     2
    Copyright (C) 2015-now Jan Vrany
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
     3
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
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: 13
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: 13
diff changeset
     6
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
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: 13
diff changeset
     8
      original author for inclusion in future releases
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
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: 13
diff changeset
    10
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
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: 13
diff changeset
    12
    a future.
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    13
"
4
3d80069ea3e2 More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
"{ Package: 'jv:tea/compiler' }"
3d80069ea3e2 More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
3d80069ea3e2 More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
"{ NameSpace: Smalltalk }"
3d80069ea3e2 More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
9
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    18
TestCase subclass:#TCompilerExamples
4
3d80069ea3e2 More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
	instanceVariableNames:''
3d80069ea3e2 More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
	classVariableNames:''
3d80069ea3e2 More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
	poolDictionaries:''
9
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    22
	category:'Languages-Tea-Compiler-Examples'
6
0c806a7f1888 Initial support for inline assembly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    23
!
0c806a7f1888 Initial support for inline assembly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    24
16
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    25
!TCompilerExamples class methodsFor:'documentation'!
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    26
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    27
copyright
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    28
"
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    29
    Copyright (C) 2015-now Jan Vrany
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    30
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
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: 13
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: 13
diff changeset
    33
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
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: 13
diff changeset
    35
      original author for inclusion in future releases
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
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: 13
diff changeset
    37
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
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: 13
diff changeset
    39
    a future.
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    40
"
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    41
! !
17a2d1d9f205 Added standalone Tea compiler - teak
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 13
diff changeset
    42
9
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    43
!TCompilerExamples class methodsFor:'asserting'!
6
0c806a7f1888 Initial support for inline assembly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    44
9
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    45
isTestSelector:aSelector
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    46
    ^ (super isTestSelector:aSelector) or:[ aSelector startsWith: 'example' ]
6
0c806a7f1888 Initial support for inline assembly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    47
9
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    48
    "Created: / 14-09-2015 / 11:56:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    49
! !
6
0c806a7f1888 Initial support for inline assembly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    50
9
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    51
!TCompilerExamples methodsFor:'tests'!
6
0c806a7f1888 Initial support for inline assembly
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 4
diff changeset
    52
13
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    53
example_factorialI
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    54
    | environment unit compiler|
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    55
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    56
    environment := TEnvironment new.
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    57
    unit := TSourceReader read:'
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    58
nil subclass: #FactorialI
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    59
    category: ''t-Examples''
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    60
!!
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    61
!!FactorialI class methodsFor:''examples''!!
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    62
factorialI:v <tSIntegerW> <^ tSIntegerW>
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    63
    | result <tSIntegerW> 
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    64
      i <tSIntegerW> |
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    65
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    66
    result := 0.
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    67
    i := v.
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    68
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    69
    [ i > 1 ] whileTrue:[ 
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    70
        result := result * i.
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    71
        i := i - 1
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    72
    ].
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    73
    ^ result
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    74
!! !!
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    75
    '.
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    76
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    77
    compiler := TCompiler new.
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    78
    compiler compile: unit in: environment.
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    79
    self halt.
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    80
    "
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    81
    compiler context module
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    82
    "
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    83
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    84
    "Created: / 19-09-2015 / 18:29:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    85
!
97090c2baa33 Fixes/refactoring of scopes and bindings.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
    86
9
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
    87
example_if
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
    88
    | environment unit compiler|
7
7556e3d41d80 Make 3 + 4 working, though the code is rather messy
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    89
11
6d39860d0fdb First shot on #ifTrie:ifFalse: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    90
    environment := TEnvironment new.
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
    91
    unit := TSourceReader read:'
11
6d39860d0fdb First shot on #ifTrie:ifFalse: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    92
nil subclass: #If
6d39860d0fdb First shot on #ifTrie:ifFalse: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    93
    category: ''t-Examples''
7
7556e3d41d80 Make 3 + 4 working, though the code is rather messy
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    94
!!
11
6d39860d0fdb First shot on #ifTrie:ifFalse: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    95
!!If class methodsFor:''examples''!!
6d39860d0fdb First shot on #ifTrie:ifFalse: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    96
if <^ tSIntegerW> 
6d39860d0fdb First shot on #ifTrie:ifFalse: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
    97
        true ifTrue:[ ^ 1 ] ifFalse:[ ^ 0 ]
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
    98
    '.
7
7556e3d41d80 Make 3 + 4 working, though the code is rather messy
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
    99
7556e3d41d80 Make 3 + 4 working, though the code is rather messy
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   100
    compiler := TCompiler new.
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
   101
    compiler compile: unit in: environment.
7
7556e3d41d80 Make 3 + 4 working, though the code is rather messy
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   102
    self halt.
7556e3d41d80 Make 3 + 4 working, though the code is rather messy
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   103
    "
7556e3d41d80 Make 3 + 4 working, though the code is rather messy
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   104
    compiler context module
7556e3d41d80 Make 3 + 4 working, though the code is rather messy
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   105
    "
7556e3d41d80 Make 3 + 4 working, though the code is rather messy
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 6
diff changeset
   106
9
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   107
    "Created: / 14-09-2015 / 12:14:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11
6d39860d0fdb First shot on #ifTrie:ifFalse: special form
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 10
diff changeset
   108
    "Modified: / 15-09-2015 / 12:22:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   109
!
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   110
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   111
example_three_plus_four
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   112
    | environment unit compiler|
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   113
10
2b9beeac547e More work on environments...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   114
    environment := TEnvironment new.
9
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   115
    unit := TSourceReader read:'
10
2b9beeac547e More work on environments...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   116
nil subclass: #ThreePlusFour
2b9beeac547e More work on environments...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   117
    category: ''t-Examples''
9
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   118
!!
10
2b9beeac547e More work on environments...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   119
!!ThreePlusFour class methodsFor:''examples''!!
9
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   120
threePlusFour <^ tSIntegerW> 
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   121
        ^ 3 + 4
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   122
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   123
!! !!
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   124
    '.
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   125
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   126
    compiler := TCompiler new.
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   127
    compiler compile: unit in: environment.
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   128
    self halt.
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   129
    "
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   130
    compiler context module
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   131
    "
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   132
569bf5707c7e Added support for special forms to parser and typechecker (somewhat)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 8
diff changeset
   133
    "Created: / 14-09-2015 / 11:56:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10
2b9beeac547e More work on environments...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   134
    "Modified: / 14-09-2015 / 15:15:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
4
3d80069ea3e2 More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   135
! !
3d80069ea3e2 More work on basic infrastructure - types, bindings & compilation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   136