Added standalone Tea compiler - teak
authorJan Vrany <jan.vrany@fit.cvut.cz>
Fri, 25 Sep 2015 03:51:15 +0100
changeset 1617a2d1d9f205
parent 15 10a95d798b36
child 17 ee807ff2f897
Added standalone Tea compiler - teak

It allows for compilation of .tea files from the command line.
compiler/Make.proto
compiler/Make.spec
compiler/TArgumentBinding.st
compiler/TAutomaticType.st
compiler/TBinding.st
compiler/TBlockBinding.st
compiler/TBlockType.st
compiler/TClassBinding.st
compiler/TClassDefinition.st
compiler/TCompilationUnitDefinition.st
compiler/TCompiler.st
compiler/TCompilerContext.st
compiler/TCompilerError.st
compiler/TCompilerExamples.st
compiler/TCompilerOptions.st
compiler/TCompilerPass.st
compiler/TConstantBinding.st
compiler/TEnvironment.st
compiler/TEnvironmentProvider.st
compiler/TFilesystemProvider.st
compiler/TFormatter.st
compiler/TFunctionBinding.st
compiler/TLLVMCodeGenerator.st
compiler/TLocalBinding.st
compiler/TMetaDefinition.st
compiler/TMethodBinding.st
compiler/TMethodDefinition.st
compiler/TMethodDefinitionTests.st
compiler/TNamespaceBinding.st
compiler/TNamespaceDefinition.st
compiler/TObjectWithProperties.st
compiler/TParser.st
compiler/TParserTests.st
compiler/TProgramNodeVisitor.st
compiler/TScope.st
compiler/TSemanticAnalyser.st
compiler/TSemanticAnalyserTests.st
compiler/TSimpleType.st
compiler/TSimpleTypeNode.st
compiler/TSourceReader.st
compiler/TSourceReaderTests.st
compiler/TSpecialFormNode.st
compiler/TType.st
compiler/TTypeNode.st
compiler/TTypeSpecNode.st
compiler/TTypechecker.st
compiler/TTypecheckerTests.st
compiler/TValueBinding.st
compiler/TVariableBinding.st
compiler/abbrev.stc
compiler/bc.mak
compiler/cli/Make.proto
compiler/cli/Make.spec
compiler/cli/Makefile.init
compiler/cli/TCompilerCommand.st
compiler/cli/abbrev.stc
compiler/cli/autopackage/default.apspec
compiler/cli/bc.mak
compiler/cli/bmake.bat
compiler/cli/builder/baseline.rbspec
compiler/cli/builder/package.deps.rake
compiler/cli/cli.nsi
compiler/cli/cliWinRC.rc
compiler/cli/jv_tea_compiler_cli.st
compiler/cli/mingwmake.bat
compiler/cli/modules.c
compiler/cli/modules.stx
compiler/cli/vcmake.bat
compiler/jv_tea_compiler.st
compiler/libInit.cc
     1.1 --- a/compiler/Make.proto	Wed Sep 23 22:21:44 2015 +0100
     1.2 +++ b/compiler/Make.proto	Fri Sep 25 03:51:15 2015 +0100
     1.3 @@ -108,6 +108,7 @@
     1.4  	cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
     1.5  	cd $(TOP)/libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
     1.6  	cd $(TOP)/goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
     1.7 +	cd ../../llvm_s && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
     1.8  
     1.9  
    1.10  
    1.11 @@ -130,7 +131,6 @@
    1.12  $(OUTDIR)TClassDefinition.$(O) TClassDefinition.$(H): TClassDefinition.st $(INCLUDE_TOP)/stx/goodies/ring/RGBehaviorDefinition.$(H) $(INCLUDE_TOP)/stx/goodies/ring/RGClassDefinition.$(H) $(INCLUDE_TOP)/stx/goodies/ring/RGClassDescriptionDefinition.$(H) $(INCLUDE_TOP)/stx/goodies/ring/RGDefinition.$(H) $(INCLUDE_TOP)/stx/goodies/ring/RGGlobalDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.13  $(OUTDIR)TCompilationUnitDefinition.$(O) TCompilationUnitDefinition.$(H): TCompilationUnitDefinition.st $(INCLUDE_TOP)/stx/goodies/ring/RGAbstractContainer.$(H) $(INCLUDE_TOP)/stx/goodies/ring/RGDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.14  $(OUTDIR)TCompiler.$(O) TCompiler.$(H): TCompiler.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.15 -$(OUTDIR)TCompilerContext.$(O) TCompilerContext.$(H): TCompilerContext.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.16  $(OUTDIR)TCompilerError.$(O) TCompilerError.$(H): TCompilerError.st $(INCLUDE_TOP)/stx/libbasic/Error.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.17  $(OUTDIR)TEnvironmentProvider.$(O) TEnvironmentProvider.$(H): TEnvironmentProvider.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.18  $(OUTDIR)TFormatter.$(O) TFormatter.$(H): TFormatter.st $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBFormatter.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.19 @@ -146,6 +146,8 @@
    1.20  $(OUTDIR)TTypeSpecNode.$(O) TTypeSpecNode.$(H): TTypeSpecNode.st $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBProgramNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.21  $(OUTDIR)jv_tea_compiler.$(O) jv_tea_compiler.$(H): jv_tea_compiler.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
    1.22  $(OUTDIR)TBinding.$(O) TBinding.$(H): TBinding.st $(INCLUDE_TOP)/jv/tea/compiler/TObjectWithProperties.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.23 +$(OUTDIR)TCompilerContext.$(O) TCompilerContext.$(H): TCompilerContext.st $(INCLUDE_TOP)/jv/tea/compiler/TObjectWithProperties.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.24 +$(OUTDIR)TCompilerOptions.$(O) TCompilerOptions.$(H): TCompilerOptions.st $(INCLUDE_TOP)/jv/tea/compiler/TObjectWithProperties.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.25  $(OUTDIR)TCompilerPass.$(O) TCompilerPass.$(H): TCompilerPass.st $(INCLUDE_TOP)/jv/tea/compiler/TProgramNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.26  $(OUTDIR)TEnvironment.$(O) TEnvironment.$(H): TEnvironment.st $(INCLUDE_TOP)/jv/tea/compiler/TNamespaceDefinition.$(H) $(INCLUDE_TOP)/stx/goodies/ring/RGAbstractContainer.$(H) $(INCLUDE_TOP)/stx/goodies/ring/RGContainer.$(H) $(INCLUDE_TOP)/stx/goodies/ring/RGDefinition.$(H) $(INCLUDE_TOP)/stx/goodies/ring/RGNamespace.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.27  $(OUTDIR)TFilesystemProvider.$(O) TFilesystemProvider.$(H): TFilesystemProvider.st $(INCLUDE_TOP)/jv/tea/compiler/TEnvironmentProvider.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.28 @@ -156,7 +158,7 @@
    1.29  $(OUTDIR)TBlockType.$(O) TBlockType.$(H): TBlockType.st $(INCLUDE_TOP)/jv/tea/compiler/TObjectWithProperties.$(H) $(INCLUDE_TOP)/jv/tea/compiler/TType.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.30  $(OUTDIR)TClassBinding.$(O) TClassBinding.$(H): TClassBinding.st $(INCLUDE_TOP)/jv/tea/compiler/TBinding.$(H) $(INCLUDE_TOP)/jv/tea/compiler/TObjectWithProperties.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.31  $(OUTDIR)TFunctionBinding.$(O) TFunctionBinding.$(H): TFunctionBinding.st $(INCLUDE_TOP)/jv/tea/compiler/TBinding.$(H) $(INCLUDE_TOP)/jv/tea/compiler/TObjectWithProperties.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.32 -$(OUTDIR)TLLVMCodeGenerator.$(O) TLLVMCodeGenerator.$(H): TLLVMCodeGenerator.st $(INCLUDE_TOP)/jv/tea/compiler/TCompilerPass.$(H) $(INCLUDE_TOP)/jv/tea/compiler/TProgramNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.33 +$(OUTDIR)TLLVMCodeGenerator.$(O) TLLVMCodeGenerator.$(H): TLLVMCodeGenerator.st $(INCLUDE_TOP)/jv/llvm_s/LLVMAtomicOrdering.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMAtomicRMWBinOp.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMAttribute.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMByteOrdering.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMCallConv.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMDLLStorageClass.$(H) $(INCLUDE_TOP)/jv/llvm_s/LLVMIntPredicate.$(H) $(INCLUDE_TOP)/jv/tea/compiler/TCompilerPass.$(H) $(INCLUDE_TOP)/jv/tea/compiler/TProgramNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.34  $(OUTDIR)TNamespaceBinding.$(O) TNamespaceBinding.$(H): TNamespaceBinding.st $(INCLUDE_TOP)/jv/tea/compiler/TBinding.$(H) $(INCLUDE_TOP)/jv/tea/compiler/TObjectWithProperties.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.35  $(OUTDIR)TSemanticAnalyser.$(O) TSemanticAnalyser.$(H): TSemanticAnalyser.st $(INCLUDE_TOP)/jv/tea/compiler/TCompilerPass.$(H) $(INCLUDE_TOP)/jv/tea/compiler/TProgramNodeVisitor.$(H) $(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser/RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    1.36  $(OUTDIR)TSimpleType.$(O) TSimpleType.$(H): TSimpleType.st $(INCLUDE_TOP)/jv/tea/compiler/TObjectWithProperties.$(H) $(INCLUDE_TOP)/jv/tea/compiler/TType.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
     2.1 --- a/compiler/Make.spec	Wed Sep 23 22:21:44 2015 +0100
     2.2 +++ b/compiler/Make.spec	Fri Sep 25 03:51:15 2015 +0100
     2.3 @@ -54,7 +54,6 @@
     2.4  	TClassDefinition \
     2.5  	TCompilationUnitDefinition \
     2.6  	TCompiler \
     2.7 -	TCompilerContext \
     2.8  	TCompilerError \
     2.9  	TEnvironmentProvider \
    2.10  	TFormatter \
    2.11 @@ -70,6 +69,8 @@
    2.12  	TTypeSpecNode \
    2.13  	jv_tea_compiler \
    2.14  	TBinding \
    2.15 +	TCompilerContext \
    2.16 +	TCompilerOptions \
    2.17  	TCompilerPass \
    2.18  	TEnvironment \
    2.19  	TFilesystemProvider \
    2.20 @@ -100,7 +101,6 @@
    2.21      $(OUTDIR_SLASH)TClassDefinition.$(O) \
    2.22      $(OUTDIR_SLASH)TCompilationUnitDefinition.$(O) \
    2.23      $(OUTDIR_SLASH)TCompiler.$(O) \
    2.24 -    $(OUTDIR_SLASH)TCompilerContext.$(O) \
    2.25      $(OUTDIR_SLASH)TCompilerError.$(O) \
    2.26      $(OUTDIR_SLASH)TEnvironmentProvider.$(O) \
    2.27      $(OUTDIR_SLASH)TFormatter.$(O) \
    2.28 @@ -116,6 +116,8 @@
    2.29      $(OUTDIR_SLASH)TTypeSpecNode.$(O) \
    2.30      $(OUTDIR_SLASH)jv_tea_compiler.$(O) \
    2.31      $(OUTDIR_SLASH)TBinding.$(O) \
    2.32 +    $(OUTDIR_SLASH)TCompilerContext.$(O) \
    2.33 +    $(OUTDIR_SLASH)TCompilerOptions.$(O) \
    2.34      $(OUTDIR_SLASH)TCompilerPass.$(O) \
    2.35      $(OUTDIR_SLASH)TEnvironment.$(O) \
    2.36      $(OUTDIR_SLASH)TFilesystemProvider.$(O) \
     3.1 --- a/compiler/TArgumentBinding.st	Wed Sep 23 22:21:44 2015 +0100
     3.2 +++ b/compiler/TArgumentBinding.st	Fri Sep 25 03:51:15 2015 +0100
     3.3 @@ -1,3 +1,16 @@
     3.4 +"
     3.5 +    Copyright (C) 2015-now Jan Vrany
     3.6 +
     3.7 +    This code is not an open-source (yet). You may use this code
     3.8 +    for your own experiments and projects, given that:
     3.9 +
    3.10 +    * all modification to the code will be sent to the
    3.11 +      original author for inclusion in future releases
    3.12 +    * this is not used in any commercial software
    3.13 +
    3.14 +    This license is provisional and may (will) change in
    3.15 +    a future.
    3.16 +"
    3.17  "{ Package: 'jv:tea/compiler' }"
    3.18  
    3.19  "{ NameSpace: Smalltalk }"
    3.20 @@ -9,6 +22,23 @@
    3.21  	category:'Languages-Tea-Compiler-Bindings'
    3.22  !
    3.23  
    3.24 +!TArgumentBinding class methodsFor:'documentation'!
    3.25 +
    3.26 +copyright
    3.27 +"
    3.28 +    Copyright (C) 2015-now Jan Vrany
    3.29 +
    3.30 +    This code is not an open-source (yet). You may use this code
    3.31 +    for your own experiments and projects, given that:
    3.32 +
    3.33 +    * all modification to the code will be sent to the
    3.34 +      original author for inclusion in future releases
    3.35 +    * this is not used in any commercial software
    3.36 +
    3.37 +    This license is provisional and may (will) change in
    3.38 +    a future.
    3.39 +"
    3.40 +! !
    3.41  
    3.42  !TArgumentBinding methodsFor:'accessing'!
    3.43  
     4.1 --- a/compiler/TAutomaticType.st	Wed Sep 23 22:21:44 2015 +0100
     4.2 +++ b/compiler/TAutomaticType.st	Fri Sep 25 03:51:15 2015 +0100
     4.3 @@ -1,3 +1,16 @@
     4.4 +"
     4.5 +    Copyright (C) 2015-now Jan Vrany
     4.6 +
     4.7 +    This code is not an open-source (yet). You may use this code
     4.8 +    for your own experiments and projects, given that:
     4.9 +
    4.10 +    * all modification to the code will be sent to the
    4.11 +      original author for inclusion in future releases
    4.12 +    * this is not used in any commercial software
    4.13 +
    4.14 +    This license is provisional and may (will) change in
    4.15 +    a future.
    4.16 +"
    4.17  "{ Package: 'jv:tea/compiler' }"
    4.18  
    4.19  "{ NameSpace: Smalltalk }"
    4.20 @@ -9,6 +22,24 @@
    4.21  	category:'Languages-Tea-Compiler-Types'
    4.22  !
    4.23  
    4.24 +!TAutomaticType class methodsFor:'documentation'!
    4.25 +
    4.26 +copyright
    4.27 +"
    4.28 +    Copyright (C) 2015-now Jan Vrany
    4.29 +
    4.30 +    This code is not an open-source (yet). You may use this code
    4.31 +    for your own experiments and projects, given that:
    4.32 +
    4.33 +    * all modification to the code will be sent to the
    4.34 +      original author for inclusion in future releases
    4.35 +    * this is not used in any commercial software
    4.36 +
    4.37 +    This license is provisional and may (will) change in
    4.38 +    a future.
    4.39 +"
    4.40 +! !
    4.41 +
    4.42  !TAutomaticType methodsFor:'comparing'!
    4.43  
    4.44  = anotherType
     5.1 --- a/compiler/TBinding.st	Wed Sep 23 22:21:44 2015 +0100
     5.2 +++ b/compiler/TBinding.st	Fri Sep 25 03:51:15 2015 +0100
     5.3 @@ -1,3 +1,16 @@
     5.4 +"
     5.5 +    Copyright (C) 2015-now Jan Vrany
     5.6 +
     5.7 +    This code is not an open-source (yet). You may use this code
     5.8 +    for your own experiments and projects, given that:
     5.9 +
    5.10 +    * all modification to the code will be sent to the
    5.11 +      original author for inclusion in future releases
    5.12 +    * this is not used in any commercial software
    5.13 +
    5.14 +    This license is provisional and may (will) change in
    5.15 +    a future.
    5.16 +"
    5.17  "{ Package: 'jv:tea/compiler' }"
    5.18  
    5.19  "{ NameSpace: Smalltalk }"
    5.20 @@ -9,6 +22,23 @@
    5.21  	category:'Languages-Tea-Compiler-Bindings'
    5.22  !
    5.23  
    5.24 +!TBinding class methodsFor:'documentation'!
    5.25 +
    5.26 +copyright
    5.27 +"
    5.28 +    Copyright (C) 2015-now Jan Vrany
    5.29 +
    5.30 +    This code is not an open-source (yet). You may use this code
    5.31 +    for your own experiments and projects, given that:
    5.32 +
    5.33 +    * all modification to the code will be sent to the
    5.34 +      original author for inclusion in future releases
    5.35 +    * this is not used in any commercial software
    5.36 +
    5.37 +    This license is provisional and may (will) change in
    5.38 +    a future.
    5.39 +"
    5.40 +! !
    5.41  
    5.42  !TBinding methodsFor:'accessing'!
    5.43  
     6.1 --- a/compiler/TBlockBinding.st	Wed Sep 23 22:21:44 2015 +0100
     6.2 +++ b/compiler/TBlockBinding.st	Fri Sep 25 03:51:15 2015 +0100
     6.3 @@ -1,3 +1,16 @@
     6.4 +"
     6.5 +    Copyright (C) 2015-now Jan Vrany
     6.6 +
     6.7 +    This code is not an open-source (yet). You may use this code
     6.8 +    for your own experiments and projects, given that:
     6.9 +
    6.10 +    * all modification to the code will be sent to the
    6.11 +      original author for inclusion in future releases
    6.12 +    * this is not used in any commercial software
    6.13 +
    6.14 +    This license is provisional and may (will) change in
    6.15 +    a future.
    6.16 +"
    6.17  "{ Package: 'jv:tea/compiler' }"
    6.18  
    6.19  "{ NameSpace: Smalltalk }"
    6.20 @@ -9,6 +22,24 @@
    6.21  	category:'Languages-Tea-Compiler-Bindings'
    6.22  !
    6.23  
    6.24 +!TBlockBinding class methodsFor:'documentation'!
    6.25 +
    6.26 +copyright
    6.27 +"
    6.28 +    Copyright (C) 2015-now Jan Vrany
    6.29 +
    6.30 +    This code is not an open-source (yet). You may use this code
    6.31 +    for your own experiments and projects, given that:
    6.32 +
    6.33 +    * all modification to the code will be sent to the
    6.34 +      original author for inclusion in future releases
    6.35 +    * this is not used in any commercial software
    6.36 +
    6.37 +    This license is provisional and may (will) change in
    6.38 +    a future.
    6.39 +"
    6.40 +! !
    6.41 +
    6.42  !TBlockBinding methodsFor:'testing'!
    6.43  
    6.44  isMethodBlock
     7.1 --- a/compiler/TBlockType.st	Wed Sep 23 22:21:44 2015 +0100
     7.2 +++ b/compiler/TBlockType.st	Fri Sep 25 03:51:15 2015 +0100
     7.3 @@ -1,3 +1,16 @@
     7.4 +"
     7.5 +    Copyright (C) 2015-now Jan Vrany
     7.6 +
     7.7 +    This code is not an open-source (yet). You may use this code
     7.8 +    for your own experiments and projects, given that:
     7.9 +
    7.10 +    * all modification to the code will be sent to the
    7.11 +      original author for inclusion in future releases
    7.12 +    * this is not used in any commercial software
    7.13 +
    7.14 +    This license is provisional and may (will) change in
    7.15 +    a future.
    7.16 +"
    7.17  "{ Package: 'jv:tea/compiler' }"
    7.18  
    7.19  "{ NameSpace: Smalltalk }"
    7.20 @@ -9,6 +22,24 @@
    7.21  	category:'Languages-Tea-Compiler-Types'
    7.22  !
    7.23  
    7.24 +!TBlockType class methodsFor:'documentation'!
    7.25 +
    7.26 +copyright
    7.27 +"
    7.28 +    Copyright (C) 2015-now Jan Vrany
    7.29 +
    7.30 +    This code is not an open-source (yet). You may use this code
    7.31 +    for your own experiments and projects, given that:
    7.32 +
    7.33 +    * all modification to the code will be sent to the
    7.34 +      original author for inclusion in future releases
    7.35 +    * this is not used in any commercial software
    7.36 +
    7.37 +    This license is provisional and may (will) change in
    7.38 +    a future.
    7.39 +"
    7.40 +! !
    7.41 +
    7.42  !TBlockType class methodsFor:'instance creation'!
    7.43  
    7.44  parameters: parameterTypes returning: returnType
     8.1 --- a/compiler/TClassBinding.st	Wed Sep 23 22:21:44 2015 +0100
     8.2 +++ b/compiler/TClassBinding.st	Fri Sep 25 03:51:15 2015 +0100
     8.3 @@ -1,3 +1,16 @@
     8.4 +"
     8.5 +    Copyright (C) 2015-now Jan Vrany
     8.6 +
     8.7 +    This code is not an open-source (yet). You may use this code
     8.8 +    for your own experiments and projects, given that:
     8.9 +
    8.10 +    * all modification to the code will be sent to the
    8.11 +      original author for inclusion in future releases
    8.12 +    * this is not used in any commercial software
    8.13 +
    8.14 +    This license is provisional and may (will) change in
    8.15 +    a future.
    8.16 +"
    8.17  "{ Package: 'jv:tea/compiler' }"
    8.18  
    8.19  "{ NameSpace: Smalltalk }"
    8.20 @@ -9,6 +22,24 @@
    8.21  	category:'Languages-Tea-Compiler-Bindings'
    8.22  !
    8.23  
    8.24 +!TClassBinding class methodsFor:'documentation'!
    8.25 +
    8.26 +copyright
    8.27 +"
    8.28 +    Copyright (C) 2015-now Jan Vrany
    8.29 +
    8.30 +    This code is not an open-source (yet). You may use this code
    8.31 +    for your own experiments and projects, given that:
    8.32 +
    8.33 +    * all modification to the code will be sent to the
    8.34 +      original author for inclusion in future releases
    8.35 +    * this is not used in any commercial software
    8.36 +
    8.37 +    This license is provisional and may (will) change in
    8.38 +    a future.
    8.39 +"
    8.40 +! !
    8.41 +
    8.42  !TClassBinding class methodsFor:'instance creation'!
    8.43  
    8.44  clazz: aTClassDefinition
     9.1 --- a/compiler/TClassDefinition.st	Wed Sep 23 22:21:44 2015 +0100
     9.2 +++ b/compiler/TClassDefinition.st	Fri Sep 25 03:51:15 2015 +0100
     9.3 @@ -1,3 +1,16 @@
     9.4 +"
     9.5 +    Copyright (C) 2015-now Jan Vrany
     9.6 +
     9.7 +    This code is not an open-source (yet). You may use this code
     9.8 +    for your own experiments and projects, given that:
     9.9 +
    9.10 +    * all modification to the code will be sent to the
    9.11 +      original author for inclusion in future releases
    9.12 +    * this is not used in any commercial software
    9.13 +
    9.14 +    This license is provisional and may (will) change in
    9.15 +    a future.
    9.16 +"
    9.17  "{ Package: 'jv:tea/compiler' }"
    9.18  
    9.19  "{ NameSpace: Smalltalk }"
    9.20 @@ -9,6 +22,24 @@
    9.21  	category:'Languages-Tea-Compiler-Model'
    9.22  !
    9.23  
    9.24 +!TClassDefinition class methodsFor:'documentation'!
    9.25 +
    9.26 +copyright
    9.27 +"
    9.28 +    Copyright (C) 2015-now Jan Vrany
    9.29 +
    9.30 +    This code is not an open-source (yet). You may use this code
    9.31 +    for your own experiments and projects, given that:
    9.32 +
    9.33 +    * all modification to the code will be sent to the
    9.34 +      original author for inclusion in future releases
    9.35 +    * this is not used in any commercial software
    9.36 +
    9.37 +    This license is provisional and may (will) change in
    9.38 +    a future.
    9.39 +"
    9.40 +! !
    9.41 +
    9.42  !TClassDefinition methodsFor:'accessing'!
    9.43  
    9.44  binding
    10.1 --- a/compiler/TCompilationUnitDefinition.st	Wed Sep 23 22:21:44 2015 +0100
    10.2 +++ b/compiler/TCompilationUnitDefinition.st	Fri Sep 25 03:51:15 2015 +0100
    10.3 @@ -1,3 +1,16 @@
    10.4 +"
    10.5 +    Copyright (C) 2015-now Jan Vrany
    10.6 +
    10.7 +    This code is not an open-source (yet). You may use this code
    10.8 +    for your own experiments and projects, given that:
    10.9 +
   10.10 +    * all modification to the code will be sent to the
   10.11 +      original author for inclusion in future releases
   10.12 +    * this is not used in any commercial software
   10.13 +
   10.14 +    This license is provisional and may (will) change in
   10.15 +    a future.
   10.16 +"
   10.17  "{ Package: 'jv:tea/compiler' }"
   10.18  
   10.19  "{ NameSpace: Smalltalk }"
   10.20 @@ -9,6 +22,24 @@
   10.21  	category:'Languages-Tea-Compiler-Model'
   10.22  !
   10.23  
   10.24 +!TCompilationUnitDefinition class methodsFor:'documentation'!
   10.25 +
   10.26 +copyright
   10.27 +"
   10.28 +    Copyright (C) 2015-now Jan Vrany
   10.29 +
   10.30 +    This code is not an open-source (yet). You may use this code
   10.31 +    for your own experiments and projects, given that:
   10.32 +
   10.33 +    * all modification to the code will be sent to the
   10.34 +      original author for inclusion in future releases
   10.35 +    * this is not used in any commercial software
   10.36 +
   10.37 +    This license is provisional and may (will) change in
   10.38 +    a future.
   10.39 +"
   10.40 +! !
   10.41 +
   10.42  !TCompilationUnitDefinition methodsFor:'accessing'!
   10.43  
   10.44  classes
   10.45 @@ -71,3 +102,10 @@
   10.46      "Created: / 14-09-2015 / 10:32:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   10.47  ! !
   10.48  
   10.49 +!TCompilationUnitDefinition class methodsFor:'documentation'!
   10.50 +
   10.51 +version_HG
   10.52 +
   10.53 +    ^ '$Changeset: <not expanded> $'
   10.54 +! !
   10.55 +
    11.1 --- a/compiler/TCompiler.st	Wed Sep 23 22:21:44 2015 +0100
    11.2 +++ b/compiler/TCompiler.st	Fri Sep 25 03:51:15 2015 +0100
    11.3 @@ -1,3 +1,16 @@
    11.4 +"
    11.5 +    Copyright (C) 2015-now Jan Vrany
    11.6 +
    11.7 +    This code is not an open-source (yet). You may use this code
    11.8 +    for your own experiments and projects, given that:
    11.9 +
   11.10 +    * all modification to the code will be sent to the
   11.11 +      original author for inclusion in future releases
   11.12 +    * this is not used in any commercial software
   11.13 +
   11.14 +    This license is provisional and may (will) change in
   11.15 +    a future.
   11.16 +"
   11.17  "{ Package: 'jv:tea/compiler' }"
   11.18  
   11.19  "{ NameSpace: Smalltalk }"
   11.20 @@ -9,6 +22,23 @@
   11.21  	category:'Languages-Tea-Compiler'
   11.22  !
   11.23  
   11.24 +!TCompiler class methodsFor:'documentation'!
   11.25 +
   11.26 +copyright
   11.27 +"
   11.28 +    Copyright (C) 2015-now Jan Vrany
   11.29 +
   11.30 +    This code is not an open-source (yet). You may use this code
   11.31 +    for your own experiments and projects, given that:
   11.32 +
   11.33 +    * all modification to the code will be sent to the
   11.34 +      original author for inclusion in future releases
   11.35 +    * this is not used in any commercial software
   11.36 +
   11.37 +    This license is provisional and may (will) change in
   11.38 +    a future.
   11.39 +"
   11.40 +! !
   11.41  
   11.42  !TCompiler class methodsFor:'compilation'!
   11.43  
    12.1 --- a/compiler/TCompilerContext.st	Wed Sep 23 22:21:44 2015 +0100
    12.2 +++ b/compiler/TCompilerContext.st	Fri Sep 25 03:51:15 2015 +0100
    12.3 @@ -1,14 +1,45 @@
    12.4 +"
    12.5 +    Copyright (C) 2015-now Jan Vrany
    12.6 +
    12.7 +    This code is not an open-source (yet). You may use this code
    12.8 +    for your own experiments and projects, given that:
    12.9 +
   12.10 +    * all modification to the code will be sent to the
   12.11 +      original author for inclusion in future releases
   12.12 +    * this is not used in any commercial software
   12.13 +
   12.14 +    This license is provisional and may (will) change in
   12.15 +    a future.
   12.16 +"
   12.17  "{ Package: 'jv:tea/compiler' }"
   12.18  
   12.19  "{ NameSpace: Smalltalk }"
   12.20  
   12.21 -Object subclass:#TCompilerContext
   12.22 -	instanceVariableNames:'environment unit module'
   12.23 +TObjectWithProperties subclass:#TCompilerContext
   12.24 +	instanceVariableNames:'options environment unit'
   12.25  	classVariableNames:''
   12.26  	poolDictionaries:''
   12.27  	category:'Languages-Tea-Compiler'
   12.28  !
   12.29  
   12.30 +!TCompilerContext class methodsFor:'documentation'!
   12.31 +
   12.32 +copyright
   12.33 +"
   12.34 +    Copyright (C) 2015-now Jan Vrany
   12.35 +
   12.36 +    This code is not an open-source (yet). You may use this code
   12.37 +    for your own experiments and projects, given that:
   12.38 +
   12.39 +    * all modification to the code will be sent to the
   12.40 +      original author for inclusion in future releases
   12.41 +    * this is not used in any commercial software
   12.42 +
   12.43 +    This license is provisional and may (will) change in
   12.44 +    a future.
   12.45 +"
   12.46 +! !
   12.47 +
   12.48  !TCompilerContext methodsFor:'accessing'!
   12.49  
   12.50  environment
   12.51 @@ -19,13 +50,19 @@
   12.52      environment := aTNamespaceDefinition.
   12.53  !
   12.54  
   12.55 -module
   12.56 -    module isNil ifTrue:[ 
   12.57 -        module := LLVMModule newWithName: unit name.
   12.58 +options
   12.59 +    options isNil ifTrue:[ 
   12.60 +        options := TCompilerOptions new 
   12.61      ].
   12.62 -    ^ module
   12.63 +    ^ self.
   12.64  
   12.65 -    "Modified: / 30-08-2015 / 09:25:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   12.66 +    "Created: / 24-09-2015 / 16:17:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   12.67 +!
   12.68 +
   12.69 +options: aTCompilerOptions
   12.70 +    options := aTCompilerOptions
   12.71 +
   12.72 +    "Created: / 24-09-2015 / 16:17:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   12.73  !
   12.74  
   12.75  unit
   12.76 @@ -36,6 +73,27 @@
   12.77      unit := aTCompilationUnit.
   12.78  ! !
   12.79  
   12.80 +!TCompilerContext methodsFor:'accessing - llvm'!
   12.81 +
   12.82 +llvmModule
   12.83 +    | module |
   12.84 +
   12.85 +    module := self propertyAt: #llvmModule ifAbsentPut: [ nil ].
   12.86 +    module isNil ifTrue:[ 
   12.87 +        module := LLVMModule newWithName: unit name.
   12.88 +        self llvmModule: module.
   12.89 +    ].
   12.90 +    ^ module.
   12.91 +
   12.92 +    "Created: / 24-09-2015 / 16:18:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   12.93 +!
   12.94 +
   12.95 +llvmModule: anLLVMModule
   12.96 +    ^ self propertyAt: #llvmModule put: anLLVMModule
   12.97 +
   12.98 +    "Created: / 24-09-2015 / 17:05:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   12.99 +! !
  12.100 +
  12.101  !TCompilerContext methodsFor:'error reporting'!
  12.102  
  12.103  reportSemanticError: message
    13.1 --- a/compiler/TCompilerError.st	Wed Sep 23 22:21:44 2015 +0100
    13.2 +++ b/compiler/TCompilerError.st	Fri Sep 25 03:51:15 2015 +0100
    13.3 @@ -1,3 +1,16 @@
    13.4 +"
    13.5 +    Copyright (C) 2015-now Jan Vrany
    13.6 +
    13.7 +    This code is not an open-source (yet). You may use this code
    13.8 +    for your own experiments and projects, given that:
    13.9 +
   13.10 +    * all modification to the code will be sent to the
   13.11 +      original author for inclusion in future releases
   13.12 +    * this is not used in any commercial software
   13.13 +
   13.14 +    This license is provisional and may (will) change in
   13.15 +    a future.
   13.16 +"
   13.17  "{ Package: 'jv:tea/compiler' }"
   13.18  
   13.19  "{ NameSpace: Smalltalk }"
   13.20 @@ -9,3 +22,21 @@
   13.21  	category:'Languages-Tea-Compiler-Exceptions'
   13.22  !
   13.23  
   13.24 +!TCompilerError class methodsFor:'documentation'!
   13.25 +
   13.26 +copyright
   13.27 +"
   13.28 +    Copyright (C) 2015-now Jan Vrany
   13.29 +
   13.30 +    This code is not an open-source (yet). You may use this code
   13.31 +    for your own experiments and projects, given that:
   13.32 +
   13.33 +    * all modification to the code will be sent to the
   13.34 +      original author for inclusion in future releases
   13.35 +    * this is not used in any commercial software
   13.36 +
   13.37 +    This license is provisional and may (will) change in
   13.38 +    a future.
   13.39 +"
   13.40 +! !
   13.41 +
    14.1 --- a/compiler/TCompilerExamples.st	Wed Sep 23 22:21:44 2015 +0100
    14.2 +++ b/compiler/TCompilerExamples.st	Fri Sep 25 03:51:15 2015 +0100
    14.3 @@ -1,3 +1,16 @@
    14.4 +"
    14.5 +    Copyright (C) 2015-now Jan Vrany
    14.6 +
    14.7 +    This code is not an open-source (yet). You may use this code
    14.8 +    for your own experiments and projects, given that:
    14.9 +
   14.10 +    * all modification to the code will be sent to the
   14.11 +      original author for inclusion in future releases
   14.12 +    * this is not used in any commercial software
   14.13 +
   14.14 +    This license is provisional and may (will) change in
   14.15 +    a future.
   14.16 +"
   14.17  "{ Package: 'jv:tea/compiler' }"
   14.18  
   14.19  "{ NameSpace: Smalltalk }"
   14.20 @@ -9,6 +22,24 @@
   14.21  	category:'Languages-Tea-Compiler-Examples'
   14.22  !
   14.23  
   14.24 +!TCompilerExamples class methodsFor:'documentation'!
   14.25 +
   14.26 +copyright
   14.27 +"
   14.28 +    Copyright (C) 2015-now Jan Vrany
   14.29 +
   14.30 +    This code is not an open-source (yet). You may use this code
   14.31 +    for your own experiments and projects, given that:
   14.32 +
   14.33 +    * all modification to the code will be sent to the
   14.34 +      original author for inclusion in future releases
   14.35 +    * this is not used in any commercial software
   14.36 +
   14.37 +    This license is provisional and may (will) change in
   14.38 +    a future.
   14.39 +"
   14.40 +! !
   14.41 +
   14.42  !TCompilerExamples class methodsFor:'asserting'!
   14.43  
   14.44  isTestSelector:aSelector
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/compiler/TCompilerOptions.st	Fri Sep 25 03:51:15 2015 +0100
    15.3 @@ -0,0 +1,98 @@
    15.4 +"
    15.5 +    Copyright (C) 2015-now Jan Vrany
    15.6 +
    15.7 +    This code is not an open-source (yet). You may use this code
    15.8 +    for your own experiments and projects, given that:
    15.9 +
   15.10 +    * all modification to the code will be sent to the
   15.11 +      original author for inclusion in future releases
   15.12 +    * this is not used in any commercial software
   15.13 +
   15.14 +    This license is provisional and may (will) change in
   15.15 +    a future.
   15.16 +"
   15.17 +"{ Package: 'jv:tea/compiler' }"
   15.18 +
   15.19 +"{ NameSpace: Smalltalk }"
   15.20 +
   15.21 +TObjectWithProperties subclass:#TCompilerOptions
   15.22 +	instanceVariableNames:''
   15.23 +	classVariableNames:''
   15.24 +	poolDictionaries:''
   15.25 +	category:'Languages-Tea-Compiler'
   15.26 +!
   15.27 +
   15.28 +!TCompilerOptions class methodsFor:'documentation'!
   15.29 +
   15.30 +copyright
   15.31 +"
   15.32 +    Copyright (C) 2015-now Jan Vrany
   15.33 +
   15.34 +    This code is not an open-source (yet). You may use this code
   15.35 +    for your own experiments and projects, given that:
   15.36 +
   15.37 +    * all modification to the code will be sent to the
   15.38 +      original author for inclusion in future releases
   15.39 +    * this is not used in any commercial software
   15.40 +
   15.41 +    This license is provisional and may (will) change in
   15.42 +    a future.
   15.43 +"
   15.44 +! !
   15.45 +
   15.46 +!TCompilerOptions methodsFor:'accessing'!
   15.47 +
   15.48 +optionAt: option
   15.49 +    ^ self propertyAt: option
   15.50 +
   15.51 +    "Created: / 24-09-2015 / 16:12:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   15.52 +!
   15.53 +
   15.54 +optionAt: option default: default
   15.55 +    ^ self propertyAt: option ifAbsent:[ default ]
   15.56 +
   15.57 +    "Created: / 24-09-2015 / 16:13:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   15.58 +!
   15.59 +
   15.60 +optionAt: option put: value
   15.61 +    ^ self propertyAt: option put: value
   15.62 +
   15.63 +    "Created: / 24-09-2015 / 16:13:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   15.64 +! !
   15.65 +
   15.66 +!TCompilerOptions methodsFor:'options'!
   15.67 +
   15.68 +emitIR
   15.69 +    ^ self optionAt: #emitIR default: false
   15.70 +
   15.71 +    "Created: / 24-09-2015 / 16:38:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   15.72 +!
   15.73 +
   15.74 +emitIR: aBoolean
   15.75 +    self optionAt: #emitIR put: aBoolean
   15.76 +
   15.77 +    "Created: / 24-09-2015 / 16:39:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   15.78 +!
   15.79 +
   15.80 +output
   15.81 +    ^ self optionAt: #output default: nil
   15.82 +
   15.83 +    "Created: / 24-09-2015 / 16:38:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   15.84 +!
   15.85 +
   15.86 +output: aSgtring
   15.87 +    self optionAt: #output put: aSgtring.
   15.88 +
   15.89 +    "Created: / 24-09-2015 / 16:38:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   15.90 +! !
   15.91 +
   15.92 +!TCompilerOptions class methodsFor:'documentation'!
   15.93 +
   15.94 +version
   15.95 +    ^ 'Path: jv/tea/compiler/TCompilerOptions.st, Version: 1.0, User: jv, Time: 2015-09-25T03:26:11.669+01'
   15.96 +!
   15.97 +
   15.98 +version_HG
   15.99 +    ^ 'Path: jv/tea/compiler/TCompilerOptions.st, Version: 1.0, User: jv, Time: 2015-09-25T03:26:11.669+01'
  15.100 +! !
  15.101 +
    16.1 --- a/compiler/TCompilerPass.st	Wed Sep 23 22:21:44 2015 +0100
    16.2 +++ b/compiler/TCompilerPass.st	Fri Sep 25 03:51:15 2015 +0100
    16.3 @@ -1,3 +1,16 @@
    16.4 +"
    16.5 +    Copyright (C) 2015-now Jan Vrany
    16.6 +
    16.7 +    This code is not an open-source (yet). You may use this code
    16.8 +    for your own experiments and projects, given that:
    16.9 +
   16.10 +    * all modification to the code will be sent to the
   16.11 +      original author for inclusion in future releases
   16.12 +    * this is not used in any commercial software
   16.13 +
   16.14 +    This license is provisional and may (will) change in
   16.15 +    a future.
   16.16 +"
   16.17  "{ Package: 'jv:tea/compiler' }"
   16.18  
   16.19  "{ NameSpace: Smalltalk }"
   16.20 @@ -9,6 +22,24 @@
   16.21  	category:'Languages-Tea-Compiler-Internals'
   16.22  !
   16.23  
   16.24 +!TCompilerPass class methodsFor:'documentation'!
   16.25 +
   16.26 +copyright
   16.27 +"
   16.28 +    Copyright (C) 2015-now Jan Vrany
   16.29 +
   16.30 +    This code is not an open-source (yet). You may use this code
   16.31 +    for your own experiments and projects, given that:
   16.32 +
   16.33 +    * all modification to the code will be sent to the
   16.34 +      original author for inclusion in future releases
   16.35 +    * this is not used in any commercial software
   16.36 +
   16.37 +    This license is provisional and may (will) change in
   16.38 +    a future.
   16.39 +"
   16.40 +! !
   16.41 +
   16.42  !TCompilerPass class methodsFor:'running'!
   16.43  
   16.44  runOn: anObject
    17.1 --- a/compiler/TConstantBinding.st	Wed Sep 23 22:21:44 2015 +0100
    17.2 +++ b/compiler/TConstantBinding.st	Fri Sep 25 03:51:15 2015 +0100
    17.3 @@ -1,3 +1,16 @@
    17.4 +"
    17.5 +    Copyright (C) 2015-now Jan Vrany
    17.6 +
    17.7 +    This code is not an open-source (yet). You may use this code
    17.8 +    for your own experiments and projects, given that:
    17.9 +
   17.10 +    * all modification to the code will be sent to the
   17.11 +      original author for inclusion in future releases
   17.12 +    * this is not used in any commercial software
   17.13 +
   17.14 +    This license is provisional and may (will) change in
   17.15 +    a future.
   17.16 +"
   17.17  "{ Package: 'jv:tea/compiler' }"
   17.18  
   17.19  "{ NameSpace: Smalltalk }"
   17.20 @@ -9,6 +22,23 @@
   17.21  	category:'Languages-Tea-Compiler-Bindings'
   17.22  !
   17.23  
   17.24 +!TConstantBinding class methodsFor:'documentation'!
   17.25 +
   17.26 +copyright
   17.27 +"
   17.28 +    Copyright (C) 2015-now Jan Vrany
   17.29 +
   17.30 +    This code is not an open-source (yet). You may use this code
   17.31 +    for your own experiments and projects, given that:
   17.32 +
   17.33 +    * all modification to the code will be sent to the
   17.34 +      original author for inclusion in future releases
   17.35 +    * this is not used in any commercial software
   17.36 +
   17.37 +    This license is provisional and may (will) change in
   17.38 +    a future.
   17.39 +"
   17.40 +! !
   17.41  
   17.42  !TConstantBinding class methodsFor:'instance creation'!
   17.43  
    18.1 --- a/compiler/TEnvironment.st	Wed Sep 23 22:21:44 2015 +0100
    18.2 +++ b/compiler/TEnvironment.st	Fri Sep 25 03:51:15 2015 +0100
    18.3 @@ -1,3 +1,16 @@
    18.4 +"
    18.5 +    Copyright (C) 2015-now Jan Vrany
    18.6 +
    18.7 +    This code is not an open-source (yet). You may use this code
    18.8 +    for your own experiments and projects, given that:
    18.9 +
   18.10 +    * all modification to the code will be sent to the
   18.11 +      original author for inclusion in future releases
   18.12 +    * this is not used in any commercial software
   18.13 +
   18.14 +    This license is provisional and may (will) change in
   18.15 +    a future.
   18.16 +"
   18.17  "{ Package: 'jv:tea/compiler' }"
   18.18  
   18.19  "{ NameSpace: Smalltalk }"
   18.20 @@ -9,6 +22,24 @@
   18.21  	category:'Languages-Tea-Compiler-Model'
   18.22  !
   18.23  
   18.24 +!TEnvironment class methodsFor:'documentation'!
   18.25 +
   18.26 +copyright
   18.27 +"
   18.28 +    Copyright (C) 2015-now Jan Vrany
   18.29 +
   18.30 +    This code is not an open-source (yet). You may use this code
   18.31 +    for your own experiments and projects, given that:
   18.32 +
   18.33 +    * all modification to the code will be sent to the
   18.34 +      original author for inclusion in future releases
   18.35 +    * this is not used in any commercial software
   18.36 +
   18.37 +    This license is provisional and may (will) change in
   18.38 +    a future.
   18.39 +"
   18.40 +! !
   18.41 +
   18.42  !TEnvironment methodsFor:'accessing'!
   18.43  
   18.44  provider
    19.1 --- a/compiler/TEnvironmentProvider.st	Wed Sep 23 22:21:44 2015 +0100
    19.2 +++ b/compiler/TEnvironmentProvider.st	Fri Sep 25 03:51:15 2015 +0100
    19.3 @@ -1,3 +1,16 @@
    19.4 +"
    19.5 +    Copyright (C) 2015-now Jan Vrany
    19.6 +
    19.7 +    This code is not an open-source (yet). You may use this code
    19.8 +    for your own experiments and projects, given that:
    19.9 +
   19.10 +    * all modification to the code will be sent to the
   19.11 +      original author for inclusion in future releases
   19.12 +    * this is not used in any commercial software
   19.13 +
   19.14 +    This license is provisional and may (will) change in
   19.15 +    a future.
   19.16 +"
   19.17  "{ Package: 'jv:tea/compiler' }"
   19.18  
   19.19  "{ NameSpace: Smalltalk }"
   19.20 @@ -9,6 +22,23 @@
   19.21  	category:'Languages-Tea-Compiler-Model-Provider'
   19.22  !
   19.23  
   19.24 +!TEnvironmentProvider class methodsFor:'documentation'!
   19.25 +
   19.26 +copyright
   19.27 +"
   19.28 +    Copyright (C) 2015-now Jan Vrany
   19.29 +
   19.30 +    This code is not an open-source (yet). You may use this code
   19.31 +    for your own experiments and projects, given that:
   19.32 +
   19.33 +    * all modification to the code will be sent to the
   19.34 +      original author for inclusion in future releases
   19.35 +    * this is not used in any commercial software
   19.36 +
   19.37 +    This license is provisional and may (will) change in
   19.38 +    a future.
   19.39 +"
   19.40 +! !
   19.41  
   19.42  !TEnvironmentProvider methodsFor:'accessing'!
   19.43  
    20.1 --- a/compiler/TFilesystemProvider.st	Wed Sep 23 22:21:44 2015 +0100
    20.2 +++ b/compiler/TFilesystemProvider.st	Fri Sep 25 03:51:15 2015 +0100
    20.3 @@ -1,3 +1,16 @@
    20.4 +"
    20.5 +    Copyright (C) 2015-now Jan Vrany
    20.6 +
    20.7 +    This code is not an open-source (yet). You may use this code
    20.8 +    for your own experiments and projects, given that:
    20.9 +
   20.10 +    * all modification to the code will be sent to the
   20.11 +      original author for inclusion in future releases
   20.12 +    * this is not used in any commercial software
   20.13 +
   20.14 +    This license is provisional and may (will) change in
   20.15 +    a future.
   20.16 +"
   20.17  "{ Package: 'jv:tea/compiler' }"
   20.18  
   20.19  "{ NameSpace: Smalltalk }"
   20.20 @@ -9,6 +22,23 @@
   20.21  	category:'Languages-Tea-Compiler-Model-Provider'
   20.22  !
   20.23  
   20.24 +!TFilesystemProvider class methodsFor:'documentation'!
   20.25 +
   20.26 +copyright
   20.27 +"
   20.28 +    Copyright (C) 2015-now Jan Vrany
   20.29 +
   20.30 +    This code is not an open-source (yet). You may use this code
   20.31 +    for your own experiments and projects, given that:
   20.32 +
   20.33 +    * all modification to the code will be sent to the
   20.34 +      original author for inclusion in future releases
   20.35 +    * this is not used in any commercial software
   20.36 +
   20.37 +    This license is provisional and may (will) change in
   20.38 +    a future.
   20.39 +"
   20.40 +! !
   20.41  
   20.42  !TFilesystemProvider class methodsFor:'instance creation'!
   20.43  
   20.44 @@ -49,6 +79,12 @@
   20.45      ^ unit classes detect:[:class | class name = name ] ifNone:[ nil ]
   20.46  
   20.47      "Created: / 14-09-2015 / 15:10:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   20.48 +!
   20.49 +
   20.50 +classpath
   20.51 +    ^ classpath
   20.52 +
   20.53 +    "Created: / 24-09-2015 / 16:45:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   20.54  ! !
   20.55  
   20.56  !TFilesystemProvider methodsFor:'initialization'!
    21.1 --- a/compiler/TFormatter.st	Wed Sep 23 22:21:44 2015 +0100
    21.2 +++ b/compiler/TFormatter.st	Fri Sep 25 03:51:15 2015 +0100
    21.3 @@ -1,3 +1,16 @@
    21.4 +"
    21.5 +    Copyright (C) 2015-now Jan Vrany
    21.6 +
    21.7 +    This code is not an open-source (yet). You may use this code
    21.8 +    for your own experiments and projects, given that:
    21.9 +
   21.10 +    * all modification to the code will be sent to the
   21.11 +      original author for inclusion in future releases
   21.12 +    * this is not used in any commercial software
   21.13 +
   21.14 +    This license is provisional and may (will) change in
   21.15 +    a future.
   21.16 +"
   21.17  "{ Package: 'jv:tea/compiler' }"
   21.18  
   21.19  "{ NameSpace: Smalltalk }"
   21.20 @@ -9,6 +22,24 @@
   21.21  	category:'Languages-Tea-Compiler-AST'
   21.22  !
   21.23  
   21.24 +!TFormatter class methodsFor:'documentation'!
   21.25 +
   21.26 +copyright
   21.27 +"
   21.28 +    Copyright (C) 2015-now Jan Vrany
   21.29 +
   21.30 +    This code is not an open-source (yet). You may use this code
   21.31 +    for your own experiments and projects, given that:
   21.32 +
   21.33 +    * all modification to the code will be sent to the
   21.34 +      original author for inclusion in future releases
   21.35 +    * this is not used in any commercial software
   21.36 +
   21.37 +    This license is provisional and may (will) change in
   21.38 +    a future.
   21.39 +"
   21.40 +! !
   21.41 +
   21.42  !TFormatter methodsFor:'visitor-double dispatching'!
   21.43  
   21.44  acceptSimpleTypeNode: aTSimpleTypeNode
    22.1 --- a/compiler/TFunctionBinding.st	Wed Sep 23 22:21:44 2015 +0100
    22.2 +++ b/compiler/TFunctionBinding.st	Fri Sep 25 03:51:15 2015 +0100
    22.3 @@ -1,3 +1,16 @@
    22.4 +"
    22.5 +    Copyright (C) 2015-now Jan Vrany
    22.6 +
    22.7 +    This code is not an open-source (yet). You may use this code
    22.8 +    for your own experiments and projects, given that:
    22.9 +
   22.10 +    * all modification to the code will be sent to the
   22.11 +      original author for inclusion in future releases
   22.12 +    * this is not used in any commercial software
   22.13 +
   22.14 +    This license is provisional and may (will) change in
   22.15 +    a future.
   22.16 +"
   22.17  "{ Package: 'jv:tea/compiler' }"
   22.18  
   22.19  "{ NameSpace: Smalltalk }"
   22.20 @@ -9,6 +22,24 @@
   22.21  	category:'Languages-Tea-Compiler-Bindings'
   22.22  !
   22.23  
   22.24 +!TFunctionBinding class methodsFor:'documentation'!
   22.25 +
   22.26 +copyright
   22.27 +"
   22.28 +    Copyright (C) 2015-now Jan Vrany
   22.29 +
   22.30 +    This code is not an open-source (yet). You may use this code
   22.31 +    for your own experiments and projects, given that:
   22.32 +
   22.33 +    * all modification to the code will be sent to the
   22.34 +      original author for inclusion in future releases
   22.35 +    * this is not used in any commercial software
   22.36 +
   22.37 +    This license is provisional and may (will) change in
   22.38 +    a future.
   22.39 +"
   22.40 +! !
   22.41 +
   22.42  !TFunctionBinding methodsFor:'accessing'!
   22.43  
   22.44  parameterTypes
    23.1 --- a/compiler/TLLVMCodeGenerator.st	Wed Sep 23 22:21:44 2015 +0100
    23.2 +++ b/compiler/TLLVMCodeGenerator.st	Fri Sep 25 03:51:15 2015 +0100
    23.3 @@ -1,3 +1,16 @@
    23.4 +"
    23.5 +    Copyright (C) 2015-now Jan Vrany
    23.6 +
    23.7 +    This code is not an open-source (yet). You may use this code
    23.8 +    for your own experiments and projects, given that:
    23.9 +
   23.10 +    * all modification to the code will be sent to the
   23.11 +      original author for inclusion in future releases
   23.12 +    * this is not used in any commercial software
   23.13 +
   23.14 +    This license is provisional and may (will) change in
   23.15 +    a future.
   23.16 +"
   23.17  "{ Package: 'jv:tea/compiler' }"
   23.18  
   23.19  "{ NameSpace: Smalltalk }"
   23.20 @@ -5,10 +18,29 @@
   23.21  TCompilerPass subclass:#TLLVMCodeGenerator
   23.22  	instanceVariableNames:'function asm'
   23.23  	classVariableNames:'SelectorSpecialCharMappingTable'
   23.24 -	poolDictionaries:''
   23.25 +	poolDictionaries:'LLVMAtomicOrdering LLVMAtomicRMWBinOp LLVMAttribute
   23.26 +		LLVMByteOrdering LLVMCallConv LLVMDLLStorageClass
   23.27 +		LLVMIntPredicate'
   23.28  	category:'Languages-Tea-Compiler-Internals'
   23.29  !
   23.30  
   23.31 +!TLLVMCodeGenerator class methodsFor:'documentation'!
   23.32 +
   23.33 +copyright
   23.34 +"
   23.35 +    Copyright (C) 2015-now Jan Vrany
   23.36 +
   23.37 +    This code is not an open-source (yet). You may use this code
   23.38 +    for your own experiments and projects, given that:
   23.39 +
   23.40 +    * all modification to the code will be sent to the
   23.41 +      original author for inclusion in future releases
   23.42 +    * this is not used in any commercial software
   23.43 +
   23.44 +    This license is provisional and may (will) change in
   23.45 +    a future.
   23.46 +"
   23.47 +! !
   23.48  
   23.49  !TLLVMCodeGenerator class methodsFor:'initialization'!
   23.50  
   23.51 @@ -92,13 +124,13 @@
   23.52          allocas := anRBVariableNode scope llvmAllocas.
   23.53          block := asm block.
   23.54          asm block: allocas.
   23.55 -        value := asm alloca: (binding type asLLVMTypeInModule: context module)  as: binding name.
   23.56 +        value := asm alloca: (binding type asLLVMTypeInModule: context llvmModule)  as: binding name.
   23.57          asm block: block.
   23.58      ].
   23.59      binding llvmValue: value.
   23.60  
   23.61      "Created: / 02-09-2015 / 08:43:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   23.62 -    "Modified: / 23-09-2015 / 21:47:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   23.63 +    "Modified: / 24-09-2015 / 16:18:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   23.64  ! !
   23.65  
   23.66  !TLLVMCodeGenerator methodsFor:'visitor-double dispatching'!
   23.67 @@ -191,10 +223,10 @@
   23.68  !
   23.69  
   23.70  acceptLiteralNode: aLiteralNode
   23.71 -    ^ aLiteralNode binding asLLVMValueInModule: context module.
   23.72 +    ^ aLiteralNode binding asLLVMValueInModule: context llvmModule.
   23.73  
   23.74      "Created: / 31-08-2015 / 10:13:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   23.75 -    "Modified: / 31-08-2015 / 12:20:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   23.76 +    "Modified: / 24-09-2015 / 16:17:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   23.77  !
   23.78  
   23.79  acceptMessageNode: aMessageNode
   23.80 @@ -202,18 +234,18 @@
   23.81  
   23.82      receiver := self visitNode: aMessageNode receiver.
   23.83      arguments := aMessageNode arguments collect: [:argument | self visitNode: argument ].
   23.84 -    methodFunction := aMessageNode binding asLLVMValueInModule: context module.  
   23.85 +    methodFunction := aMessageNode binding asLLVMValueInModule: context llvmModule.  
   23.86  
   23.87      ^ asm call: methodFunction _: { receiver } , arguments
   23.88  
   23.89      "Created: / 31-08-2015 / 10:13:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   23.90 -    "Modified (format): / 15-09-2015 / 07:14:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   23.91 +    "Modified: / 24-09-2015 / 16:17:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   23.92  !
   23.93  
   23.94  acceptMethodNode: aMethodNode 
   23.95      | allocas entry |
   23.96  
   23.97 -    function := aMethodNode binding asLLVMValueInModule: context module.
   23.98 +    function := aMethodNode binding asLLVMValueInModule: context llvmModule.
   23.99      allocas := function addBasicBlockNamed: 'allocas'.
  23.100      entry := function addBasicBlockNamed: 'entry'.
  23.101      aMethodNode scope llvmAllocas: allocas.
  23.102 @@ -224,7 +256,7 @@
  23.103      asm br: entry.
  23.104  
  23.105      "Created: / 31-08-2015 / 09:42:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  23.106 -    "Modified: / 23-09-2015 / 22:32:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  23.107 +    "Modified: / 24-09-2015 / 16:17:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  23.108  !
  23.109  
  23.110  acceptOptimizedNode: anOptimizedNode 
  23.111 @@ -234,9 +266,12 @@
  23.112  !
  23.113  
  23.114  acceptPragmaNode: aPragmaNode
  23.115 -    self notYetImplemented
  23.116 +    aPragmaNode selector = 'primitive:' ifTrue:[ 
  23.117 +        self acceptPrimitiveNode: aPragmaNode  
  23.118 +    ].
  23.119  
  23.120      "Created: / 31-08-2015 / 10:13:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  23.121 +    "Modified: / 24-09-2015 / 18:53:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  23.122  !
  23.123  
  23.124  acceptPrimitiveNode: aPragmaNode
  23.125 @@ -256,13 +291,13 @@
  23.126          ].
  23.127      ].
  23.128      emitMethodNode selector:(String streamContents: [ :s | emitMethodNode arguments size timesRepeat:[s nextPutAll:'_:'] ]).
  23.129 -    emitMethod := Compiler compile: emitMethodNode formattedCode forClass: UndefinedObject install: false.
  23.130 +    emitMethod := Compiler compile: emitMethodNode formattedCode forClass: self class install: false.
  23.131      emitMethod
  23.132          valueWithReceiver: nil
  23.133          arguments: { asm } , ((1 to: function numArgs) collect: [ :i | function parameterAt: i ])
  23.134  
  23.135      "Created: / 22-09-2015 / 18:03:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  23.136 -    "Modified: / 23-09-2015 / 06:27:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  23.137 +    "Modified: / 24-09-2015 / 18:58:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  23.138  !
  23.139  
  23.140  acceptReturnNode: aReturnNode 
    24.1 --- a/compiler/TLocalBinding.st	Wed Sep 23 22:21:44 2015 +0100
    24.2 +++ b/compiler/TLocalBinding.st	Fri Sep 25 03:51:15 2015 +0100
    24.3 @@ -1,3 +1,16 @@
    24.4 +"
    24.5 +    Copyright (C) 2015-now Jan Vrany
    24.6 +
    24.7 +    This code is not an open-source (yet). You may use this code
    24.8 +    for your own experiments and projects, given that:
    24.9 +
   24.10 +    * all modification to the code will be sent to the
   24.11 +      original author for inclusion in future releases
   24.12 +    * this is not used in any commercial software
   24.13 +
   24.14 +    This license is provisional and may (will) change in
   24.15 +    a future.
   24.16 +"
   24.17  "{ Package: 'jv:tea/compiler' }"
   24.18  
   24.19  "{ NameSpace: Smalltalk }"
   24.20 @@ -9,6 +22,24 @@
   24.21  	category:'Languages-Tea-Compiler-Bindings'
   24.22  !
   24.23  
   24.24 +!TLocalBinding class methodsFor:'documentation'!
   24.25 +
   24.26 +copyright
   24.27 +"
   24.28 +    Copyright (C) 2015-now Jan Vrany
   24.29 +
   24.30 +    This code is not an open-source (yet). You may use this code
   24.31 +    for your own experiments and projects, given that:
   24.32 +
   24.33 +    * all modification to the code will be sent to the
   24.34 +      original author for inclusion in future releases
   24.35 +    * this is not used in any commercial software
   24.36 +
   24.37 +    This license is provisional and may (will) change in
   24.38 +    a future.
   24.39 +"
   24.40 +! !
   24.41 +
   24.42  !TLocalBinding methodsFor:'printing & storing'!
   24.43  
   24.44  printOn:aStream
    25.1 --- a/compiler/TMetaDefinition.st	Wed Sep 23 22:21:44 2015 +0100
    25.2 +++ b/compiler/TMetaDefinition.st	Fri Sep 25 03:51:15 2015 +0100
    25.3 @@ -1,3 +1,16 @@
    25.4 +"
    25.5 +    Copyright (C) 2015-now Jan Vrany
    25.6 +
    25.7 +    This code is not an open-source (yet). You may use this code
    25.8 +    for your own experiments and projects, given that:
    25.9 +
   25.10 +    * all modification to the code will be sent to the
   25.11 +      original author for inclusion in future releases
   25.12 +    * this is not used in any commercial software
   25.13 +
   25.14 +    This license is provisional and may (will) change in
   25.15 +    a future.
   25.16 +"
   25.17  "{ Package: 'jv:tea/compiler' }"
   25.18  
   25.19  "{ NameSpace: Smalltalk }"
   25.20 @@ -9,6 +22,24 @@
   25.21  	category:'Languages-Tea-Compiler-Model'
   25.22  !
   25.23  
   25.24 +!TMetaDefinition class methodsFor:'documentation'!
   25.25 +
   25.26 +copyright
   25.27 +"
   25.28 +    Copyright (C) 2015-now Jan Vrany
   25.29 +
   25.30 +    This code is not an open-source (yet). You may use this code
   25.31 +    for your own experiments and projects, given that:
   25.32 +
   25.33 +    * all modification to the code will be sent to the
   25.34 +      original author for inclusion in future releases
   25.35 +    * this is not used in any commercial software
   25.36 +
   25.37 +    This license is provisional and may (will) change in
   25.38 +    a future.
   25.39 +"
   25.40 +! !
   25.41 +
   25.42  !TMetaDefinition methodsFor:'accessing'!
   25.43  
   25.44  binding
    26.1 --- a/compiler/TMethodBinding.st	Wed Sep 23 22:21:44 2015 +0100
    26.2 +++ b/compiler/TMethodBinding.st	Fri Sep 25 03:51:15 2015 +0100
    26.3 @@ -1,3 +1,16 @@
    26.4 +"
    26.5 +    Copyright (C) 2015-now Jan Vrany
    26.6 +
    26.7 +    This code is not an open-source (yet). You may use this code
    26.8 +    for your own experiments and projects, given that:
    26.9 +
   26.10 +    * all modification to the code will be sent to the
   26.11 +      original author for inclusion in future releases
   26.12 +    * this is not used in any commercial software
   26.13 +
   26.14 +    This license is provisional and may (will) change in
   26.15 +    a future.
   26.16 +"
   26.17  "{ Package: 'jv:tea/compiler' }"
   26.18  
   26.19  "{ NameSpace: Smalltalk }"
   26.20 @@ -9,6 +22,23 @@
   26.21  	category:'Languages-Tea-Compiler-Bindings'
   26.22  !
   26.23  
   26.24 +!TMethodBinding class methodsFor:'documentation'!
   26.25 +
   26.26 +copyright
   26.27 +"
   26.28 +    Copyright (C) 2015-now Jan Vrany
   26.29 +
   26.30 +    This code is not an open-source (yet). You may use this code
   26.31 +    for your own experiments and projects, given that:
   26.32 +
   26.33 +    * all modification to the code will be sent to the
   26.34 +      original author for inclusion in future releases
   26.35 +    * this is not used in any commercial software
   26.36 +
   26.37 +    This license is provisional and may (will) change in
   26.38 +    a future.
   26.39 +"
   26.40 +! !
   26.41  
   26.42  !TMethodBinding class methodsFor:'instance creation'!
   26.43  
    27.1 --- a/compiler/TMethodDefinition.st	Wed Sep 23 22:21:44 2015 +0100
    27.2 +++ b/compiler/TMethodDefinition.st	Fri Sep 25 03:51:15 2015 +0100
    27.3 @@ -1,3 +1,16 @@
    27.4 +"
    27.5 +    Copyright (C) 2015-now Jan Vrany
    27.6 +
    27.7 +    This code is not an open-source (yet). You may use this code
    27.8 +    for your own experiments and projects, given that:
    27.9 +
   27.10 +    * all modification to the code will be sent to the
   27.11 +      original author for inclusion in future releases
   27.12 +    * this is not used in any commercial software
   27.13 +
   27.14 +    This license is provisional and may (will) change in
   27.15 +    a future.
   27.16 +"
   27.17  "{ Package: 'jv:tea/compiler' }"
   27.18  
   27.19  "{ NameSpace: Smalltalk }"
   27.20 @@ -9,6 +22,23 @@
   27.21  	category:'Languages-Tea-Compiler-Model'
   27.22  !
   27.23  
   27.24 +!TMethodDefinition class methodsFor:'documentation'!
   27.25 +
   27.26 +copyright
   27.27 +"
   27.28 +    Copyright (C) 2015-now Jan Vrany
   27.29 +
   27.30 +    This code is not an open-source (yet). You may use this code
   27.31 +    for your own experiments and projects, given that:
   27.32 +
   27.33 +    * all modification to the code will be sent to the
   27.34 +      original author for inclusion in future releases
   27.35 +    * this is not used in any commercial software
   27.36 +
   27.37 +    This license is provisional and may (will) change in
   27.38 +    a future.
   27.39 +"
   27.40 +! !
   27.41  
   27.42  !TMethodDefinition methodsFor:'accessing'!
   27.43  
    28.1 --- a/compiler/TMethodDefinitionTests.st	Wed Sep 23 22:21:44 2015 +0100
    28.2 +++ b/compiler/TMethodDefinitionTests.st	Fri Sep 25 03:51:15 2015 +0100
    28.3 @@ -1,3 +1,16 @@
    28.4 +"
    28.5 +    Copyright (C) 2015-now Jan Vrany
    28.6 +
    28.7 +    This code is not an open-source (yet). You may use this code
    28.8 +    for your own experiments and projects, given that:
    28.9 +
   28.10 +    * all modification to the code will be sent to the
   28.11 +      original author for inclusion in future releases
   28.12 +    * this is not used in any commercial software
   28.13 +
   28.14 +    This license is provisional and may (will) change in
   28.15 +    a future.
   28.16 +"
   28.17  "{ Package: 'jv:tea/compiler' }"
   28.18  
   28.19  "{ NameSpace: Smalltalk }"
   28.20 @@ -9,6 +22,24 @@
   28.21  	category:'Languages-Tea-Compiler-Model-Tests'
   28.22  !
   28.23  
   28.24 +!TMethodDefinitionTests class methodsFor:'documentation'!
   28.25 +
   28.26 +copyright
   28.27 +"
   28.28 +    Copyright (C) 2015-now Jan Vrany
   28.29 +
   28.30 +    This code is not an open-source (yet). You may use this code
   28.31 +    for your own experiments and projects, given that:
   28.32 +
   28.33 +    * all modification to the code will be sent to the
   28.34 +      original author for inclusion in future releases
   28.35 +    * this is not used in any commercial software
   28.36 +
   28.37 +    This license is provisional and may (will) change in
   28.38 +    a future.
   28.39 +"
   28.40 +! !
   28.41 +
   28.42  !TMethodDefinitionTests methodsFor:'tests'!
   28.43  
   28.44  test_01
    29.1 --- a/compiler/TNamespaceBinding.st	Wed Sep 23 22:21:44 2015 +0100
    29.2 +++ b/compiler/TNamespaceBinding.st	Fri Sep 25 03:51:15 2015 +0100
    29.3 @@ -1,3 +1,16 @@
    29.4 +"
    29.5 +    Copyright (C) 2015-now Jan Vrany
    29.6 +
    29.7 +    This code is not an open-source (yet). You may use this code
    29.8 +    for your own experiments and projects, given that:
    29.9 +
   29.10 +    * all modification to the code will be sent to the
   29.11 +      original author for inclusion in future releases
   29.12 +    * this is not used in any commercial software
   29.13 +
   29.14 +    This license is provisional and may (will) change in
   29.15 +    a future.
   29.16 +"
   29.17  "{ Package: 'jv:tea/compiler' }"
   29.18  
   29.19  "{ NameSpace: Smalltalk }"
   29.20 @@ -9,6 +22,23 @@
   29.21  	category:'Languages-Tea-Compiler-Bindings'
   29.22  !
   29.23  
   29.24 +!TNamespaceBinding class methodsFor:'documentation'!
   29.25 +
   29.26 +copyright
   29.27 +"
   29.28 +    Copyright (C) 2015-now Jan Vrany
   29.29 +
   29.30 +    This code is not an open-source (yet). You may use this code
   29.31 +    for your own experiments and projects, given that:
   29.32 +
   29.33 +    * all modification to the code will be sent to the
   29.34 +      original author for inclusion in future releases
   29.35 +    * this is not used in any commercial software
   29.36 +
   29.37 +    This license is provisional and may (will) change in
   29.38 +    a future.
   29.39 +"
   29.40 +! !
   29.41  
   29.42  !TNamespaceBinding class methodsFor:'instance creation'!
   29.43  
    30.1 --- a/compiler/TNamespaceDefinition.st	Wed Sep 23 22:21:44 2015 +0100
    30.2 +++ b/compiler/TNamespaceDefinition.st	Fri Sep 25 03:51:15 2015 +0100
    30.3 @@ -1,3 +1,16 @@
    30.4 +"
    30.5 +    Copyright (C) 2015-now Jan Vrany
    30.6 +
    30.7 +    This code is not an open-source (yet). You may use this code
    30.8 +    for your own experiments and projects, given that:
    30.9 +
   30.10 +    * all modification to the code will be sent to the
   30.11 +      original author for inclusion in future releases
   30.12 +    * this is not used in any commercial software
   30.13 +
   30.14 +    This license is provisional and may (will) change in
   30.15 +    a future.
   30.16 +"
   30.17  "{ Package: 'jv:tea/compiler' }"
   30.18  
   30.19  "{ NameSpace: Smalltalk }"
   30.20 @@ -9,6 +22,24 @@
   30.21  	category:'Languages-Tea-Compiler-Model'
   30.22  !
   30.23  
   30.24 +!TNamespaceDefinition class methodsFor:'documentation'!
   30.25 +
   30.26 +copyright
   30.27 +"
   30.28 +    Copyright (C) 2015-now Jan Vrany
   30.29 +
   30.30 +    This code is not an open-source (yet). You may use this code
   30.31 +    for your own experiments and projects, given that:
   30.32 +
   30.33 +    * all modification to the code will be sent to the
   30.34 +      original author for inclusion in future releases
   30.35 +    * this is not used in any commercial software
   30.36 +
   30.37 +    This license is provisional and may (will) change in
   30.38 +    a future.
   30.39 +"
   30.40 +! !
   30.41 +
   30.42  !TNamespaceDefinition methodsFor:'accessing'!
   30.43  
   30.44  binding
    31.1 --- a/compiler/TObjectWithProperties.st	Wed Sep 23 22:21:44 2015 +0100
    31.2 +++ b/compiler/TObjectWithProperties.st	Fri Sep 25 03:51:15 2015 +0100
    31.3 @@ -1,3 +1,16 @@
    31.4 +"
    31.5 +    Copyright (C) 2015-now Jan Vrany
    31.6 +
    31.7 +    This code is not an open-source (yet). You may use this code
    31.8 +    for your own experiments and projects, given that:
    31.9 +
   31.10 +    * all modification to the code will be sent to the
   31.11 +      original author for inclusion in future releases
   31.12 +    * this is not used in any commercial software
   31.13 +
   31.14 +    This license is provisional and may (will) change in
   31.15 +    a future.
   31.16 +"
   31.17  "{ Package: 'jv:tea/compiler' }"
   31.18  
   31.19  "{ NameSpace: Smalltalk }"
   31.20 @@ -9,6 +22,24 @@
   31.21  	category:'Languages-Tea-Compiler-Internals'
   31.22  !
   31.23  
   31.24 +!TObjectWithProperties class methodsFor:'documentation'!
   31.25 +
   31.26 +copyright
   31.27 +"
   31.28 +    Copyright (C) 2015-now Jan Vrany
   31.29 +
   31.30 +    This code is not an open-source (yet). You may use this code
   31.31 +    for your own experiments and projects, given that:
   31.32 +
   31.33 +    * all modification to the code will be sent to the
   31.34 +      original author for inclusion in future releases
   31.35 +    * this is not used in any commercial software
   31.36 +
   31.37 +    This license is provisional and may (will) change in
   31.38 +    a future.
   31.39 +"
   31.40 +! !
   31.41 +
   31.42  !TObjectWithProperties methodsFor:'accessing-properties'!
   31.43  
   31.44  hasProperty: aKey
    32.1 --- a/compiler/TParser.st	Wed Sep 23 22:21:44 2015 +0100
    32.2 +++ b/compiler/TParser.st	Fri Sep 25 03:51:15 2015 +0100
    32.3 @@ -1,3 +1,16 @@
    32.4 +"
    32.5 +    Copyright (C) 2015-now Jan Vrany
    32.6 +
    32.7 +    This code is not an open-source (yet). You may use this code
    32.8 +    for your own experiments and projects, given that:
    32.9 +
   32.10 +    * all modification to the code will be sent to the
   32.11 +      original author for inclusion in future releases
   32.12 +    * this is not used in any commercial software
   32.13 +
   32.14 +    This license is provisional and may (will) change in
   32.15 +    a future.
   32.16 +"
   32.17  "{ Package: 'jv:tea/compiler' }"
   32.18  
   32.19  "{ NameSpace: Smalltalk }"
   32.20 @@ -9,6 +22,24 @@
   32.21  	category:'Languages-Tea-Compiler-AST'
   32.22  !
   32.23  
   32.24 +!TParser class methodsFor:'documentation'!
   32.25 +
   32.26 +copyright
   32.27 +"
   32.28 +    Copyright (C) 2015-now Jan Vrany
   32.29 +
   32.30 +    This code is not an open-source (yet). You may use this code
   32.31 +    for your own experiments and projects, given that:
   32.32 +
   32.33 +    * all modification to the code will be sent to the
   32.34 +      original author for inclusion in future releases
   32.35 +    * this is not used in any commercial software
   32.36 +
   32.37 +    This license is provisional and may (will) change in
   32.38 +    a future.
   32.39 +"
   32.40 +! !
   32.41 +
   32.42  !TParser class methodsFor:'parsing'!
   32.43  
   32.44  parseMethod: aString 
    33.1 --- a/compiler/TParserTests.st	Wed Sep 23 22:21:44 2015 +0100
    33.2 +++ b/compiler/TParserTests.st	Fri Sep 25 03:51:15 2015 +0100
    33.3 @@ -1,3 +1,16 @@
    33.4 +"
    33.5 +    Copyright (C) 2015-now Jan Vrany
    33.6 +
    33.7 +    This code is not an open-source (yet). You may use this code
    33.8 +    for your own experiments and projects, given that:
    33.9 +
   33.10 +    * all modification to the code will be sent to the
   33.11 +      original author for inclusion in future releases
   33.12 +    * this is not used in any commercial software
   33.13 +
   33.14 +    This license is provisional and may (will) change in
   33.15 +    a future.
   33.16 +"
   33.17  "{ Package: 'jv:tea/compiler' }"
   33.18  
   33.19  "{ NameSpace: Smalltalk }"
   33.20 @@ -9,6 +22,24 @@
   33.21  	category:'Languages-Tea-Compiler-AST-Tests'
   33.22  !
   33.23  
   33.24 +!TParserTests class methodsFor:'documentation'!
   33.25 +
   33.26 +copyright
   33.27 +"
   33.28 +    Copyright (C) 2015-now Jan Vrany
   33.29 +
   33.30 +    This code is not an open-source (yet). You may use this code
   33.31 +    for your own experiments and projects, given that:
   33.32 +
   33.33 +    * all modification to the code will be sent to the
   33.34 +      original author for inclusion in future releases
   33.35 +    * this is not used in any commercial software
   33.36 +
   33.37 +    This license is provisional and may (will) change in
   33.38 +    a future.
   33.39 +"
   33.40 +! !
   33.41 +
   33.42  !TParserTests methodsFor:'tests'!
   33.43  
   33.44  test_blockargs
    34.1 --- a/compiler/TProgramNodeVisitor.st	Wed Sep 23 22:21:44 2015 +0100
    34.2 +++ b/compiler/TProgramNodeVisitor.st	Fri Sep 25 03:51:15 2015 +0100
    34.3 @@ -1,3 +1,16 @@
    34.4 +"
    34.5 +    Copyright (C) 2015-now Jan Vrany
    34.6 +
    34.7 +    This code is not an open-source (yet). You may use this code
    34.8 +    for your own experiments and projects, given that:
    34.9 +
   34.10 +    * all modification to the code will be sent to the
   34.11 +      original author for inclusion in future releases
   34.12 +    * this is not used in any commercial software
   34.13 +
   34.14 +    This license is provisional and may (will) change in
   34.15 +    a future.
   34.16 +"
   34.17  "{ Package: 'jv:tea/compiler' }"
   34.18  
   34.19  "{ NameSpace: Smalltalk }"
   34.20 @@ -9,6 +22,23 @@
   34.21  	category:'Languages-Tea-Compiler-AST'
   34.22  !
   34.23  
   34.24 +!TProgramNodeVisitor class methodsFor:'documentation'!
   34.25 +
   34.26 +copyright
   34.27 +"
   34.28 +    Copyright (C) 2015-now Jan Vrany
   34.29 +
   34.30 +    This code is not an open-source (yet). You may use this code
   34.31 +    for your own experiments and projects, given that:
   34.32 +
   34.33 +    * all modification to the code will be sent to the
   34.34 +      original author for inclusion in future releases
   34.35 +    * this is not used in any commercial software
   34.36 +
   34.37 +    This license is provisional and may (will) change in
   34.38 +    a future.
   34.39 +"
   34.40 +! !
   34.41  
   34.42  !TProgramNodeVisitor methodsFor:'visiting'!
   34.43  
    35.1 --- a/compiler/TScope.st	Wed Sep 23 22:21:44 2015 +0100
    35.2 +++ b/compiler/TScope.st	Fri Sep 25 03:51:15 2015 +0100
    35.3 @@ -1,3 +1,16 @@
    35.4 +"
    35.5 +    Copyright (C) 2015-now Jan Vrany
    35.6 +
    35.7 +    This code is not an open-source (yet). You may use this code
    35.8 +    for your own experiments and projects, given that:
    35.9 +
   35.10 +    * all modification to the code will be sent to the
   35.11 +      original author for inclusion in future releases
   35.12 +    * this is not used in any commercial software
   35.13 +
   35.14 +    This license is provisional and may (will) change in
   35.15 +    a future.
   35.16 +"
   35.17  "{ Package: 'jv:tea/compiler' }"
   35.18  
   35.19  "{ NameSpace: Smalltalk }"
   35.20 @@ -9,6 +22,24 @@
   35.21  	category:'Languages-Tea-Compiler-Bindings'
   35.22  !
   35.23  
   35.24 +!TScope class methodsFor:'documentation'!
   35.25 +
   35.26 +copyright
   35.27 +"
   35.28 +    Copyright (C) 2015-now Jan Vrany
   35.29 +
   35.30 +    This code is not an open-source (yet). You may use this code
   35.31 +    for your own experiments and projects, given that:
   35.32 +
   35.33 +    * all modification to the code will be sent to the
   35.34 +      original author for inclusion in future releases
   35.35 +    * this is not used in any commercial software
   35.36 +
   35.37 +    This license is provisional and may (will) change in
   35.38 +    a future.
   35.39 +"
   35.40 +! !
   35.41 +
   35.42  !TScope class methodsFor:'instance creation'!
   35.43  
   35.44  node: node
    36.1 --- a/compiler/TSemanticAnalyser.st	Wed Sep 23 22:21:44 2015 +0100
    36.2 +++ b/compiler/TSemanticAnalyser.st	Fri Sep 25 03:51:15 2015 +0100
    36.3 @@ -1,3 +1,16 @@
    36.4 +"
    36.5 +    Copyright (C) 2015-now Jan Vrany
    36.6 +
    36.7 +    This code is not an open-source (yet). You may use this code
    36.8 +    for your own experiments and projects, given that:
    36.9 +
   36.10 +    * all modification to the code will be sent to the
   36.11 +      original author for inclusion in future releases
   36.12 +    * this is not used in any commercial software
   36.13 +
   36.14 +    This license is provisional and may (will) change in
   36.15 +    a future.
   36.16 +"
   36.17  "{ Package: 'jv:tea/compiler' }"
   36.18  
   36.19  "{ NameSpace: Smalltalk }"
   36.20 @@ -11,6 +24,22 @@
   36.21  
   36.22  !TSemanticAnalyser class methodsFor:'documentation'!
   36.23  
   36.24 +copyright
   36.25 +"
   36.26 +    Copyright (C) 2015-now Jan Vrany
   36.27 +
   36.28 +    This code is not an open-source (yet). You may use this code
   36.29 +    for your own experiments and projects, given that:
   36.30 +
   36.31 +    * all modification to the code will be sent to the
   36.32 +      original author for inclusion in future releases
   36.33 +    * this is not used in any commercial software
   36.34 +
   36.35 +    This license is provisional and may (will) change in
   36.36 +    a future.
   36.37 +"
   36.38 +!
   36.39 +
   36.40  documentation
   36.41  "
   36.42      This is the very first pass on the code. Its responsibility is:
    37.1 --- a/compiler/TSemanticAnalyserTests.st	Wed Sep 23 22:21:44 2015 +0100
    37.2 +++ b/compiler/TSemanticAnalyserTests.st	Fri Sep 25 03:51:15 2015 +0100
    37.3 @@ -1,3 +1,16 @@
    37.4 +"
    37.5 +    Copyright (C) 2015-now Jan Vrany
    37.6 +
    37.7 +    This code is not an open-source (yet). You may use this code
    37.8 +    for your own experiments and projects, given that:
    37.9 +
   37.10 +    * all modification to the code will be sent to the
   37.11 +      original author for inclusion in future releases
   37.12 +    * this is not used in any commercial software
   37.13 +
   37.14 +    This license is provisional and may (will) change in
   37.15 +    a future.
   37.16 +"
   37.17  "{ Package: 'jv:tea/compiler' }"
   37.18  
   37.19  "{ NameSpace: Smalltalk }"
   37.20 @@ -9,6 +22,23 @@
   37.21  	category:'Languages-Tea-Compiler-Internals-Tests'
   37.22  !
   37.23  
   37.24 +!TSemanticAnalyserTests class methodsFor:'documentation'!
   37.25 +
   37.26 +copyright
   37.27 +"
   37.28 +    Copyright (C) 2015-now Jan Vrany
   37.29 +
   37.30 +    This code is not an open-source (yet). You may use this code
   37.31 +    for your own experiments and projects, given that:
   37.32 +
   37.33 +    * all modification to the code will be sent to the
   37.34 +      original author for inclusion in future releases
   37.35 +    * this is not used in any commercial software
   37.36 +
   37.37 +    This license is provisional and may (will) change in
   37.38 +    a future.
   37.39 +"
   37.40 +! !
   37.41  
   37.42  !TSemanticAnalyserTests methodsFor:'running'!
   37.43  
    38.1 --- a/compiler/TSimpleType.st	Wed Sep 23 22:21:44 2015 +0100
    38.2 +++ b/compiler/TSimpleType.st	Fri Sep 25 03:51:15 2015 +0100
    38.3 @@ -1,3 +1,16 @@
    38.4 +"
    38.5 +    Copyright (C) 2015-now Jan Vrany
    38.6 +
    38.7 +    This code is not an open-source (yet). You may use this code
    38.8 +    for your own experiments and projects, given that:
    38.9 +
   38.10 +    * all modification to the code will be sent to the
   38.11 +      original author for inclusion in future releases
   38.12 +    * this is not used in any commercial software
   38.13 +
   38.14 +    This license is provisional and may (will) change in
   38.15 +    a future.
   38.16 +"
   38.17  "{ Package: 'jv:tea/compiler' }"
   38.18  
   38.19  "{ NameSpace: Smalltalk }"
   38.20 @@ -9,6 +22,24 @@
   38.21  	category:'Languages-Tea-Compiler-Types'
   38.22  !
   38.23  
   38.24 +!TSimpleType class methodsFor:'documentation'!
   38.25 +
   38.26 +copyright
   38.27 +"
   38.28 +    Copyright (C) 2015-now Jan Vrany
   38.29 +
   38.30 +    This code is not an open-source (yet). You may use this code
   38.31 +    for your own experiments and projects, given that:
   38.32 +
   38.33 +    * all modification to the code will be sent to the
   38.34 +      original author for inclusion in future releases
   38.35 +    * this is not used in any commercial software
   38.36 +
   38.37 +    This license is provisional and may (will) change in
   38.38 +    a future.
   38.39 +"
   38.40 +! !
   38.41 +
   38.42  !TSimpleType class methodsFor:'instance creation'!
   38.43  
   38.44  named: aString
    39.1 --- a/compiler/TSimpleTypeNode.st	Wed Sep 23 22:21:44 2015 +0100
    39.2 +++ b/compiler/TSimpleTypeNode.st	Fri Sep 25 03:51:15 2015 +0100
    39.3 @@ -1,3 +1,16 @@
    39.4 +"
    39.5 +    Copyright (C) 2015-now Jan Vrany
    39.6 +
    39.7 +    This code is not an open-source (yet). You may use this code
    39.8 +    for your own experiments and projects, given that:
    39.9 +
   39.10 +    * all modification to the code will be sent to the
   39.11 +      original author for inclusion in future releases
   39.12 +    * this is not used in any commercial software
   39.13 +
   39.14 +    This license is provisional and may (will) change in
   39.15 +    a future.
   39.16 +"
   39.17  "{ Package: 'jv:tea/compiler' }"
   39.18  
   39.19  "{ NameSpace: Smalltalk }"
   39.20 @@ -9,6 +22,24 @@
   39.21  	category:'Languages-Tea-Compiler-AST'
   39.22  !
   39.23  
   39.24 +!TSimpleTypeNode class methodsFor:'documentation'!
   39.25 +
   39.26 +copyright
   39.27 +"
   39.28 +    Copyright (C) 2015-now Jan Vrany
   39.29 +
   39.30 +    This code is not an open-source (yet). You may use this code
   39.31 +    for your own experiments and projects, given that:
   39.32 +
   39.33 +    * all modification to the code will be sent to the
   39.34 +      original author for inclusion in future releases
   39.35 +    * this is not used in any commercial software
   39.36 +
   39.37 +    This license is provisional and may (will) change in
   39.38 +    a future.
   39.39 +"
   39.40 +! !
   39.41 +
   39.42  !TSimpleTypeNode methodsFor:'accessing'!
   39.43  
   39.44  name
    40.1 --- a/compiler/TSourceReader.st	Wed Sep 23 22:21:44 2015 +0100
    40.2 +++ b/compiler/TSourceReader.st	Fri Sep 25 03:51:15 2015 +0100
    40.3 @@ -1,3 +1,16 @@
    40.4 +"
    40.5 +    Copyright (C) 2015-now Jan Vrany
    40.6 +
    40.7 +    This code is not an open-source (yet). You may use this code
    40.8 +    for your own experiments and projects, given that:
    40.9 +
   40.10 +    * all modification to the code will be sent to the
   40.11 +      original author for inclusion in future releases
   40.12 +    * this is not used in any commercial software
   40.13 +
   40.14 +    This license is provisional and may (will) change in
   40.15 +    a future.
   40.16 +"
   40.17  "{ Package: 'jv:tea/compiler' }"
   40.18  
   40.19  "{ NameSpace: Smalltalk }"
   40.20 @@ -9,6 +22,24 @@
   40.21  	category:'Languages-Tea-Compiler-Model'
   40.22  !
   40.23  
   40.24 +!TSourceReader class methodsFor:'documentation'!
   40.25 +
   40.26 +copyright
   40.27 +"
   40.28 +    Copyright (C) 2015-now Jan Vrany
   40.29 +
   40.30 +    This code is not an open-source (yet). You may use this code
   40.31 +    for your own experiments and projects, given that:
   40.32 +
   40.33 +    * all modification to the code will be sent to the
   40.34 +      original author for inclusion in future releases
   40.35 +    * this is not used in any commercial software
   40.36 +
   40.37 +    This license is provisional and may (will) change in
   40.38 +    a future.
   40.39 +"
   40.40 +! !
   40.41 +
   40.42  !TSourceReader class methodsFor:'reading'!
   40.43  
   40.44  read: aStringOrFilenameOrStream
    41.1 --- a/compiler/TSourceReaderTests.st	Wed Sep 23 22:21:44 2015 +0100
    41.2 +++ b/compiler/TSourceReaderTests.st	Fri Sep 25 03:51:15 2015 +0100
    41.3 @@ -1,3 +1,16 @@
    41.4 +"
    41.5 +    Copyright (C) 2015-now Jan Vrany
    41.6 +
    41.7 +    This code is not an open-source (yet). You may use this code
    41.8 +    for your own experiments and projects, given that:
    41.9 +
   41.10 +    * all modification to the code will be sent to the
   41.11 +      original author for inclusion in future releases
   41.12 +    * this is not used in any commercial software
   41.13 +
   41.14 +    This license is provisional and may (will) change in
   41.15 +    a future.
   41.16 +"
   41.17  "{ Package: 'jv:tea/compiler' }"
   41.18  
   41.19  "{ NameSpace: Smalltalk }"
   41.20 @@ -9,6 +22,24 @@
   41.21  	category:'Languages-Tea-Compiler-Model-Tests'
   41.22  !
   41.23  
   41.24 +!TSourceReaderTests class methodsFor:'documentation'!
   41.25 +
   41.26 +copyright
   41.27 +"
   41.28 +    Copyright (C) 2015-now Jan Vrany
   41.29 +
   41.30 +    This code is not an open-source (yet). You may use this code
   41.31 +    for your own experiments and projects, given that:
   41.32 +
   41.33 +    * all modification to the code will be sent to the
   41.34 +      original author for inclusion in future releases
   41.35 +    * this is not used in any commercial software
   41.36 +
   41.37 +    This license is provisional and may (will) change in
   41.38 +    a future.
   41.39 +"
   41.40 +! !
   41.41 +
   41.42  !TSourceReaderTests methodsFor:'tests'!
   41.43  
   41.44  test_01
    42.1 --- a/compiler/TSpecialFormNode.st	Wed Sep 23 22:21:44 2015 +0100
    42.2 +++ b/compiler/TSpecialFormNode.st	Fri Sep 25 03:51:15 2015 +0100
    42.3 @@ -1,3 +1,16 @@
    42.4 +"
    42.5 +    Copyright (C) 2015-now Jan Vrany
    42.6 +
    42.7 +    This code is not an open-source (yet). You may use this code
    42.8 +    for your own experiments and projects, given that:
    42.9 +
   42.10 +    * all modification to the code will be sent to the
   42.11 +      original author for inclusion in future releases
   42.12 +    * this is not used in any commercial software
   42.13 +
   42.14 +    This license is provisional and may (will) change in
   42.15 +    a future.
   42.16 +"
   42.17  "{ Package: 'jv:tea/compiler' }"
   42.18  
   42.19  "{ NameSpace: Smalltalk }"
   42.20 @@ -11,6 +24,22 @@
   42.21  
   42.22  !TSpecialFormNode class methodsFor:'documentation'!
   42.23  
   42.24 +copyright
   42.25 +"
   42.26 +    Copyright (C) 2015-now Jan Vrany
   42.27 +
   42.28 +    This code is not an open-source (yet). You may use this code
   42.29 +    for your own experiments and projects, given that:
   42.30 +
   42.31 +    * all modification to the code will be sent to the
   42.32 +      original author for inclusion in future releases
   42.33 +    * this is not used in any commercial software
   42.34 +
   42.35 +    This license is provisional and may (will) change in
   42.36 +    a future.
   42.37 +"
   42.38 +!
   42.39 +
   42.40  documentation
   42.41  "
   42.42      TSpecialNode
    43.1 --- a/compiler/TType.st	Wed Sep 23 22:21:44 2015 +0100
    43.2 +++ b/compiler/TType.st	Fri Sep 25 03:51:15 2015 +0100
    43.3 @@ -1,3 +1,16 @@
    43.4 +"
    43.5 +    Copyright (C) 2015-now Jan Vrany
    43.6 +
    43.7 +    This code is not an open-source (yet). You may use this code
    43.8 +    for your own experiments and projects, given that:
    43.9 +
   43.10 +    * all modification to the code will be sent to the
   43.11 +      original author for inclusion in future releases
   43.12 +    * this is not used in any commercial software
   43.13 +
   43.14 +    This license is provisional and may (will) change in
   43.15 +    a future.
   43.16 +"
   43.17  "{ Package: 'jv:tea/compiler' }"
   43.18  
   43.19  "{ NameSpace: Smalltalk }"
   43.20 @@ -9,6 +22,23 @@
   43.21  	category:'Languages-Tea-Compiler-Types'
   43.22  !
   43.23  
   43.24 +!TType class methodsFor:'documentation'!
   43.25 +
   43.26 +copyright
   43.27 +"
   43.28 +    Copyright (C) 2015-now Jan Vrany
   43.29 +
   43.30 +    This code is not an open-source (yet). You may use this code
   43.31 +    for your own experiments and projects, given that:
   43.32 +
   43.33 +    * all modification to the code will be sent to the
   43.34 +      original author for inclusion in future releases
   43.35 +    * this is not used in any commercial software
   43.36 +
   43.37 +    This license is provisional and may (will) change in
   43.38 +    a future.
   43.39 +"
   43.40 +! !
   43.41  
   43.42  !TType methodsFor:'comparing'!
   43.43  
    44.1 --- a/compiler/TTypeNode.st	Wed Sep 23 22:21:44 2015 +0100
    44.2 +++ b/compiler/TTypeNode.st	Fri Sep 25 03:51:15 2015 +0100
    44.3 @@ -1,3 +1,16 @@
    44.4 +"
    44.5 +    Copyright (C) 2015-now Jan Vrany
    44.6 +
    44.7 +    This code is not an open-source (yet). You may use this code
    44.8 +    for your own experiments and projects, given that:
    44.9 +
   44.10 +    * all modification to the code will be sent to the
   44.11 +      original author for inclusion in future releases
   44.12 +    * this is not used in any commercial software
   44.13 +
   44.14 +    This license is provisional and may (will) change in
   44.15 +    a future.
   44.16 +"
   44.17  "{ Package: 'jv:tea/compiler' }"
   44.18  
   44.19  "{ NameSpace: Smalltalk }"
   44.20 @@ -9,6 +22,24 @@
   44.21  	category:'Languages-Tea-Compiler-AST'
   44.22  !
   44.23  
   44.24 +!TTypeNode class methodsFor:'documentation'!
   44.25 +
   44.26 +copyright
   44.27 +"
   44.28 +    Copyright (C) 2015-now Jan Vrany
   44.29 +
   44.30 +    This code is not an open-source (yet). You may use this code
   44.31 +    for your own experiments and projects, given that:
   44.32 +
   44.33 +    * all modification to the code will be sent to the
   44.34 +      original author for inclusion in future releases
   44.35 +    * this is not used in any commercial software
   44.36 +
   44.37 +    This license is provisional and may (will) change in
   44.38 +    a future.
   44.39 +"
   44.40 +! !
   44.41 +
   44.42  !TTypeNode class methodsFor:'accessing'!
   44.43  
   44.44  formatterClass
    45.1 --- a/compiler/TTypeSpecNode.st	Wed Sep 23 22:21:44 2015 +0100
    45.2 +++ b/compiler/TTypeSpecNode.st	Fri Sep 25 03:51:15 2015 +0100
    45.3 @@ -1,3 +1,16 @@
    45.4 +"
    45.5 +    Copyright (C) 2015-now Jan Vrany
    45.6 +
    45.7 +    This code is not an open-source (yet). You may use this code
    45.8 +    for your own experiments and projects, given that:
    45.9 +
   45.10 +    * all modification to the code will be sent to the
   45.11 +      original author for inclusion in future releases
   45.12 +    * this is not used in any commercial software
   45.13 +
   45.14 +    This license is provisional and may (will) change in
   45.15 +    a future.
   45.16 +"
   45.17  "{ Package: 'jv:tea/compiler' }"
   45.18  
   45.19  "{ NameSpace: Smalltalk }"
   45.20 @@ -9,6 +22,24 @@
   45.21  	category:'Languages-Tea-Compiler-AST'
   45.22  !
   45.23  
   45.24 +!TTypeSpecNode class methodsFor:'documentation'!
   45.25 +
   45.26 +copyright
   45.27 +"
   45.28 +    Copyright (C) 2015-now Jan Vrany
   45.29 +
   45.30 +    This code is not an open-source (yet). You may use this code
   45.31 +    for your own experiments and projects, given that:
   45.32 +
   45.33 +    * all modification to the code will be sent to the
   45.34 +      original author for inclusion in future releases
   45.35 +    * this is not used in any commercial software
   45.36 +
   45.37 +    This license is provisional and may (will) change in
   45.38 +    a future.
   45.39 +"
   45.40 +! !
   45.41 +
   45.42  !TTypeSpecNode class methodsFor:'accessing'!
   45.43  
   45.44  formatterClass
    46.1 --- a/compiler/TTypechecker.st	Wed Sep 23 22:21:44 2015 +0100
    46.2 +++ b/compiler/TTypechecker.st	Fri Sep 25 03:51:15 2015 +0100
    46.3 @@ -1,3 +1,16 @@
    46.4 +"
    46.5 +    Copyright (C) 2015-now Jan Vrany
    46.6 +
    46.7 +    This code is not an open-source (yet). You may use this code
    46.8 +    for your own experiments and projects, given that:
    46.9 +
   46.10 +    * all modification to the code will be sent to the
   46.11 +      original author for inclusion in future releases
   46.12 +    * this is not used in any commercial software
   46.13 +
   46.14 +    This license is provisional and may (will) change in
   46.15 +    a future.
   46.16 +"
   46.17  "{ Package: 'jv:tea/compiler' }"
   46.18  
   46.19  "{ NameSpace: Smalltalk }"
   46.20 @@ -9,6 +22,23 @@
   46.21  	category:'Languages-Tea-Compiler-Internals'
   46.22  !
   46.23  
   46.24 +!TTypechecker class methodsFor:'documentation'!
   46.25 +
   46.26 +copyright
   46.27 +"
   46.28 +    Copyright (C) 2015-now Jan Vrany
   46.29 +
   46.30 +    This code is not an open-source (yet). You may use this code
   46.31 +    for your own experiments and projects, given that:
   46.32 +
   46.33 +    * all modification to the code will be sent to the
   46.34 +      original author for inclusion in future releases
   46.35 +    * this is not used in any commercial software
   46.36 +
   46.37 +    This license is provisional and may (will) change in
   46.38 +    a future.
   46.39 +"
   46.40 +! !
   46.41  
   46.42  !TTypechecker methodsFor:'visiting'!
   46.43  
    47.1 --- a/compiler/TTypecheckerTests.st	Wed Sep 23 22:21:44 2015 +0100
    47.2 +++ b/compiler/TTypecheckerTests.st	Fri Sep 25 03:51:15 2015 +0100
    47.3 @@ -1,3 +1,16 @@
    47.4 +"
    47.5 +    Copyright (C) 2015-now Jan Vrany
    47.6 +
    47.7 +    This code is not an open-source (yet). You may use this code
    47.8 +    for your own experiments and projects, given that:
    47.9 +
   47.10 +    * all modification to the code will be sent to the
   47.11 +      original author for inclusion in future releases
   47.12 +    * this is not used in any commercial software
   47.13 +
   47.14 +    This license is provisional and may (will) change in
   47.15 +    a future.
   47.16 +"
   47.17  "{ Package: 'jv:tea/compiler' }"
   47.18  
   47.19  "{ NameSpace: Smalltalk }"
   47.20 @@ -9,6 +22,24 @@
   47.21  	category:'Languages-Tea-Compiler-Internals-Tests'
   47.22  !
   47.23  
   47.24 +!TTypecheckerTests class methodsFor:'documentation'!
   47.25 +
   47.26 +copyright
   47.27 +"
   47.28 +    Copyright (C) 2015-now Jan Vrany
   47.29 +
   47.30 +    This code is not an open-source (yet). You may use this code
   47.31 +    for your own experiments and projects, given that:
   47.32 +
   47.33 +    * all modification to the code will be sent to the
   47.34 +      original author for inclusion in future releases
   47.35 +    * this is not used in any commercial software
   47.36 +
   47.37 +    This license is provisional and may (will) change in
   47.38 +    a future.
   47.39 +"
   47.40 +! !
   47.41 +
   47.42  !TTypecheckerTests methodsFor:'tests - bindings'!
   47.43  
   47.44  test_binding_01
    48.1 --- a/compiler/TValueBinding.st	Wed Sep 23 22:21:44 2015 +0100
    48.2 +++ b/compiler/TValueBinding.st	Fri Sep 25 03:51:15 2015 +0100
    48.3 @@ -1,3 +1,16 @@
    48.4 +"
    48.5 +    Copyright (C) 2015-now Jan Vrany
    48.6 +
    48.7 +    This code is not an open-source (yet). You may use this code
    48.8 +    for your own experiments and projects, given that:
    48.9 +
   48.10 +    * all modification to the code will be sent to the
   48.11 +      original author for inclusion in future releases
   48.12 +    * this is not used in any commercial software
   48.13 +
   48.14 +    This license is provisional and may (will) change in
   48.15 +    a future.
   48.16 +"
   48.17  "{ Package: 'jv:tea/compiler' }"
   48.18  
   48.19  "{ NameSpace: Smalltalk }"
   48.20 @@ -9,6 +22,24 @@
   48.21  	category:'Languages-Tea-Compiler-Bindings'
   48.22  !
   48.23  
   48.24 +!TValueBinding class methodsFor:'documentation'!
   48.25 +
   48.26 +copyright
   48.27 +"
   48.28 +    Copyright (C) 2015-now Jan Vrany
   48.29 +
   48.30 +    This code is not an open-source (yet). You may use this code
   48.31 +    for your own experiments and projects, given that:
   48.32 +
   48.33 +    * all modification to the code will be sent to the
   48.34 +      original author for inclusion in future releases
   48.35 +    * this is not used in any commercial software
   48.36 +
   48.37 +    This license is provisional and may (will) change in
   48.38 +    a future.
   48.39 +"
   48.40 +! !
   48.41 +
   48.42  !TValueBinding class methodsFor:'queries'!
   48.43  
   48.44  isAbstract
    49.1 --- a/compiler/TVariableBinding.st	Wed Sep 23 22:21:44 2015 +0100
    49.2 +++ b/compiler/TVariableBinding.st	Fri Sep 25 03:51:15 2015 +0100
    49.3 @@ -1,3 +1,16 @@
    49.4 +"
    49.5 +    Copyright (C) 2015-now Jan Vrany
    49.6 +
    49.7 +    This code is not an open-source (yet). You may use this code
    49.8 +    for your own experiments and projects, given that:
    49.9 +
   49.10 +    * all modification to the code will be sent to the
   49.11 +      original author for inclusion in future releases
   49.12 +    * this is not used in any commercial software
   49.13 +
   49.14 +    This license is provisional and may (will) change in
   49.15 +    a future.
   49.16 +"
   49.17  "{ Package: 'jv:tea/compiler' }"
   49.18  
   49.19  "{ NameSpace: Smalltalk }"
   49.20 @@ -9,6 +22,23 @@
   49.21  	category:'Languages-Tea-Compiler-Bindings'
   49.22  !
   49.23  
   49.24 +!TVariableBinding class methodsFor:'documentation'!
   49.25 +
   49.26 +copyright
   49.27 +"
   49.28 +    Copyright (C) 2015-now Jan Vrany
   49.29 +
   49.30 +    This code is not an open-source (yet). You may use this code
   49.31 +    for your own experiments and projects, given that:
   49.32 +
   49.33 +    * all modification to the code will be sent to the
   49.34 +      original author for inclusion in future releases
   49.35 +    * this is not used in any commercial software
   49.36 +
   49.37 +    This license is provisional and may (will) change in
   49.38 +    a future.
   49.39 +"
   49.40 +! !
   49.41  
   49.42  !TVariableBinding class methodsFor:'instance creation'!
   49.43  
    50.1 --- a/compiler/abbrev.stc	Wed Sep 23 22:21:44 2015 +0100
    50.2 +++ b/compiler/abbrev.stc	Fri Sep 25 03:51:15 2015 +0100
    50.3 @@ -4,23 +4,29 @@
    50.4  TClassDefinition TClassDefinition jv:tea/compiler 'Languages-Tea-Compiler-Model' 0
    50.5  TCompilationUnitDefinition TCompilationUnitDefinition jv:tea/compiler 'Languages-Tea-Compiler-Model' 0
    50.6  TCompiler TCompiler jv:tea/compiler 'Languages-Tea-Compiler' 0
    50.7 -TCompilerContext TCompilerContext jv:tea/compiler 'Languages-Tea-Compiler' 0
    50.8  TCompilerError TCompilerError jv:tea/compiler 'Languages-Tea-Compiler-Exceptions' 1
    50.9  TCompilerExamples TCompilerExamples jv:tea/compiler 'Languages-Tea-Compiler-Examples' 1
   50.10  TEnvironmentProvider TEnvironmentProvider jv:tea/compiler 'Languages-Tea-Compiler-Model-Provider' 0
   50.11  TFormatter TFormatter jv:tea/compiler 'Languages-Tea-Compiler-AST' 0
   50.12  TMetaDefinition TMetaDefinition jv:tea/compiler 'Languages-Tea-Compiler-Model' 0
   50.13  TMethodDefinition TMethodDefinition jv:tea/compiler 'Languages-Tea-Compiler-Model' 0
   50.14 +TMethodDefinitionTests TMethodDefinitionTests jv:tea/compiler 'Languages-Tea-Compiler-Model-Tests' 1
   50.15  TNamespaceDefinition TNamespaceDefinition jv:tea/compiler 'Languages-Tea-Compiler-Model' 0
   50.16  TObjectWithProperties TObjectWithProperties jv:tea/compiler 'Languages-Tea-Compiler-Internals' 0
   50.17  TParser TParser jv:tea/compiler 'Languages-Tea-Compiler-AST' 0
   50.18 +TParserTests TParserTests jv:tea/compiler 'Languages-Tea-Compiler-AST-Tests' 1
   50.19  TProgramNodeVisitor TProgramNodeVisitor jv:tea/compiler 'Languages-Tea-Compiler-AST' 0
   50.20 +TSemanticAnalyserTests TSemanticAnalyserTests jv:tea/compiler 'Languages-Tea-Compiler-Internals-Tests' 1
   50.21  TSourceReader TSourceReader jv:tea/compiler 'Languages-Tea-Compiler-Model' 0
   50.22 +TSourceReaderTests TSourceReaderTests jv:tea/compiler 'Languages-Tea-Compiler-Model-Tests' 1
   50.23  TSpecialFormNode TSpecialFormNode jv:tea/compiler 'Languages-Tea-Compiler-AST' 0
   50.24  TTypeNode TTypeNode jv:tea/compiler 'Languages-Tea-Compiler-AST' 0
   50.25  TTypeSpecNode TTypeSpecNode jv:tea/compiler 'Languages-Tea-Compiler-AST' 0
   50.26 +TTypecheckerTests TTypecheckerTests jv:tea/compiler 'Languages-Tea-Compiler-Internals-Tests' 1
   50.27  jv_tea_compiler jv_tea_compiler jv:tea/compiler '* Projects & Packages *' 3
   50.28  TBinding TBinding jv:tea/compiler 'Languages-Tea-Compiler-Bindings' 0
   50.29 +TCompilerContext TCompilerContext jv:tea/compiler 'Languages-Tea-Compiler' 0
   50.30 +TCompilerOptions TCompilerOptions jv:tea/compiler 'Languages-Tea-Compiler' 0
   50.31  TCompilerPass TCompilerPass jv:tea/compiler 'Languages-Tea-Compiler-Internals' 0
   50.32  TEnvironment TEnvironment jv:tea/compiler 'Languages-Tea-Compiler-Model' 0
   50.33  TFilesystemProvider TFilesystemProvider jv:tea/compiler 'Languages-Tea-Compiler-Model-Provider' 0
   50.34 @@ -43,8 +49,3 @@
   50.35  TVariableBinding TVariableBinding jv:tea/compiler 'Languages-Tea-Compiler-Bindings' 0
   50.36  TArgumentBinding TArgumentBinding jv:tea/compiler 'Languages-Tea-Compiler-Bindings' 0
   50.37  TLocalBinding TLocalBinding jv:tea/compiler 'Languages-Tea-Compiler-Bindings' 0
   50.38 -TMethodDefinitionTests TMethodDefinitionTests jv:tea/compiler 'Languages-Tea-Compiler-Model-Tests' 1
   50.39 -TParserTests TParserTests jv:tea/compiler 'Languages-Tea-Compiler-AST-Tests' 1
   50.40 -TSemanticAnalyserTests TSemanticAnalyserTests jv:tea/compiler 'Languages-Tea-Compiler-Internals-Tests' 1
   50.41 -TSourceReaderTests TSourceReaderTests jv:tea/compiler 'Languages-Tea-Compiler-Model-Tests' 1
   50.42 -TTypecheckerTests TTypecheckerTests jv:tea/compiler 'Languages-Tea-Compiler-Internals-Tests' 1
    51.1 --- a/compiler/bc.mak	Wed Sep 23 22:21:44 2015 +0100
    51.2 +++ b/compiler/bc.mak	Fri Sep 25 03:51:15 2015 +0100
    51.3 @@ -58,6 +58,7 @@
    51.4  	pushd ..\..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
    51.5  	pushd ..\..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
    51.6  	pushd ..\..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
    51.7 +	pushd ..\..\llvm_s & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
    51.8  
    51.9  
   51.10  
   51.11 @@ -77,7 +78,6 @@
   51.12  $(OUTDIR)TClassDefinition.$(O) TClassDefinition.$(H): TClassDefinition.st $(INCLUDE_TOP)\stx\goodies\ring\RGBehaviorDefinition.$(H) $(INCLUDE_TOP)\stx\goodies\ring\RGClassDefinition.$(H) $(INCLUDE_TOP)\stx\goodies\ring\RGClassDescriptionDefinition.$(H) $(INCLUDE_TOP)\stx\goodies\ring\RGDefinition.$(H) $(INCLUDE_TOP)\stx\goodies\ring\RGGlobalDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.13  $(OUTDIR)TCompilationUnitDefinition.$(O) TCompilationUnitDefinition.$(H): TCompilationUnitDefinition.st $(INCLUDE_TOP)\stx\goodies\ring\RGAbstractContainer.$(H) $(INCLUDE_TOP)\stx\goodies\ring\RGDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.14  $(OUTDIR)TCompiler.$(O) TCompiler.$(H): TCompiler.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.15 -$(OUTDIR)TCompilerContext.$(O) TCompilerContext.$(H): TCompilerContext.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.16  $(OUTDIR)TCompilerError.$(O) TCompilerError.$(H): TCompilerError.st $(INCLUDE_TOP)\stx\libbasic\Error.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.17  $(OUTDIR)TEnvironmentProvider.$(O) TEnvironmentProvider.$(H): TEnvironmentProvider.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.18  $(OUTDIR)TFormatter.$(O) TFormatter.$(H): TFormatter.st $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBFormatter.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.19 @@ -93,6 +93,8 @@
   51.20  $(OUTDIR)TTypeSpecNode.$(O) TTypeSpecNode.$(H): TTypeSpecNode.st $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBProgramNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.21  $(OUTDIR)jv_tea_compiler.$(O) jv_tea_compiler.$(H): jv_tea_compiler.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
   51.22  $(OUTDIR)TBinding.$(O) TBinding.$(H): TBinding.st $(INCLUDE_TOP)\jv\tea\compiler\TObjectWithProperties.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.23 +$(OUTDIR)TCompilerContext.$(O) TCompilerContext.$(H): TCompilerContext.st $(INCLUDE_TOP)\jv\tea\compiler\TObjectWithProperties.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.24 +$(OUTDIR)TCompilerOptions.$(O) TCompilerOptions.$(H): TCompilerOptions.st $(INCLUDE_TOP)\jv\tea\compiler\TObjectWithProperties.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.25  $(OUTDIR)TCompilerPass.$(O) TCompilerPass.$(H): TCompilerPass.st $(INCLUDE_TOP)\jv\tea\compiler\TProgramNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.26  $(OUTDIR)TEnvironment.$(O) TEnvironment.$(H): TEnvironment.st $(INCLUDE_TOP)\jv\tea\compiler\TNamespaceDefinition.$(H) $(INCLUDE_TOP)\stx\goodies\ring\RGAbstractContainer.$(H) $(INCLUDE_TOP)\stx\goodies\ring\RGContainer.$(H) $(INCLUDE_TOP)\stx\goodies\ring\RGDefinition.$(H) $(INCLUDE_TOP)\stx\goodies\ring\RGNamespace.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.27  $(OUTDIR)TFilesystemProvider.$(O) TFilesystemProvider.$(H): TFilesystemProvider.st $(INCLUDE_TOP)\jv\tea\compiler\TEnvironmentProvider.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.28 @@ -103,7 +105,7 @@
   51.29  $(OUTDIR)TBlockType.$(O) TBlockType.$(H): TBlockType.st $(INCLUDE_TOP)\jv\tea\compiler\TObjectWithProperties.$(H) $(INCLUDE_TOP)\jv\tea\compiler\TType.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.30  $(OUTDIR)TClassBinding.$(O) TClassBinding.$(H): TClassBinding.st $(INCLUDE_TOP)\jv\tea\compiler\TBinding.$(H) $(INCLUDE_TOP)\jv\tea\compiler\TObjectWithProperties.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.31  $(OUTDIR)TFunctionBinding.$(O) TFunctionBinding.$(H): TFunctionBinding.st $(INCLUDE_TOP)\jv\tea\compiler\TBinding.$(H) $(INCLUDE_TOP)\jv\tea\compiler\TObjectWithProperties.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.32 -$(OUTDIR)TLLVMCodeGenerator.$(O) TLLVMCodeGenerator.$(H): TLLVMCodeGenerator.st $(INCLUDE_TOP)\jv\tea\compiler\TCompilerPass.$(H) $(INCLUDE_TOP)\jv\tea\compiler\TProgramNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.33 +$(OUTDIR)TLLVMCodeGenerator.$(O) TLLVMCodeGenerator.$(H): TLLVMCodeGenerator.st $(INCLUDE_TOP)\jv\llvm_s\LLVMAtomicOrdering.$(H) $(INCLUDE_TOP)\jv\llvm_s\LLVMAtomicRMWBinOp.$(H) $(INCLUDE_TOP)\jv\llvm_s\LLVMAttribute.$(H) $(INCLUDE_TOP)\jv\llvm_s\LLVMByteOrdering.$(H) $(INCLUDE_TOP)\jv\llvm_s\LLVMCallConv.$(H) $(INCLUDE_TOP)\jv\llvm_s\LLVMDLLStorageClass.$(H) $(INCLUDE_TOP)\jv\llvm_s\LLVMIntPredicate.$(H) $(INCLUDE_TOP)\jv\tea\compiler\TCompilerPass.$(H) $(INCLUDE_TOP)\jv\tea\compiler\TProgramNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.34  $(OUTDIR)TNamespaceBinding.$(O) TNamespaceBinding.$(H): TNamespaceBinding.st $(INCLUDE_TOP)\jv\tea\compiler\TBinding.$(H) $(INCLUDE_TOP)\jv\tea\compiler\TObjectWithProperties.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.35  $(OUTDIR)TSemanticAnalyser.$(O) TSemanticAnalyser.$(H): TSemanticAnalyser.st $(INCLUDE_TOP)\jv\tea\compiler\TCompilerPass.$(H) $(INCLUDE_TOP)\jv\tea\compiler\TProgramNodeVisitor.$(H) $(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser\RBProgramNodeVisitor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   51.36  $(OUTDIR)TSimpleType.$(O) TSimpleType.$(H): TSimpleType.st $(INCLUDE_TOP)\jv\tea\compiler\TObjectWithProperties.$(H) $(INCLUDE_TOP)\jv\tea\compiler\TType.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
    52.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    52.2 +++ b/compiler/cli/Make.proto	Fri Sep 25 03:51:15 2015 +0100
    52.3 @@ -0,0 +1,225 @@
    52.4 +# $Header$
    52.5 +#
    52.6 +# automagically generated from the projectDefinition: jv_tea_compiler_cli.
    52.7 +#
    52.8 +# -------------- no need to change anything below ----------
    52.9 +#
   52.10 +# This makefile generates some standalone demo applications
   52.11 +#
   52.12 +#    make
   52.13 +#       generates teak
   52.14 +#
   52.15 +
   52.16 +TOP=../../../../stx
   52.17 +INCLUDE_TOP=$(TOP)/..
   52.18 +
   52.19 +# set to a dummy file name (like FORCE=@@@FORCE-BUILD@@@) to force the build of prereq packages
   52.20 +FORCE=
   52.21 +.PHONY: $(FORCE)
   52.22 +
   52.23 +PACKAGE=jv:tea/compiler/cli
   52.24 +SUBDIRS=
   52.25 +SUPPRESS_LOCAL_ABBREVS="yes"
   52.26 +NOAUTOLOAD=1
   52.27 +NOSUBAUTOLOAD=1
   52.28 +
   52.29 +LOCALINCLUDES= -I$(INCLUDE_TOP)/jv/tea/compiler -I$(INCLUDE_TOP)/stx/libbasic
   52.30 +LOCALDEFINES=
   52.31 +GLOBALDEFINES=
   52.32 +MAIN_DEFINES=-DIGNORE_IMAGE -DNO_DISPLAY
   52.33 +
   52.34 +RCSSOURCES=Make.proto *.st
   52.35 +LINKSOURCES=Make.proto *.st
   52.36 +
   52.37 +DELIVERBINARIES=
   52.38 +
   52.39 +APPNAME=libjv_tea_compiler_cli
   52.40 +LIBNAME=libjv_tea_compiler_cli
   52.41 +STCLOCALOPT='-package=$(PACKAGE)' -I. -headerDir=. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -headerDir=.  -varPrefix=$(LIBNAME)
   52.42 +
   52.43 +
   52.44 +# ********** OPTIONAL: MODIFY the next line ***
   52.45 +# additional C-libraries that should be pre-linked with the class-objects
   52.46 +LD_OBJ_LIBS=
   52.47 +LOCAL_SHARED_LIBS=
   52.48 +
   52.49 +
   52.50 +# ********** OPTIONAL: MODIFY the next line ***
   52.51 +# additional C targets or libraries should be added below
   52.52 +LOCAL_EXTRA_TARGETS=
   52.53 +
   52.54 +OBJS= $(COMMON_OBJS) $(UNIX_OBJS)
   52.55 +
   52.56 +
   52.57 +
   52.58 +
   52.59 +
   52.60 +LIBLIST = $(REQUIRED_LIBS)
   52.61 +
   52.62 +# required libs:
   52.63 +#
   52.64 +
   52.65 +REQUIRED_LIBS= libstx_libbasic \
   52.66 +
   52.67 +
   52.68 +REQUIRED_LIBOBJS= $(TOP)/libbasic/libstx_libbasic$(O_EXT) \
   52.69 +
   52.70 +
   52.71 +REQUIRED_LINK_LIBOBJS= libstx_libbasic$(O_EXT) \
   52.72 +
   52.73 +
   52.74 +REQUIRED_SUPPORT_DIRS=RESOURCEFILES
   52.75 +
   52.76 +SUBPROJECT_LIBS=
   52.77 +
   52.78 +
   52.79 +target: ALL
   52.80 +
   52.81 +all::   prereq ALL_NP
   52.82 +
   52.83 +# like ALL, but not prereqs
   52.84 +ALL_NP:: exe $(SUBPROJECT_LIBS) $(REQUIRED_SUPPORT_DIRS) $(SETUP_RULE)
   52.85 +
   52.86 +exe:    teak registerApplication
   52.87 +
   52.88 +teak: $(APP_DIRS_TO_MAKE) $(APP_LIBOBJS) $(REQUIRED_LIBOBJS) $(OBJS)
   52.89 +	$(MAKE) link_teak
   52.90 +
   52.91 +
   52.92 +link_teak:
   52.93 +	$(MAKE) NON_GUI_APPLICATION \
   52.94 +		    TARGET=teak \
   52.95 +		    APPLICATION_CLASSES="$(COMMON_CLASSES) $(UNIX_CLASSES)" \
   52.96 +		    APPLICATION_OBJS="$(OBJS)" \
   52.97 +		    APPLICATION_LIBLIST="$(REQUIRED_LIBS)" \
   52.98 +		    APPLICATION_LIBOBJS="$(REQUIRED_LIBOBJS)" \
   52.99 +		    APPLICATION_LINK_LIBOBJS="$(REQUIRED_LINK_LIBOBJS)" \
  52.100 +		    STARTUP_CLASS="TCompilerCommand" \
  52.101 +		    STARTUP_SELECTOR="start" \
  52.102 +		    MAIN_DEFINES="-DIGNORE_IMAGE -DNO_DISPLAY"
  52.103 +
  52.104 +# build all mandatory prerequisite packages (containing superclasses) for this package
  52.105 +prereq:
  52.106 +	$(MAKE) FORCE=@@@FORCE-BUILD@@@ $(REQUIRED_LIBOBJS)
  52.107 +
  52.108 +#
  52.109 +# a self installable delivery
  52.110 +#
  52.111 +# backward compatible fallback
  52.112 +setup::
  52.113 +	@if test -d autopackage; then \
  52.114 +	    makepackage; \
  52.115 +	else \
  52.116 +	    echo "Error: make setup not yet available in this unix"; \
  52.117 +	    exit 1; \
  52.118 +	fi
  52.119 +
  52.120 +#
  52.121 +# for linux, this uses autopackage
  52.122 +#
  52.123 +setup_linux:
  52.124 +	@if test -d autopackage; then \
  52.125 +	    makepackage; \
  52.126 +	else \
  52.127 +	    echo "Error: missing autopackage directory"; \
  52.128 +	    exit 1; \
  52.129 +	fi
  52.130 +
  52.131 +#
  52.132 +# for mac, a dmg is generated
  52.133 +#
  52.134 +setup_macosx:   "TeaCompiler_dmg"
  52.135 +	-rm "TeaCompiler.dmg"
  52.136 +	hdiutil create -fs HFSX -layout SPUD "TeaCompiler.dmg" -srcfolder "TeaCompiler_dmg" -format UDZO -volname "TeaCompiler" -quiet
  52.137 +
  52.138 +app: "TeaCompiler_dmg"
  52.139 +
  52.140 +"TeaCompiler_dmg": $(SUBPROJECT_LIBS) $(REQUIRED_SUPPORT_DIRS) 
  52.141 +	@-rm -rf "TeaCompiler_dmg"
  52.142 +	@-mkdir "TeaCompiler_dmg"
  52.143 +	@-mkdir "TeaCompiler_dmg/TeaCompiler.app"
  52.144 +	@-mkdir "TeaCompiler_dmg/TeaCompiler.app/Contents"
  52.145 +	@-mkdir "TeaCompiler_dmg/TeaCompiler.app/Contents/MacOS"
  52.146 +	cp "teak" "TeaCompiler_dmg/TeaCompiler.app/Contents/MacOS/TeaCompiler"
  52.147 +	@-mkdir "TeaCompiler_dmg/TeaCompiler.app/Contents/MacOS/."
  52.148 +	-cp -r *.so "TeaCompiler_dmg/TeaCompiler.app/Contents/MacOS/."
  52.149 +	-cp -r symbols.stc "TeaCompiler_dmg/TeaCompiler.app/Contents/MacOS/."
  52.150 +	-cp -r *.stx "TeaCompiler_dmg/TeaCompiler.app/Contents/MacOS/."
  52.151 +	-cp -r *.rc "TeaCompiler_dmg/TeaCompiler.app/Contents/MacOS/."
  52.152 +	-cp -r resources "TeaCompiler_dmg/TeaCompiler.app/Contents/MacOS/."
  52.153 +
  52.154 +
  52.155 +SOURCEFILES: teak_SOURCES \
  52.156 +	stx_SOURCES
  52.157 +
  52.158 +
  52.159 +
  52.160 +
  52.161 +RESOURCEFILES: teak_RESOURCES teak_BITMAPS  \
  52.162 +	stx_RESOURCES stx_STYLES stx_BITMAPS
  52.163 +
  52.164 +
  52.165 +teak_RESOURCES: 
  52.166 +	mkdir -p resources/jv/tea/compiler/cli
  52.167 +	-cp ../resources/*.rs ../resources/*.style resources/jv/tea/compiler/cli/..
  52.168 +
  52.169 +teak_BITMAPS: 
  52.170 +	mkdir -p resources/jv/tea/compiler/cli/bitmaps
  52.171 +	-cp *.ico *.gif *.png resources/jv/tea/compiler/cli/bitmaps
  52.172 +
  52.173 +
  52.174 +stx_RESOURCES: \
  52.175 +	libbasic_RESOURCES
  52.176 +
  52.177 +stx_STYLES: 
  52.178 +
  52.179 +stx_BITMAPS:
  52.180 +
  52.181 +libbasic_RESOURCES: 
  52.182 +	mkdir -p resources/stx/libbasic
  52.183 +	-cp $(TOP)/libbasic/resources/*.* resources/stx/libbasic
  52.184 +
  52.185 +
  52.186 +libstx_libbasic.so: $(TOP)/libbasic/libstx_libbasic.so
  52.187 +	ln -sf $(TOP)/libbasic/libstx_libbasic.so .
  52.188 +
  52.189 +$(TOP)/libbasic/libstx_libbasic.so: $(TOP)/libbasic/makefile $(FORCE)
  52.190 +	@if [ -f "$(TOP)/libbasic/.NOSOURCE" ]; then \
  52.191 +	    echo "skip make in $(TOP)/libbasic (no source)"; \
  52.192 +	else \
  52.193 +	    cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES) "; \
  52.194 +	fi
  52.195 +
  52.196 +$(TOP)/libbasic/makefile: $(TOP)/libbasic/Make.proto
  52.197 +	$(TOP)/rules/stmkmf --cd $(TOP)/libbasic
  52.198 +
  52.199 +
  52.200 +
  52.201 +
  52.202 +
  52.203 +
  52.204 +
  52.205 +
  52.206 +
  52.207 +
  52.208 +# Enforce recompilation of package definition class if Mercurial working
  52.209 +# copy state changes. Together with --guessVersion it ensures that package
  52.210 +# definition class always contains correct binary revision string.
  52.211 +ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**'))
  52.212 +jv_tea_compiler_cli.$(O): $(shell hg root)/.hg/dirstate
  52.213 +endif
  52.214 +
  52.215 +
  52.216 +
  52.217 +
  52.218 +clean::
  52.219 +	-rm -f *.so teak.$(O)
  52.220 +
  52.221 +clobber:: clean
  52.222 +	-rm -f teak *.img *.sav
  52.223 +
  52.224 +# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
  52.225 +$(OUTDIR)TCompilerCommand.$(O) TCompilerCommand.$(H): TCompilerCommand.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/StandaloneStartup.$(H) $(STCHDR)
  52.226 +$(OUTDIR)jv_tea_compiler_cli.$(O) jv_tea_compiler_cli.$(H): jv_tea_compiler_cli.st $(INCLUDE_TOP)/stx/libbasic/ApplicationDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
  52.227 +
  52.228 +# ENDMAKEDEPEND --- do not remove this line
    53.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    53.2 +++ b/compiler/cli/Make.spec	Fri Sep 25 03:51:15 2015 +0100
    53.3 @@ -0,0 +1,65 @@
    53.4 +# $Header$
    53.5 +#
    53.6 +# DO NOT EDIT
    53.7 +# automagically generated from the projectDefinition: jv_tea_compiler_cli.
    53.8 +#
    53.9 +# Warning: once you modify this file, do not rerun
   53.10 +# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
   53.11 +#
   53.12 +# This file contains specifications which are common to all platforms.
   53.13 +#
   53.14 +
   53.15 +# Do NOT CHANGE THESE DEFINITIONS
   53.16 +# (otherwise, ST/X will have a hard time to find out the packages location from its packageID,
   53.17 +#  to find the source code of a class and to find the library for a package)
   53.18 +MODULE=jv
   53.19 +MODULE_DIR=tea/compiler/cli
   53.20 +PACKAGE=$(MODULE):$(MODULE_DIR)
   53.21 +
   53.22 +
   53.23 +# Argument(s) to the stc compiler (stc --usage).
   53.24 +#  -headerDir=. : create header files locally
   53.25 +#                (if removed, they will be created as common
   53.26 +#  -Pxxx       : defines the package
   53.27 +#  -Zxxx       : a prefix for variables within the classLib
   53.28 +#  -Dxxx       : defines passed to to CC for inline C-code
   53.29 +#  -Ixxx       : include path passed to CC for inline C-code
   53.30 +#  +optspace   : optimized for space
   53.31 +#  +optspace2  : optimized more for space
   53.32 +#  +optspace3  : optimized even more for space
   53.33 +#  +optinline  : generate inline code for some ST constructs
   53.34 +#  +inlineNew  : additionally inline new
   53.35 +#  +inlineMath : additionally inline some floatPnt math stuff
   53.36 +#
   53.37 +# ********** OPTIONAL: MODIFY the next line(s) ***
   53.38 +# STCLOCALOPTIMIZATIONS=+optinline +inlineNew
   53.39 +# STCLOCALOPTIMIZATIONS=+optspace3
   53.40 +STCLOCALOPTIMIZATIONS=+optspace3
   53.41 +
   53.42 +
   53.43 +# Argument(s) to the stc compiler (stc --usage).
   53.44 +#  -warn            : no warnings
   53.45 +#  -warnNonStandard : no warnings about ST/X extensions
   53.46 +#  -warnEOLComments : no warnings about EOL comment extension
   53.47 +#  -warnPrivacy     : no warnings about privateClass extension
   53.48 +#  -warnUnused      : no warnings about unused variables
   53.49 +#
   53.50 +# ********** OPTIONAL: MODIFY the next line(s) ***
   53.51 +# STCWARNINGS=-warn
   53.52 +# STCWARNINGS=-warnNonStandard
   53.53 +# STCWARNINGS=-warnEOLComments
   53.54 +STCWARNINGS=-warnNonStandard
   53.55 +
   53.56 +COMMON_CLASSES= \
   53.57 +	TCompilerCommand \
   53.58 +	jv_tea_compiler_cli \
   53.59 +
   53.60 +
   53.61 +
   53.62 +
   53.63 +COMMON_OBJS= \
   53.64 +    $(OUTDIR_SLASH)TCompilerCommand.$(O) \
   53.65 +    $(OUTDIR_SLASH)jv_tea_compiler_cli.$(O) \
   53.66 +
   53.67 +
   53.68 +
    54.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    54.2 +++ b/compiler/cli/Makefile.init	Fri Sep 25 03:51:15 2015 +0100
    54.3 @@ -0,0 +1,27 @@
    54.4 +#
    54.5 +# DO NOT EDIT
    54.6 +#
    54.7 +# make uses this file (Makefile) only, if there is no
    54.8 +# file named "makefile" (lower-case m) in the same directory.
    54.9 +# My only task is to generate the real makefile and call make again.
   54.10 +# Thereafter, I am no longer used and needed.
   54.11 +#
   54.12 +# MACOSX caveat:
   54.13 +#   as filenames are not case sensitive (in a default setup),
   54.14 +#   we cannot use the above trick. Therefore, this file is now named
   54.15 +#   "Makefile.init", and you have to execute "make -f Makefile.init" to
   54.16 +#   get the initial makefile.  This is now also done by the toplevel CONFIG
   54.17 +#   script.
   54.18 +
   54.19 +.PHONY: run
   54.20 +
   54.21 +run: makefile
   54.22 +	$(MAKE) -f makefile
   54.23 +
   54.24 +#only needed for the definition of $(TOP)
   54.25 +include Make.proto
   54.26 +
   54.27 +makefile: mf
   54.28 +
   54.29 +mf:
   54.30 +	$(TOP)/rules/stmkmf
    55.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    55.2 +++ b/compiler/cli/TCompilerCommand.st	Fri Sep 25 03:51:15 2015 +0100
    55.3 @@ -0,0 +1,486 @@
    55.4 +"
    55.5 +    Copyright (C) 2015-now Jan Vrany
    55.6 +
    55.7 +    This code is not an open-source (yet). You may use this code
    55.8 +    for your own experiments and projects, given that:
    55.9 +
   55.10 +    * all modification to the code will be sent to the
   55.11 +      original author for inclusion in future releases
   55.12 +    * this is not used in any commercial software
   55.13 +
   55.14 +    This license is provisional and may (will) change in
   55.15 +    a future.
   55.16 +"
   55.17 +"{ Package: 'jv:tea/compiler/cli' }"
   55.18 +
   55.19 +"{ NameSpace: Smalltalk }"
   55.20 +
   55.21 +StandaloneStartup subclass:#TCompilerCommand
   55.22 +	instanceVariableNames:''
   55.23 +	classVariableNames:''
   55.24 +	poolDictionaries:''
   55.25 +	category:'Languages-Tea-Compiler'
   55.26 +!
   55.27 +
   55.28 +TCompilerCommand class instanceVariableNames:'debugging includes options'
   55.29 +
   55.30 +"
   55.31 + The following class instance variables are inherited by this class:
   55.32 +
   55.33 +	StandaloneStartup - MutexHandle
   55.34 +	Object - 
   55.35 +"
   55.36 +!
   55.37 +
   55.38 +!TCompilerCommand class methodsFor:'documentation'!
   55.39 +
   55.40 +copyright
   55.41 +"
   55.42 +    Copyright (C) 2015-now Jan Vrany
   55.43 +
   55.44 +    This code is not an open-source (yet). You may use this code
   55.45 +    for your own experiments and projects, given that:
   55.46 +
   55.47 +    * all modification to the code will be sent to the
   55.48 +      original author for inclusion in future releases
   55.49 +    * this is not used in any commercial software
   55.50 +
   55.51 +    This license is provisional and may (will) change in
   55.52 +    a future.
   55.53 +"
   55.54 +! !
   55.55 +
   55.56 +!TCompilerCommand class methodsFor:'initialization'!
   55.57 +
   55.58 +initialize
   55.59 +
   55.60 +    super initialize.
   55.61 +    debugging := Transcript notNil and:[Transcript isView].    
   55.62 +    self setupSignalHandlers.
   55.63 +
   55.64 +    "Created: / 06-11-2011 / 22:07:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   55.65 +    "Modified: / 01-09-2015 / 18:42:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   55.66 +! !
   55.67 +
   55.68 +!TCompilerCommand class methodsFor:'compiling'!
   55.69 +
   55.70 +process: files
   55.71 +    "Actually compile files using `options` and `includes`."
   55.72 +
   55.73 +    | env ctx compiler units |
   55.74 +
   55.75 +    env := TEnvironment new.
   55.76 +    env provider classpath addAll: includes.
   55.77 +
   55.78 +    ctx := TCompilerContext new.
   55.79 +    ctx options: options.
   55.80 +    ctx environment: env.
   55.81 +
   55.82 +    compiler := TCompiler new.
   55.83 +    compiler context: ctx.
   55.84 +
   55.85 +    files isEmpty ifTrue:[ 
   55.86 +        TCompilerError raiseErrorString:'no input files'.
   55.87 +    ].
   55.88 +    units := OrderedCollection new: files size.
   55.89 +    files do:[:filename | 
   55.90 +        | file |
   55.91 +
   55.92 +        file := filename asFilename.
   55.93 +        file isRegularFile ifFalse:[ 
   55.94 +            TCompilerError raiseErrorString: ('file does not exist: %1' bindWith: filename).
   55.95 +        ].
   55.96 +        file isReadable ifFalse:[ 
   55.97 +            TCompilerError raiseErrorString: ('file not readable: %1' bindWith: filename).
   55.98 +        ].
   55.99 +        file readingFileDo:[ :stream |
  55.100 +            units add: (TSourceReader read: stream).
  55.101 +        ].
  55.102 +    ].
  55.103 +    files with: units do:[:infile :unit | 
  55.104 +        compiler compile: unit.
  55.105 +        options output isNil ifTrue:[ 
  55.106 +            | outfile |
  55.107 +
  55.108 +            outfile := infile asFilename withSuffix: (options emitIR ifTrue:[ 'll' ] ifFalse: [ 'bc' ]).
  55.109 +            self write: ctx llvmModule as: outfile.
  55.110 +            ctx llvmModule: nil.
  55.111 +        ].
  55.112 +    ].
  55.113 +    options output notNil ifTrue:[ 
  55.114 +        self write: ctx llvmModule as: options output.
  55.115 +    ].
  55.116 +
  55.117 +    "Created: / 24-09-2015 / 16:46:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.118 +    "Modified: / 24-09-2015 / 18:45:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.119 +!
  55.120 +
  55.121 +write: anLLVMModule as: aString
  55.122 +    options emitIR ifTrue:[ 
  55.123 +        aString asFilename writingFileDo:[:s|anLLVMModule dumpOn: s].  
  55.124 +    ] ifFalse:[ 
  55.125 +        anLLVMModule writeBitcodeToFile: aString
  55.126 +    ]
  55.127 +
  55.128 +    "Created: / 24-09-2015 / 17:06:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.129 +! !
  55.130 +
  55.131 +!TCompilerCommand class methodsFor:'debugging'!
  55.132 +
  55.133 +dumpProcess: aProcess
  55.134 +    Stderr cr; cr
  55.135 +
  55.136 +    "Created: / 27-06-2013 / 23:41:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.137 +!
  55.138 +
  55.139 +dumpProcess: aProcess on: aStream
  55.140 +    | ctx |
  55.141 +    aStream cr; cr.
  55.142 +    aStream nextPutAll: '== ['; nextPutAll: aProcess id printString; nextPutAll:'] '; nextPutAll: aProcess name; nextPutAll: ' =='; cr.
  55.143 +    aStream cr.
  55.144 +    aStream nextPutAll: '  State:   '; nextPutAll: aProcess state printString; cr.
  55.145 +    aStream nextPutAll: '  Group:   '; nextPutAll: aProcess processGroupId printString; cr.
  55.146 +    aStream nextPutAll: '  Creator: '; nextPutAll: aProcess processGroupId printString; cr.
  55.147 +    aStream nextPutAll: '  Stack:   '; cr; cr.
  55.148 +
  55.149 +    aProcess == Processor activeProcess ifTrue:[ctx := thisContext] ifFalse:[ctx := aProcess suspendedContext].
  55.150 +    [ ctx notNil ] whileTrue:[
  55.151 +        aStream nextPutAll: '  '.
  55.152 +        ctx fullPrintOn: aStream.
  55.153 +        aStream cr.
  55.154 +        ctx := ctx sender.
  55.155 +    ].
  55.156 +    aStream cr.
  55.157 +
  55.158 +    "
  55.159 +        self dumpProcess: Processor activeProcess on: Transcript.
  55.160 +    "
  55.161 +
  55.162 +    "Created: / 28-06-2013 / 01:00:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.163 +    "Modified: / 06-06-2014 / 09:14:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.164 +!
  55.165 +
  55.166 +dumpProcesses
  55.167 +    self dumpProcessesOn: Stderr
  55.168 +
  55.169 +    "
  55.170 +    self dumpProcessesOn: Transcript.
  55.171 +    "
  55.172 +
  55.173 +    "Created: / 27-06-2013 / 23:41:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.174 +    "Modified (comment): / 28-06-2013 / 01:06:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.175 +!
  55.176 +
  55.177 +dumpProcessesOn: aStream
  55.178 +    Process allInstancesDo:[:process|
  55.179 +        process isDead ifFalse:[
  55.180 +            self dumpProcess: process on: aStream
  55.181 +        ]
  55.182 +    ]
  55.183 +
  55.184 +    "Created: / 27-06-2013 / 23:42:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.185 +! !
  55.186 +
  55.187 +!TCompilerCommand class methodsFor:'defaults'!
  55.188 +
  55.189 +allowCoverageMeasurementOption
  55.190 +
  55.191 +    ^false "CoverageReport will do that"
  55.192 +
  55.193 +    "Created: / 13-01-2012 / 11:48:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.194 +!
  55.195 +
  55.196 +allowDebugOption
  55.197 +
  55.198 +    ^true
  55.199 +
  55.200 +    "Created: / 21-07-2011 / 09:48:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.201 +! !
  55.202 +
  55.203 +!TCompilerCommand class methodsFor:'multiple applications support'!
  55.204 +
  55.205 +applicationRegistryPath
  55.206 +    "the key under which this application stores its process ID in the registry
  55.207 +     as a collection of path-components.
  55.208 +     i.e. if #('foo' 'bar' 'baz') is returned here, the current applications ID will be stored
  55.209 +     in HKEY_CURRENT_USER\Software\foo\bar\baz\CurrentID.
  55.210 +     (would also be used as a relative path for a temporary lock file under unix).
  55.211 +     Used to detect if another instance of this application is already running."
  55.212 +
  55.213 +    ^ #('jv' 'tea' 'compiler')
  55.214 +
  55.215 +    "Modified: / 01-09-2015 / 18:33:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.216 +!
  55.217 +
  55.218 +applicationUUID
  55.219 +    "answer an application-specific unique uuid.
  55.220 +     This is used as the name of some exclusive OS-resource, which is used to find out,
  55.221 +     if another instance of this application is already running.
  55.222 +     Under win32, a mutex is used; under unix, an exclusive file in the tempDir could be used."
  55.223 +
  55.224 +    ^ '8a084bc0-50cf-11e5-bf6b-606720e43e2c' asUUID
  55.225 +
  55.226 +    "Modified: / 01-09-2015 / 18:33:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.227 +! !
  55.228 +
  55.229 +!TCompilerCommand class methodsFor:'options'!
  55.230 +
  55.231 +cmdlineOptionEmitLLVMIR
  55.232 +    ^CmdLineOption new
  55.233 +        long: 'emit-llvm-ir';
  55.234 +        description: 'Emit LLVM IR (.ll) instead of bitcode (.bc)';
  55.235 +        action:[options emitIR: true];
  55.236 +        yourself
  55.237 +
  55.238 +    "Created: / 24-09-2015 / 16:35:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.239 +    "Modified: / 24-09-2015 / 18:46:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.240 +!
  55.241 +
  55.242 +cmdlineOptionOutput
  55.243 +    ^CmdLineOption new
  55.244 +        short: $o;
  55.245 +        long: 'output';
  55.246 +        description: 'Place output in specified file';
  55.247 +        action:[:file | options output: file];
  55.248 +        yourself
  55.249 +
  55.250 +    "Created: / 24-09-2015 / 16:32:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.251 +! !
  55.252 +
  55.253 +!TCompilerCommand class methodsFor:'startup'!
  55.254 +
  55.255 +handleSIGTERM
  55.256 +    self dumpProcesses.
  55.257 +    debugging ifFalse:[
  55.258 +        Smalltalk exit:127.
  55.259 +    ].
  55.260 +
  55.261 +    "Created: / 27-06-2013 / 23:10:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.262 +    "Modified: / 28-06-2013 / 01:08:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.263 +!
  55.264 +
  55.265 +handleSIGUSR2
  55.266 +    self dumpProcesses
  55.267 +
  55.268 +    "Created: / 27-06-2013 / 23:10:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.269 +!
  55.270 +
  55.271 +setupSignalHandlers
  55.272 +    "On UNIX, this sets up a custom signal handler on SIGUSR2 and SIGTERM that
  55.273 +     dumps stacks on all threads"
  55.274 +
  55.275 +    | sigusr2 sigterm |
  55.276 +
  55.277 +    OperatingSystem isUNIXlike ifTrue:[
  55.278 +        sigterm := Signal new.
  55.279 +        sigterm handlerBlock: [:ex | self handleSIGTERM].
  55.280 +        OperatingSystem operatingSystemSignal:OperatingSystem sigTERM install: sigterm.
  55.281 +        OperatingSystem enableSignal: OperatingSystem sigTERM.
  55.282 +
  55.283 +        sigusr2 := Signal new.
  55.284 +        sigusr2 handlerBlock: [:ex | self handleSIGUSR2].
  55.285 +        OperatingSystem operatingSystemSignal:OperatingSystem sigUSR2 install: sigusr2.
  55.286 +        OperatingSystem enableSignal: OperatingSystem sigUSR2.
  55.287 +    ].
  55.288 +
  55.289 +    "
  55.290 +    OperatingSystem sendSignal: OperatingSystem sigUSR2 to: OperatingSystem getProcessId
  55.291 +    "
  55.292 +
  55.293 +    "Created: / 27-06-2013 / 20:57:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.294 +    "Modified: / 28-06-2013 / 01:11:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.295 +    "Modified (format): / 01-09-2015 / 18:34:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.296 +!
  55.297 +
  55.298 +setupToolsForDebug
  55.299 +
  55.300 +    super setupToolsForDebug.
  55.301 +    debugging := true.
  55.302 +
  55.303 +    "Created: / 06-11-2011 / 22:06:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.304 +!
  55.305 +
  55.306 +start
  55.307 +    Smalltalk silentLoading: true.
  55.308 +    ^ super start.
  55.309 +
  55.310 +    "Created: / 22-01-2014 / 09:17:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.311 +!
  55.312 +
  55.313 +usage
  55.314 +
  55.315 +    Stderr nextPutAll:'usage: tc';
  55.316 +           nextPutAll: '[options] [FILE1 [FILE2 [...]]]'; cr.
  55.317 +
  55.318 +    Stderr nextPutLine:'Common options:'; cr.
  55.319 +
  55.320 +    Stderr nextPutLine:'  --help .................. output this message'.
  55.321 +"/    Stderr nextPutLine:'  --verbose ............... verbose startup'.
  55.322 +"/    Stderr nextPutLine:'  --noBanner .............. no splash screen'.
  55.323 +"/    Stderr nextPutLine:'  --newAppInstance ........ start as its own application process (do not reuse'.
  55.324 +"/    Stderr nextPutLine:'                            a running instance)'.
  55.325 +"/    self allowScriptingOption ifTrue:[
  55.326 +"/        Stderr nextPutLine:'  --scripting portNr ...enable scripting via port (or stdin/stdOut if 0)'.
  55.327 +"/    ].
  55.328 +    self allowDebugOption ifTrue:[
  55.329 +        Stderr nextPutLine:'  --debug ................. enable Debugger'.
  55.330 +    ].
  55.331 +    "/                 '  ......................... '
  55.332 +    Stderr nextPutLine:'  -I<dir> ................. adds <dir> to the list of directories searched for'.
  55.333 +    Stderr nextPutLine:'                            sources'.
  55.334 +    Stderr nextPutLine:'  -o'.
  55.335 +    Stderr nextPutLine:'  --output <file>  ........ place output to file <file>'.
  55.336 +    Stderr nextPutLine:'  --emit-llvm-ir .......... emit LLVM IR (.ll) instead of LLVM bitcode (.bc, default)'.
  55.337 +    debugging ifFalse:[
  55.338 +        Smalltalk exit:1.
  55.339 +    ].
  55.340 +    "
  55.341 +    self usage
  55.342 +    "
  55.343 +
  55.344 +    "Created: / 13-01-2012 / 11:48:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.345 +    "Modified: / 24-09-2015 / 16:35:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.346 +!
  55.347 +
  55.348 +usageForReportClass: class
  55.349 +    | options |
  55.350 +
  55.351 +    "/ '.........................' size  25
  55.352 +    options := CmdLineOption optionsFor: class new.
  55.353 +    options := options reject:[:option | 'pF' includes: option short  ].
  55.354 +    options notEmptyOrNil ifTrue:[
  55.355 +        Stderr cr.
  55.356 +        Stderr nextPutAll: class name; nextPutLine:' options:'; cr.
  55.357 +        options do:[:option |                
  55.358 +            | optlen |  
  55.359 +
  55.360 +            option short notNil ifTrue:[ 
  55.361 +                Stderr nextPutAll: '  '.
  55.362 +                Stderr nextPut: $-; nextPut: option short; space.
  55.363 +                optlen := 2.
  55.364 +                option hasParam ifTrue:[ 
  55.365 +                    | paramName |
  55.366 +
  55.367 +                    paramName := 'val'.
  55.368 +                    Stderr nextPut:$<; nextPutAll: paramName; nextPut:$>; space.
  55.369 +                    optlen := optlen + 3 + paramName size.
  55.370 +                ].
  55.371 +            ].
  55.372 +            option long notNil ifTrue:[ 
  55.373 +                 option short notNil ifTrue:[ 
  55.374 +                    Stderr cr.
  55.375 +                ].
  55.376 +                Stderr nextPutAll: '  --'.
  55.377 +                Stderr nextPutAll: option long.
  55.378 +                optlen := option long size + 2.
  55.379 +                option hasParam ifTrue:[ 
  55.380 +                    | paramName |
  55.381 +
  55.382 +                    paramName := 'val'.
  55.383 +                    Stderr nextPut:$=; nextPut:$<; nextPutAll: paramName; nextPut:$>.
  55.384 +                    optlen := optlen + 3 + paramName size.
  55.385 +                ].
  55.386 +                Stderr space.
  55.387 +            ].
  55.388 +            Stderr next: (26 - 1"space" -2"--" - optlen) put: $..    
  55.389 +            Stderr space.
  55.390 +            option description notNil ifTrue:[
  55.391 +                Stderr nextPutAll: option description
  55.392 +            ].
  55.393 +            Stderr cr.
  55.394 +        ]
  55.395 +    ]
  55.396 +
  55.397 +    "
  55.398 +    ReportRunner usageForReportClass: TestReport.
  55.399 +    "
  55.400 +
  55.401 +    "Created: / 27-05-2014 / 16:42:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.402 +    "Modified: / 16-06-2014 / 11:25:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.403 +! !
  55.404 +
  55.405 +!TCompilerCommand class methodsFor:'startup-to be redefined'!
  55.406 +
  55.407 +main:argv0
  55.408 +    "Process command line arguments"
  55.409 +
  55.410 +    | argv parser i files |
  55.411 +
  55.412 +
  55.413 +    argv := argv0 asOrderedCollection.
  55.414 +    argv isEmpty ifTrue:[ 
  55.415 +        self usage.
  55.416 +    ].
  55.417 +    argv remove: '--abortOnSEGV' ifAbsent:[nil].
  55.418 +    parser := CmdLineParser new.
  55.419 +    CmdLineOptionError autoload.
  55.420 +    includes := OrderedCollection new.
  55.421 +    options := TCompilerOptions new.
  55.422 +    [
  55.423 +        "/ Parse -I as they cannot be handled by option parser, sigh
  55.424 +        i := 1.
  55.425 +        [ i <= argv size ] whileTrue:[ 
  55.426 +            | option |
  55.427 +
  55.428 +            option := argv at: i.
  55.429 +            (option = '-I') ifTrue:[ 
  55.430 +                i = argv size ifTrue:[ 
  55.431 +                    Stderr nextPutAll:'Error: -I must be followed by path'.
  55.432 +                ] ifFalse:[ 
  55.433 +                    includes add: (argv at: i + 1)
  55.434 +                ].
  55.435 +                argv removeAtIndex: i + 1. 
  55.436 +                argv removeAtIndex: i.
  55.437 +            ] ifFalse:[ 
  55.438 +                (option startsWith: '-I') ifTrue:[ 
  55.439 +                    | include |
  55.440 +
  55.441 +                    include := option copyFrom: 3.
  55.442 +                    include isEmptyOrNil ifTrue:[ 
  55.443 +                        Stderr nextPutAll:'Error: -I must be followed by path'.
  55.444 +                    ] ifFalse:[ 
  55.445 +                        includes add: include.
  55.446 +                    ].  
  55.447 +                    argv removeAtIndex: i.
  55.448 +                ] ifFalse:[ 
  55.449 +                    i := i + 1.
  55.450 +                ].
  55.451 +            ]
  55.452 +        ].
  55.453 +        files := parser parse: argv for: self.
  55.454 +    ] on:CmdLineOptionError do:[:ex|
  55.455 +        Stderr nextPutLine:'Error when processing options: ', ex description.
  55.456 +        debugging ifFalse:[
  55.457 +            ex suspendedContext fullPrintAllOn: Stderr.
  55.458 +            Stderr nextPutLine:'Exiting'.
  55.459 +            Smalltalk exit:1.
  55.460 +        ] ifTrue:[
  55.461 +            ex pass
  55.462 +        ]
  55.463 +    ].
  55.464 +
  55.465 +    debugging ifFalse:[ 
  55.466 +        NoHandlerError emergencyHandler:(NoHandlerError abortingEmergencyHandler)
  55.467 +    ].
  55.468 +
  55.469 +    [
  55.470 +        self process: files.
  55.471 +        debugging ifFalse:[
  55.472 +            Smalltalk exit:0.
  55.473 +        ].
  55.474 +    ] on: Error do:[:ex|
  55.475 +        Stderr nextPutAll:'Error when compiling: '.
  55.476 +        Stderr nextPutAll:ex description; cr.
  55.477 +        ex suspendedContext printAllOn:Stderr.
  55.478 +        debugging ifFalse:[
  55.479 +            Smalltalk exit:1.
  55.480 +        ] ifTrue:[
  55.481 +            ex pass
  55.482 +        ]
  55.483 +    ]
  55.484 +
  55.485 +    "Modified: / 24-09-2015 / 16:40:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  55.486 +! !
  55.487 +
  55.488 +
  55.489 +TCompilerCommand initialize!
    56.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    56.2 +++ b/compiler/cli/abbrev.stc	Fri Sep 25 03:51:15 2015 +0100
    56.3 @@ -0,0 +1,5 @@
    56.4 +# automagically generated by the project definition
    56.5 +# this file is needed for stc to be able to compile modules independently.
    56.6 +# it provides information about a classes filename, category and especially namespace.
    56.7 +TCompilerCommand TCompilerCommand jv:tea/compiler/cli 'Languages-Tea-Compiler' 4
    56.8 +jv_tea_compiler_cli jv_tea_compiler_cli jv:tea/compiler/cli '* Projects & Packages *' 3
    57.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    57.2 +++ b/compiler/cli/autopackage/default.apspec	Fri Sep 25 03:51:15 2015 +0100
    57.3 @@ -0,0 +1,90 @@
    57.4 +# -*- shell-script -*-
    57.5 +[Meta]
    57.6 +ShortName: teak
    57.7 +SoftwareVersion: 6.2.5.0
    57.8 +DisplayName: Tea Language Compiler
    57.9 +RootName: @exept.de/expecco:$SOFTWAREVERSION
   57.10 +Summary: Tea Language Compiler
   57.11 +Maintainer: Jan Vrany
   57.12 +Packager: Jan Vrany
   57.13 +PackageVersion: 1
   57.14 +CPUArchitectures: x86
   57.15 +AutopackageTarget: 1.0
   57.16 +Type: Application
   57.17 +License: Commercial
   57.18 +
   57.19 +[Description]
   57.20 +Tea Language Compiler
   57.21 +
   57.22 +[BuildPrepare]
   57.23 +# If you're using autotools, the default should be enough.
   57.24 +# prepareBuild will set up apbuild and run configure for you. If you
   57.25 +# need to pass arguments to configure, just add them to prepareBuild:
   57.26 +# prepareBuild --enable-foo --disable-bar
   57.27 +#prepareBuild
   57.28 +
   57.29 +[BuildUnprepare]
   57.30 +# If you're using prepareBuild above, there is no need to change this!
   57.31 +#unprepareBuild
   57.32 +
   57.33 +[Globals]
   57.34 +# Variables declared in this section will be available in all other sections
   57.35 +export APKG_BUILD_SKIP_CONFIGURE=1
   57.36 +export APKG_BUILD_SKIP_MAKE=1
   57.37 +export MYPREFIX=/opt/teak
   57.38 +
   57.39 +[Prepare]
   57.40 +#recommend '@autopackage.org/autopackage-gtk' 1
   57.41 +
   57.42 +[Imports]
   57.43 +import <<EOF
   57.44 +$source_dir/teak
   57.45 +$source_dir/resources
   57.46 +$source_dir/keyboard.rc
   57.47 +$source_dir/keyboardMacros.rc
   57.48 +$source_dir/display.rc
   57.49 +$source_dir/host.rc
   57.50 +$source_dir/../doc
   57.51 +$source_dir/../testsuites/webedition
   57.52 +$source_dir/../projects/libraries
   57.53 +$source_dir/../reportGenerator/tools
   57.54 +$source_dir/../../pdf/afm
   57.55 +$source_dir/../plugin/selenium/libexept_expecco_plugin_selenium.so
   57.56 +$source_dir/../externalTools
   57.57 +EOF
   57.58 +
   57.59 +for i in $source_dir/*.so
   57.60 +do
   57.61 +    echo $source_dir/$(readlink $i)
   57.62 +done | import
   57.63 +
   57.64 +[Install]
   57.65 +if [ "$PREFIX" != "/usr" ]
   57.66 +then
   57.67 +    export MYPREFIX=$PREFIX
   57.68 +fi
   57.69 +
   57.70 +find . -type d \( -name CVS -or -name 'not_*' \) -print | xargs rm -rf
   57.71 +mkdir -p $MYPREFIX
   57.72 +copyFiles expecco *.rc resources        $MYPREFIX/bin
   57.73 +copyFiles *.so                          $MYPREFIX/lib
   57.74 +copyFiles doc externalTools             $MYPREFIX/packages/exept/expecco
   57.75 +copyFiles webedition/projects libraries $MYPREFIX/testsuites
   57.76 +copyFiles tools                         $MYPREFIX/packages/exept/expecco/reportGenerator
   57.77 +copyFiles afm                           $MYPREFIX/packages/exept/pdf
   57.78 +copyFiles libexept_expecco_plugin_selenium.so   $MYPREFIX/plugin
   57.79 +
   57.80 +#installExe expecco
   57.81 +#installLib *.so
   57.82 +#installData resources
   57.83 +#installData keyboard.rc
   57.84 +#installData keyboardMacros.rc
   57.85 +#installData host.rc
   57.86 +#installData display.rc
   57.87 +#installData doc
   57.88 +
   57.89 +[Uninstall]
   57.90 +# Leaving this at the default is safe unless you use custom commands in
   57.91 +# "Install" to create files. All autopackage API functions
   57.92 +# that installs files are logged.
   57.93 +uninstallFromLog
    58.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    58.2 +++ b/compiler/cli/bc.mak	Fri Sep 25 03:51:15 2015 +0100
    58.3 @@ -0,0 +1,408 @@
    58.4 +# $Header$
    58.5 +#
    58.6 +# DO NOT EDIT 
    58.7 +# automagically generated from the projectDefinition: jv_tea_compiler_cli.
    58.8 +#
    58.9 +# Warning: once you modify this file, do not rerun
   58.10 +# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
   58.11 +#
   58.12 +# Historic Note:
   58.13 +#  this used to contain only rules to make with borland 
   58.14 +#    (called via bmake, by "make.exe -f bc.mak")
   58.15 +#  this has changed; it is now also possible to build using microsoft visual c
   58.16 +#    (called via vcmake, by "make.exe -f bc.mak -DUSEVC")
   58.17 +#
   58.18 +
   58.19 +TOP=..\..\..\..\stx       
   58.20 +INCLUDE_TOP=$(TOP)\..
   58.21 +
   58.22 +# An old file, used as a dummy target for FORCE if we do not want
   58.23 +#   re-make libraries. Windows make does not work if we redefine FORCE=   (empty string)
   58.24 +# OLD_FILE=bmake.bat
   58.25 +OLD_FILE="c:\windows\win.ini"
   58.26 +
   58.27 +#dummy target to force a build
   58.28 +!ifndef FORCE
   58.29 +FORCE=$(OLD_FILE)
   58.30 +!endif
   58.31 +
   58.32 +CFLAGS_LOCAL=$(CFLAGS_APPTYPE) \
   58.33 + -DSTARTUP_CLASS="\"TCompilerCommand\"" \
   58.34 + -DSTARTUP_SELECTOR="\"start\"" \
   58.35 + -DUSE_MODULE_TABLE
   58.36 +
   58.37 +#
   58.38 +
   58.39 +!INCLUDE $(TOP)\rules\stdHeader_bc
   58.40 +!INCLUDE Make.spec
   58.41 +
   58.42 +OBJS= $(COMMON_OBJS) $(WIN32_OBJS)
   58.43 +
   58.44 +
   58.45 +
   58.46 +#
   58.47 +APPNAME=libjv_tea_compiler_cli
   58.48 +LIBNAME=dummy
   58.49 +MODULE_PATH=tea\compiler\cli
   58.50 +STCOPT="+optinline"
   58.51 +LOCALINCLUDES= -I$(INCLUDE_TOP)\jv\tea\compiler -I$(INCLUDE_TOP)\stx\libbasic
   58.52 +LOCALDEFINES=
   58.53 +GLOBALDEFINES=
   58.54 +
   58.55 +STCLOCALOPT='-package=$(PACKAGE)' $(LOCALDEFINES) $(LOCALINCLUDES)  $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) $(COMMONSYMFLAG) -varPrefix=$(LIBNAME)
   58.56 +
   58.57 +LFLAGS=$(APP_LFLAGS)
   58.58 +
   58.59 +PROJECT_NOCONSOLE= teak.exe
   58.60 +PROJECT_CONSOLE= teak.com
   58.61 +ALLOBJFILES= main.$(O)
   58.62 +!ifdef USETCC
   58.63 +RESFILES=
   58.64 +!else
   58.65 +RESFILES= cliWinRC.$(RES)
   58.66 +!endif
   58.67 +
   58.68 +ALLOBJ= $(ALLOBJFILES) $(OBJS)
   58.69 +DEFFILE=$(TOP)\rules\bc_exe.def
   58.70 +
   58.71 +LIBFILES=$(LIBDIR_LIBRUN)\librun.lib
   58.72 +ALLLIB=$(LIBFILES) $(APP_IMPORTLIBS) $(APP_RT_LIB)
   58.73 +
   58.74 +REQUIRED_LIBS=librun.dll  \
   58.75 + libstx_libbasic.dll \
   58.76 +
   58.77 +
   58.78 +REQUIRED_FILES=$(RT_DLL) $(X11_DLL) $(XEXT_DLL) symbols.stc $(REQUIRED_LIBS)
   58.79 +
   58.80 +REQUIRED_SUPPORT_DIRS=RESOURCEFILES
   58.81 +
   58.82 +target: ALL postBuildCleanup 
   58.83 +
   58.84 +# the executable, all required files and a self-installing-installer-exe
   58.85 +ALL:: prereq ALL_NP
   58.86 +
   58.87 +# all, but no prereqs
   58.88 +ALL_NP:: exe $(REQUIRED_SUPPORT_DIRS) postBuildCleanup setup
   58.89 +
   58.90 +exe:  newBuildDate $(REQUIRED_LIBS) noConsoleApp consoleApp registerApplication
   58.91 +
   58.92 +# the executable only
   58.93 +# with console
   58.94 +consoleApp: $(REQUIRED_LIBS)
   58.95 +	-del main.$(O)
   58.96 +	$(MAKE) -N -f bc.mak $(USE_ARG) \
   58.97 +		MAKE_BAT=$(MAKE_BAT) \
   58.98 +		PROJECT=$(PROJECT_CONSOLE) \
   58.99 +		CFLAGS_APPTYPE=" -DWIN32GUI $(CFLAGS_CONSOLE)" \
  58.100 +		LFLAGS_APPTYPE=" $(LFLAGS_CONSOLE)" \
  58.101 +		CRT_STARTUP=" $(CRT_STARTUP_CONSOLE)" theExe
  58.102 +
  58.103 +# without console
  58.104 +noConsoleApp: $(REQUIRED_LIBS)
  58.105 +	-del main.$(O)
  58.106 +	$(MAKE) -N -f bc.mak $(USE_ARG) \
  58.107 +		MAKE_BAT=$(MAKE_BAT) \
  58.108 +		PROJECT=$(PROJECT_NOCONSOLE) \
  58.109 +		CFLAGS_APPTYPE=" -DWIN32GUI $(CFLAGS_NOCONSOLE) -DWIN_LOGFILE="\\"\"teak.log\\"\""" \
  58.110 +		LFLAGS_APPTYPE=" $(LFLAGS_NOCONSOLE)" \
  58.111 +		CRT_STARTUP=" $(CRT_STARTUP_NOCONSOLE)" theExe
  58.112 +
  58.113 +# the executable only (internal target; needs some defines)
  58.114 +theExe: $(OUTDIR) $(OBJS) $(REQUIRED_FILES) show $(PROJECT) 
  58.115 +
  58.116 +# build all mandatory prerequisite packages (containing superclasses) for this package
  58.117 +prereq:
  58.118 +	$(MAKE) -N -f bc.mak $(USE_ARG) FORCE=FORCE_BUILD $(REQUIRED_LIBS)
  58.119 +
  58.120 +FORCE_BUILD:
  58.121 +	@rem Dummy target to force a build
  58.122 +
  58.123 +# a nullsoft installable delivery
  58.124 +# This uses the Nullsoft Installer Package and works in Windows only
  58.125 +setup: $(PROJECT) postBuildCleanup cli.nsi
  58.126 +	$(MAKENSIS) cli.nsi
  58.127 +        
  58.128 +
  58.129 +newBuildDate:
  58.130 +	del buildDate.h
  58.131 +
  58.132 +new:
  58.133 +	$(MAKE_BAT) clean
  58.134 +	$(MAKE_BAT)
  58.135 +
  58.136 +RESOURCEFILES: teak_RESOURCES teak_BITMAPS  \
  58.137 +	stx_RESOURCES stx_STYLES stx_BITMAPS
  58.138 +
  58.139 +
  58.140 +teak_RESOURCES: resources\jv\tea\compiler\cli\NUL
  58.141 +	-copy ..\resources\*.rs resources\jv\tea\compiler\cli\..
  58.142 +	-copy ..\resources\*.style resources\jv\tea\compiler\cli\..
  58.143 +
  58.144 +teak_BITMAPS: resources\jv\tea\compiler\cli\bitmaps\NUL
  58.145 +	-copy *.ico resources\jv\tea\compiler\cli\bitmaps
  58.146 +	-copy *.gif resources\jv\tea\compiler\cli\bitmaps
  58.147 +
  58.148 +resources\jv\tea\compiler\cli\bitmaps\NUL: resources\jv\tea\compiler\cli\NUL
  58.149 +	mkdir resources\jv\tea\compiler\cli\bitmaps
  58.150 +
  58.151 +resources\jv\tea\compiler\cli\NUL: resources\jv\tea\compiler\NUL
  58.152 +	mkdir resources\jv\tea\compiler\cli
  58.153 +
  58.154 +resources\jv\tea\compiler\NUL: resources\jv\tea\NUL
  58.155 +	mkdir resources\jv\tea\compiler
  58.156 +
  58.157 +resources\jv\tea\NUL: resources\jv\NUL
  58.158 +	mkdir resources\jv\tea
  58.159 +resources\jv\NUL: resources\NUL
  58.160 +	mkdir resources\jv
  58.161 +
  58.162 +
  58.163 +
  58.164 +stx_RESOURCES: \
  58.165 +	keyboard.rc \
  58.166 +	keyboardMacros.rc \
  58.167 +	host.rc \
  58.168 +	h_win32.rc \
  58.169 +	display.rc \
  58.170 +	d_win32.rc \
  58.171 +	libbasic_RESOURCES \
  58.172 +	libview_RESOURCES \
  58.173 +	libtool_RESOURCES  \
  58.174 +	libtool2_RESOURCES
  58.175 +
  58.176 +keyboard.rc: $(TOP)\projects\smalltalk\keyboard.rc
  58.177 +	copy $(TOP)\projects\smalltalk\keyboard.rc *.*
  58.178 +
  58.179 +keyboardMacros.rc: $(TOP)\projects\smalltalk\keyboardMacros.rc
  58.180 +	copy $(TOP)\projects\smalltalk\keyboardMacros.rc *.*
  58.181 +
  58.182 +host.rc: $(TOP)\projects\smalltalk\host.rc
  58.183 +	copy $(TOP)\projects\smalltalk\host.rc *.*
  58.184 +
  58.185 +h_win32.rc: $(TOP)\projects\smalltalk\h_win32.rc
  58.186 +	copy $(TOP)\projects\smalltalk\h_win32.rc *.*
  58.187 +
  58.188 +display.rc: $(TOP)\projects\smalltalk\display.rc
  58.189 +	copy $(TOP)\projects\smalltalk\display.rc *.*
  58.190 +
  58.191 +d_win32.rc: $(TOP)\projects\smalltalk\d_win32.rc
  58.192 +	copy $(TOP)\projects\smalltalk\d_win32.rc *.*
  58.193 +
  58.194 +stx_STYLES: resources\stx\libview\NUL resources\stx\libview\styles\NUL
  58.195 +	-copy $(TOP)\libview\styles\*.style resources\stx\libview\styles\*.*
  58.196 +	-copy $(TOP)\libview\styles\*.common resources\stx\libview\styles\*.*
  58.197 +
  58.198 +stx_BITMAPS: \
  58.199 +	libwidg_BITMAPS
  58.200 +
  58.201 +libwidg_BITMAPS: resources\stx\libwidg\bitmaps\NUL
  58.202 +	-copy $(TOP)\libwidg\bitmaps\*.xpm resources\stx\libwidg\bitmaps\*.*
  58.203 +
  58.204 +libbasic_RESOURCES: resources\stx\libbasic\NUL
  58.205 +	copy $(TOP)\libbasic\resources\*.rs resources\stx\libbasic\*.*
  58.206 +
  58.207 +libtool_RESOURCES: resources\stx\libtool\NUL
  58.208 +	-copy $(TOP)\libtool\resources\*.rs resources\stx\libtool\*.*
  58.209 +
  58.210 +libtool2_RESOURCES: resources\stx\libtool2\NUL
  58.211 +	-copy $(TOP)\libtool2\resources\*.rs resources\stx\libtool2\*.*
  58.212 +
  58.213 +libview_RESOURCES: resources\stx\libview\NUL 
  58.214 +	-copy $(TOP)\libview\resources\*.rs resources\stx\libview\*.*
  58.215 +
  58.216 +libview2_RESOURCES: resources\stx\libview2\NUL
  58.217 +	-copy $(TOP)\libview2\resources\*.rs resources\stx\libview2\*.*
  58.218 +
  58.219 +resources\stx\libbasic\NUL: resources\stx\NUL
  58.220 +	mkdir resources\stx\libbasic
  58.221 +
  58.222 +resources\stx\libtool\NUL: resources\stx\NUL
  58.223 +	mkdir resources\stx\libtool
  58.224 +
  58.225 +resources\stx\libtool2\NUL: resources\stx\NUL
  58.226 +	mkdir resources\stx\libtool2
  58.227 +
  58.228 +resources\stx\libview\NUL: resources\stx\NUL
  58.229 +	mkdir resources\stx\libview
  58.230 +
  58.231 +resources\stx\libview\styles\NUL: resources\stx\libview\NUL
  58.232 +	mkdir resources\stx\libview\styles
  58.233 +
  58.234 +resources\stx\libview2\NUL: resources\stx\NUL
  58.235 +	mkdir resources\stx\libview2
  58.236 +
  58.237 +resources\stx\libwidg\bitmaps\NUL: resources\stx\libwidg\NUL
  58.238 +	mkdir resources\stx\libwidg\bitmaps
  58.239 +
  58.240 +resources\stx\libwidg\NUL: resources\stx\NUL
  58.241 +	mkdir resources\stx\libwidg
  58.242 +
  58.243 +resources\stx\NUL: resources\NUL
  58.244 +	mkdir resources\stx
  58.245 +
  58.246 +resources\NUL:
  58.247 +	mkdir resources
  58.248 +
  58.249 +bitmaps\NUL:
  58.250 +	mkdir bitmaps
  58.251 +
  58.252 +doc\NUL:
  58.253 +	mkdir doc
  58.254 +
  58.255 +
  58.256 +
  58.257 +
  58.258 +
  58.259 +
  58.260 +libstx_libbasic.dll: ..\..\..\..\stx\libbasic\$(OBJDIR)\libstx_libbasic.dll
  58.261 +	copy ..\..\..\..\stx\libbasic\$(OBJDIR)\libstx_libbasic.dll *.*
  58.262 +
  58.263 +..\..\..\..\stx\libbasic\$(OBJDIR)\libstx_libbasic.dll: $(FORCE)
  58.264 +	pushd ..\..\..\..\stx\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
  58.265 +
  58.266 +      
  58.267 +
  58.268 +
  58.269 +sources\NUL: 
  58.270 +	mkdir sources
  58.271 +
  58.272 +show:
  58.273 +	@echo LFLAGS= $(LFLAGS)
  58.274 +	@echo ALLOBJ= $(ALLOBJ)
  58.275 +	@echo PROJECT= $(PROJECT)
  58.276 +	@echo APP_IMPORTLIBS= $(APP_IMPORTLIBS)
  58.277 +	@echo ALLLIB= $(ALLLIB)
  58.278 +	@echo DEFFILE= $(DEFFILE)
  58.279 +	@echo ALLRES= $(ALLRES)
  58.280 +
  58.281 +!ifdef USEBC
  58.282 +
  58.283 +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
  58.284 +	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ), $(PROJECT_CONSOLE),, $(ALLLIB), $(DEFFILE), $(RESFILES)
  58.285 +
  58.286 +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
  58.287 +	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ), $(PROJECT_NOCONSOLE),, $(ALLLIB), $(DEFFILE), $(RESFILES)
  58.288 +
  58.289 +!else
  58.290 +! ifdef USEVC
  58.291 +
  58.292 +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
  58.293 +	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) /OUT:"$(PROJECT_CONSOLE)" \
  58.294 +	    /MANIFEST /MANIFESTFILE:"$(PROJECT_CONSOLE).manifest" \
  58.295 +	    /PDB:"$(PROJECT_CONSOLE).pdb" \
  58.296 +	    /SUBSYSTEM:CONSOLE $(ALLLIB) $(RESFILES)
  58.297 +
  58.298 +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
  58.299 +	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) /OUT:"$(PROJECT_NOCONSOLE)" \
  58.300 +	    /MANIFEST /MANIFESTFILE:"$(PROJECT_NOCONSOLE).manifest" \
  58.301 +	    /PDB:"$(PROJECT_NOCONSOLE).pdb" \
  58.302 +	    /SUBSYSTEM:WINDOWS $(ALLLIB) $(RESFILES)
  58.303 +
  58.304 +! else
  58.305 +!  ifdef USELCC
  58.306 +
  58.307 +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
  58.308 +	$(APP_LINKER) -subsystem console $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_CONSOLE)" $(ALLLIB) $(RESFILES)
  58.309 +
  58.310 +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
  58.311 +	$(APP_LINKER) -subsystem windows $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_NOCONSOLE)" $(ALLLIB) $(RESFILES)
  58.312 +
  58.313 +!  else
  58.314 +!   ifdef USETCC
  58.315 +
  58.316 +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
  58.317 +	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_CONSOLE)" $(ALLLIB) $(RESFILES)
  58.318 +
  58.319 +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES)
  58.320 +	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_NOCONSOLE)" $(ALLLIB) $(RESFILES)
  58.321 +
  58.322 +!   else
  58.323 +!    if defined(USEMINGW32) || defined(USEMINGW64)
  58.324 +
  58.325 +$(PROJECT_CONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) show
  58.326 +	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_CONSOLE)" $(ALLLIB) $(RESFILES)
  58.327 +
  58.328 +$(PROJECT_NOCONSOLE): $(ALLOBJFILES) $(OBJS) $(RESFILES) $(DEFFILE) $(LIBFILES) show
  58.329 +	$(APP_LINKER) $(LFLAGS) $(LFLAGS_APPTYPE) $(CRT_STARTUP) $(ALLOBJ) -o "$(PROJECT_NOCONSOLE)" $(ALLLIB) $(APP_IMPORTLIBS) $(RESFILES)
  58.330 +
  58.331 +!    else
  58.332 +error error error
  58.333 +!    endif
  58.334 +!   endif
  58.335 +!  endif
  58.336 +! endif
  58.337 +!endif
  58.338 +
  58.339 +!INCLUDE $(TOP)\rules\stdRules_bc
  58.340 +
  58.341 +#
  58.342 +# additional rules
  58.343 +#
  58.344 +teakWin.$(RES): teakWin.rc teak.ico
  58.345 +
  58.346 +main.$(O): buildDate.h main.c bc.mak
  58.347 +
  58.348 +main.c: $(TOP)\librun\main.c
  58.349 +	copy $(TOP)\librun\main.c main.c
  58.350 +
  58.351 +# now in stdRules.
  58.352 +#buildDate.h: $(GENDATE_UTILITIY)
  58.353 +#        $(GENDATE_UTILITIY)
  58.354 +
  58.355 +librun.dll: $(TOP)\librun\$(OBJDIR_LIBRUN)\librun.dll
  58.356 +	copy $(TOP)\librun\$(OBJDIR_LIBRUN)\librun.dll librun.dll
  58.357 +
  58.358 +#cs3245.dll
  58.359 +$(RT_DLL): $(TOP)\support\win32\borland\$(RT_DLL)
  58.360 +	copy $(TOP)\support\win32\borland\$(RT_DLL) $(RT_DLL)
  58.361 +
  58.362 +X11.dll: $(TOP)\support\win32\X11.dll
  58.363 +	copy $(TOP)\support\win32\X11.dll X11.dll
  58.364 +
  58.365 +Xext.dll: $(TOP)\support\win32\Xext.dll
  58.366 +	copy $(TOP)\support\win32\Xext.dll Xext.dll
  58.367 +
  58.368 +symbols.stc: $(TOP)\include\symbols.stc
  58.369 +	copy $(TOP)\include\symbols.stc symbols.stc
  58.370 +
  58.371 +
  58.372 +
  58.373 +
  58.374 +
  58.375 +clean::
  58.376 +	-del genDate.exe genDate.com
  58.377 +	-del c0x32.dll
  58.378 +	-del c0x32.lib
  58.379 +	-del buildDate.h
  58.380 +	-del $(PROJECT)
  58.381 +	-del install_teak.exe
  58.382 +	-del stx.lib
  58.383 +	-del stx.dll
  58.384 +	-del $(RT_DLL)
  58.385 +	-del $(REQUIRED_FILES)
  58.386 +	-del main.c
  58.387 +	-del *.log
  58.388 +	-del *.$(RES)
  58.389 +	-rmdir /S /Q resources
  58.390 +	-rmdir /S /Q $(OBJDIR)
  58.391 +
  58.392 +clobber:: clean
  58.393 +	-del *.dll *.exe *.com
  58.394 +
  58.395 +postBuildCleanup::
  58.396 +	@rem  stupid win-make does not allow empty
  58.397 +
  58.398 +# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
  58.399 +$(OUTDIR)TCompilerCommand.$(O) TCompilerCommand.$(H): TCompilerCommand.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\StandaloneStartup.$(H) $(STCHDR)
  58.400 +$(OUTDIR)jv_tea_compiler_cli.$(O) jv_tea_compiler_cli.$(H): jv_tea_compiler_cli.st $(INCLUDE_TOP)\stx\libbasic\ApplicationDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
  58.401 +
  58.402 +# ENDMAKEDEPEND --- do not remove this line
  58.403 +
  58.404 +# **Must be at end**
  58.405 +
  58.406 +# Enforce recompilation of package definition class if Mercurial working
  58.407 +# copy state changes. Together with --guessVersion it ensures that package
  58.408 +# definition class always contains correct binary revision string.
  58.409 +!IFDEF HGROOT
  58.410 +$(OUTDIR)jv_tea_compiler_cli.$(O): $(HGROOT)\.hg\dirstate
  58.411 +!ENDIF
    59.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    59.2 +++ b/compiler/cli/bmake.bat	Fri Sep 25 03:51:15 2015 +0100
    59.3 @@ -0,0 +1,13 @@
    59.4 +@REM -------
    59.5 +@REM make using Borland bcc32
    59.6 +@REM type bmake, and wait...
    59.7 +@REM do not edit - automatically generated from ProjectDefinition
    59.8 +@REM -------
    59.9 +@SET DEFINES=
   59.10 +@REM Kludge got Mercurial, cannot be implemented in Borland make
   59.11 +@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
   59.12 +@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
   59.13 +
   59.14 +make.exe -N -f bc.mak  %DEFINES% %*
   59.15 +
   59.16 +
    60.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    60.2 +++ b/compiler/cli/builder/baseline.rbspec	Fri Sep 25 03:51:15 2015 +0100
    60.3 @@ -0,0 +1,26 @@
    60.4 +
    60.5 +# generated from project definition
    60.6 +
    60.7 +# load package dependencies
    60.8 +load 'package.deps.rake'
    60.9 +
   60.10 +# kludge: clear some invalid dependencies of libwidg
   60.11 +# (should be fixed in baseline)
   60.12 +clear "stx:libwidg" => "stx:libui"
   60.13 +clear "stx:libwidg2" => "stx:libui"
   60.14 +
   60.15 +project :'teak:baseline' do
   60.16 +  # preamble
   60.17 +  
   60.18 +  # --------
   60.19 +
   60.20 +  package "stx:libbasic"
   60.21 +
   60.22 +
   60.23 +  application "jv:tea/compiler/cli"
   60.24 +
   60.25 +  # postamble
   60.26 +  
   60.27 +  # ---------
   60.28 +
   60.29 +end
    61.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    61.2 +++ b/compiler/cli/builder/package.deps.rake	Fri Sep 25 03:51:15 2015 +0100
    61.3 @@ -0,0 +1,135 @@
    61.4 +
    61.5 +# Package dependencies.
    61.6 +# Automatically generated by project defintion.
    61.7 +
    61.8 +task "stx:libview2" => "stx:libbasic"
    61.9 +task "stx:libview2" => "stx:libbasic2"
   61.10 +task "stx:libview2" => "stx:libview"
   61.11 +task "stx:libview2" => "stx:libui"
   61.12 +
   61.13 +task "stx:goodies/refactoryBrowser/helpers" => "stx:libbasic"
   61.14 +task "stx:goodies/refactoryBrowser/helpers" => "stx:libcomp"
   61.15 +task "stx:goodies/refactoryBrowser/helpers" => "stx:libcompat"
   61.16 +
   61.17 +task "stx:goodies/sunit" => "stx:libbasic"
   61.18 +task "stx:goodies/sunit" => "stx:libview2"
   61.19 +task "stx:goodies/sunit" => "stx:libbasic2"
   61.20 +task "stx:goodies/sunit" => "stx:libview"
   61.21 +
   61.22 +task "stx:goodies/refactoryBrowser/browser" => "stx:goodies/refactoryBrowser/helpers"
   61.23 +task "stx:goodies/refactoryBrowser/browser" => "stx:libbasic"
   61.24 +task "stx:goodies/refactoryBrowser/browser" => "stx:libview2"
   61.25 +task "stx:goodies/refactoryBrowser/browser" => "stx:goodies/refactoryBrowser/parser"
   61.26 +task "stx:goodies/refactoryBrowser/browser" => "stx:libcompat"
   61.27 +task "stx:goodies/refactoryBrowser/browser" => "stx:libview"
   61.28 +task "stx:goodies/refactoryBrowser/browser" => "stx:libwidg"
   61.29 +
   61.30 +task "jv:tea/compiler" => "jv:llvm_s"
   61.31 +task "jv:tea/compiler" => "stx:goodies/refactoryBrowser/parser"
   61.32 +task "jv:tea/compiler" => "stx:goodies/ring"
   61.33 +task "jv:tea/compiler" => "stx:goodies/sunit"
   61.34 +task "jv:tea/compiler" => "stx:libbasic"
   61.35 +task "jv:tea/compiler" => "stx:libbasic3"
   61.36 +
   61.37 +task "stx:libtool" => "stx:goodies/refactoryBrowser/parser"
   61.38 +task "stx:libtool" => "stx:libbasic"
   61.39 +task "stx:libtool" => "stx:libbasic2"
   61.40 +task "stx:libtool" => "stx:libbasic3"
   61.41 +task "stx:libtool" => "stx:libcomp"
   61.42 +task "stx:libtool" => "stx:libui"
   61.43 +task "stx:libtool" => "stx:libview"
   61.44 +task "stx:libtool" => "stx:libview2"
   61.45 +task "stx:libtool" => "stx:libwidg"
   61.46 +task "stx:libtool" => "stx:libwidg2"
   61.47 +task "stx:libtool" => "stx:libwidg3"
   61.48 +
   61.49 +task "stx:libboss" => "stx:libbasic"
   61.50 +task "stx:libboss" => "stx:libbasic2"
   61.51 +task "stx:libboss" => "stx:libview"
   61.52 +
   61.53 +task "stx:libcomp" => "stx:libbasic"
   61.54 +
   61.55 +task "stx:libcompat" => "stx:libbasic"
   61.56 +task "stx:libcompat" => "stx:libbasic2"
   61.57 +task "stx:libcompat" => "stx:libbasic3"
   61.58 +task "stx:libcompat" => "stx:libview"
   61.59 +task "stx:libcompat" => "stx:libview2"
   61.60 +task "stx:libcompat" => "stx:libwidg"
   61.61 +task "stx:libcompat" => "stx:libwidg2"
   61.62 +
   61.63 +task "stx:libui" => "stx:libbasic"
   61.64 +task "stx:libui" => "stx:libview"
   61.65 +
   61.66 +
   61.67 +task "stx:goodies/refactoryBrowser/parser" => "stx:libbasic"
   61.68 +task "stx:goodies/refactoryBrowser/parser" => "stx:libbasic2"
   61.69 +
   61.70 +task "stx:libbasic3" => "stx:libbasic"
   61.71 +task "stx:libbasic3" => "stx:libbasic2"
   61.72 +task "stx:libbasic3" => "stx:libjavascript"
   61.73 +
   61.74 +task "stx:libhtml" => "stx:libbasic"
   61.75 +task "stx:libhtml" => "stx:libview"
   61.76 +task "stx:libhtml" => "stx:libwidg"
   61.77 +
   61.78 +task "stx:libwidg2" => "stx:libbasic"
   61.79 +task "stx:libwidg2" => "stx:libbasic2"
   61.80 +task "stx:libwidg2" => "stx:libview"
   61.81 +task "stx:libwidg2" => "stx:libview2"
   61.82 +task "stx:libwidg2" => "stx:libwidg"
   61.83 +task "stx:libwidg2" => "stx:goodies/refactoryBrowser/browser"
   61.84 +task "stx:libwidg2" => "stx:libboss"
   61.85 +task "stx:libwidg2" => "stx:libjava"
   61.86 +task "stx:libwidg2" => "stx:libjavascript"
   61.87 +task "stx:libwidg2" => "stx:libui"
   61.88 +
   61.89 +task "stx:libbasic2" => "stx:libbasic"
   61.90 +
   61.91 +task "jv:llvm_s" => "stx:goodies/sunit"
   61.92 +task "jv:llvm_s" => "stx:libbasic"
   61.93 +
   61.94 +task "stx:libwidg3" => "stx:libbasic"
   61.95 +task "stx:libwidg3" => "stx:libui"
   61.96 +task "stx:libwidg3" => "stx:libview"
   61.97 +task "stx:libwidg3" => "stx:libview2"
   61.98 +task "stx:libwidg3" => "stx:libwidg"
   61.99 +task "stx:libwidg3" => "stx:libwidg2"
  61.100 +task "stx:libwidg3" => "stx:libbasic2"
  61.101 +
  61.102 +task "stx:goodies/ring" => "stx:libbasic"
  61.103 +task "stx:goodies/ring" => "stx:libcompat"
  61.104 +
  61.105 +task "stx:libwidg" => "stx:libbasic"
  61.106 +task "stx:libwidg" => "stx:libview"
  61.107 +task "stx:libwidg" => "stx:libview2"
  61.108 +task "stx:libwidg" => "stx:libbasic2"
  61.109 +task "stx:libwidg" => "stx:libbasic3"
  61.110 +task "stx:libwidg" => "stx:libui"
  61.111 +
  61.112 +
  61.113 +task "stx:libjava" => "stx:libbasic"
  61.114 +task "stx:libjava" => "stx:libbasic2"
  61.115 +task "stx:libjava" => "stx:libbasic3"
  61.116 +task "stx:libjava" => "stx:libview"
  61.117 +task "stx:libjava" => "stx:libcomp"
  61.118 +task "stx:libjava" => "stx:libhtml"
  61.119 +task "stx:libjava" => "stx:libtool"
  61.120 +task "stx:libjava" => "stx:libview2"
  61.121 +task "stx:libjava" => "stx:libwidg"
  61.122 +task "stx:libjava" => "stx:libwidg2"
  61.123 +
  61.124 +task "stx:libjavascript" => "stx:libbasic"
  61.125 +task "stx:libjavascript" => "stx:libbasic3"
  61.126 +task "stx:libjavascript" => "stx:libcomp"
  61.127 +task "stx:libjavascript" => "stx:libtool"
  61.128 +task "stx:libjavascript" => "stx:goodies/refactoryBrowser/parser"
  61.129 +task "stx:libjavascript" => "stx:goodies/webServer"
  61.130 +task "stx:libjavascript" => "stx:libview2"
  61.131 +
  61.132 +task "stx:libview" => "stx:libbasic"
  61.133 +
  61.134 +task "jv:tea/compiler/cli" => "stx:libbasic"
  61.135 +task "jv:tea/compiler/cli" => "jv:tea/compiler"
  61.136 +task "jv:tea/compiler/cli" => "stx:libcomp"
  61.137 +
  61.138 +
    62.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    62.2 +++ b/compiler/cli/cli.nsi	Fri Sep 25 03:51:15 2015 +0100
    62.3 @@ -0,0 +1,206 @@
    62.4 +; $Header$
    62.5 +; Script generated by ProjectDefinition.
    62.6 +
    62.7 +!define PRODUCT_NAME "TeaCompiler"
    62.8 +!define PRODUCT_FILENAME "TeaCompiler"
    62.9 +!define PRODUCT_VERSION "6.2.5.0"
   62.10 +!define PRODUCT_PUBLISHER "Jan Vrany"
   62.11 +!define PRODUCT_WEB_SITE "http://www.yoursite.com"
   62.12 +!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_FILENAME}"
   62.13 +!define PRODUCT_UNINST_ROOT_KEY "HKLM"
   62.14 +
   62.15 +!define STX_ROOT "..\..\..\..\stx\.."
   62.16 +
   62.17 +SetCompressor /solid lzma
   62.18 +
   62.19 +!include "MUI2.nsh"
   62.20 +!include "x64.nsh"
   62.21 +
   62.22 +; MUI Settings
   62.23 +
   62.24 +!define MUI_WELCOMEPAGE_TITLE_3LINES
   62.25 +!define MUI_ABORTWARNING
   62.26 +!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
   62.27 +;; !define MUI_ICON "nil.ico"
   62.28 +!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
   62.29 +;; !define MUI_UNICON "nil.ico"
   62.30 +
   62.31 +; Language Selection Dialog Settings
   62.32 +!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
   62.33 +!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
   62.34 +!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
   62.35 +
   62.36 +; Welcome page
   62.37 +!insertmacro MUI_PAGE_WELCOME
   62.38 +; License page
   62.39 +; !define MUI_LICENSEPAGE_CHECKBOX
   62.40 +
   62.41 +
   62.42 +!insertmacro MUI_PAGE_COMPONENTS
   62.43 +; Directory page
   62.44 +!insertmacro MUI_PAGE_DIRECTORY
   62.45 +; Instfiles page
   62.46 +!insertmacro MUI_PAGE_INSTFILES
   62.47 +; Finish page
   62.48 +!insertmacro MUI_PAGE_FINISH
   62.49 +
   62.50 +; Uninstaller pages
   62.51 +!insertmacro MUI_UNPAGE_INSTFILES
   62.52 +
   62.53 +; Language files
   62.54 +!insertmacro MUI_LANGUAGE "English"
   62.55 +!insertmacro MUI_LANGUAGE "German"
   62.56 +
   62.57 +; MUI end ------
   62.58 +
   62.59 +
   62.60 +
   62.61 +Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
   62.62 +VIProductVersion "${PRODUCT_VERSION}.0"
   62.63 +VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${PRODUCT_NAME}"
   62.64 +VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "${PRODUCT_PUBLISHER}"
   62.65 +VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "6.2.32767.32767"
   62.66 +VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${PRODUCT_NAME} Installer"
   62.67 +VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "${PRODUCT_VERSION}"
   62.68 +VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "(C) 2015 Jan Vrany"
   62.69 +
   62.70 +
   62.71 +OutFile "TeaCompilerSetup.exe"
   62.72 +InstallDir "$PROGRAMFILES\cli"
   62.73 +ShowInstDetails show
   62.74 +ShowUnInstDetails show
   62.75 +
   62.76 +Function .onInit
   62.77 +  !insertmacro MUI_LANGDLL_DISPLAY
   62.78 +FunctionEnd
   62.79 +
   62.80 +InstType Full
   62.81 +InstType Partial
   62.82 +
   62.83 +Section "Programme" Section1
   62.84 +  SectionIn 1 2
   62.85 +  SetOutPath "$INSTDIR\bin"
   62.86 +  SetOverwrite ifnewer
   62.87 +  File  "teak.com"
   62.88 +  File "*.dll"
   62.89 +  File "symbols.stc"
   62.90 +  File "*.stx"
   62.91 +  File "*.rc"
   62.92 +  File /r /x CVS /x ".*" resources
   62.93 +
   62.94 +
   62.95 +
   62.96 +
   62.97 +
   62.98 +  WriteRegStr HKCR "Jv.TeaCompiler.1" "" "TeaCompiler File"
   62.99 +  WriteRegStr HKCR "Jv.TeaCompiler.1\DefaultIcon" "" '$INSTDIR\bin\teak.exe,0'
  62.100 +  WriteRegStr HKCR "Jv.TeaCompiler.1\Shell\open" "" $(appOpen)
  62.101 +  WriteRegStr HKCR "Jv.TeaCompiler.1\Shell\open\command" "" '"$INSTDIR\bin\teak.exe" -- "%1"'
  62.102 +SectionEnd
  62.103 +
  62.104 +;; Section "Online-Documentation for TeaCompiler" Section2
  62.105 +;;   SectionIn 1
  62.106 +;;   SetOutPath "$INSTDIR\doc"
  62.107 +;;   SetOverwrite ifnewer
  62.108 +;;   File /r /x CVS "${STX_ROOT}\jv\teak\doc\*"
  62.109 +;; SectionEnd
  62.110 +
  62.111 +;; Section "TeaCompiler Libraries and Demos" Section3
  62.112 +;;   SectionIn 1
  62.113 +;;   SetOutPath "$INSTDIR\lib"
  62.114 +;;   SetOverwrite ifnewer
  62.115 +;; ;   File /r /x CVS "${STX_ROOT}\jv\teak\examples\*"
  62.116 +;; SectionEnd
  62.117 +;; 
  62.118 +;; Section "TeaCompiler Reports and Printing" Section4
  62.119 +;;   SectionIn 1
  62.120 +;;   SetOutPath "$INSTDIR\reportGenerator"
  62.121 +;;   SetOverwrite ifnewer
  62.122 +;; ;  File /r /x CVS "..\reportGenerator\java" "..\reportGenerator\rules" "..\reportGenerator\*.xml" "..\reportGenerator\*.xslt" "..\reportGenerator\CloseApp.exe" "..\reportGenerator\expecco.jpg"
  62.123 +;; SectionEnd
  62.124 +
  62.125 +
  62.126 +
  62.127 +
  62.128 +
  62.129 +
  62.130 +
  62.131 +
  62.132 +Section -AdditionalIcons
  62.133 +  SetOutPath "$INSTDIR\bin"
  62.134 +  WriteIniStr "$INSTDIR\${PRODUCT_FILENAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
  62.135 +  CreateDirectory "$SMPROGRAMS\${PRODUCT_FILENAME}"
  62.136 +  CreateShortCut "$SMPROGRAMS\${PRODUCT_FILENAME}\teak.lnk" "$INSTDIR\bin\teak.exe"
  62.137 +  CreateShortCut "$DESKTOP\teak.lnk" "$INSTDIR\bin\teak.exe"
  62.138 +  CreateShortCut "$SMPROGRAMS\${PRODUCT_FILENAME}\Website.lnk" "$INSTDIR\${PRODUCT_FILENAME}.url"
  62.139 +  CreateShortCut "$SMPROGRAMS\${PRODUCT_FILENAME}\Uninstall.lnk" "$INSTDIR\uninst.exe"
  62.140 +SectionEnd
  62.141 +
  62.142 +Section -Post
  62.143 +  WriteUninstaller "$INSTDIR\uninst.exe"
  62.144 +  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
  62.145 +  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
  62.146 +  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
  62.147 +  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
  62.148 +  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
  62.149 +SectionEnd
  62.150 +
  62.151 +LangString appOpen ${LANG_GERMAN}  "Mit TeaCompiler öffnen"
  62.152 +LangString appOpen ${LANG_ENGLISH} "Open with TeaCompiler"
  62.153 +
  62.154 +LangString DESC_Section1 ${LANG_ENGLISH} "Program components of TeaCompiler"
  62.155 +LangString DESC_Section1 ${LANG_GERMAN}  "Alle Programmkomponenten von TeaCompiler"
  62.156 +;; LangString DESC_Section2 ${LANG_ENGLISH} "Online-Documentation of TeaCompiler"
  62.157 +;; LangString DESC_Section2 ${LANG_GERMAN}  "Online-Dokumentation zu TeaCompiler"
  62.158 +;; LangString DESC_Section3 ${LANG_ENGLISH} "Libraries and Demo Projects"
  62.159 +;; LangString DESC_Section3 ${LANG_GERMAN}  "Bibliotheken und Beispielprojekte"
  62.160 +;; LangString DESC_Section4 ${LANG_ENGLISH} "Logfile Printing and Report Generation"
  62.161 +;; LangString DESC_Section4 ${LANG_GERMAN}  "Drucken und Report-Generierung aus Log-Dateien"
  62.162 +;; LangString DESC_Section3 ${LANG_ENGLISH} "Sources of ST/X (Base-System)"
  62.163 +;; LangString DESC_Section3 ${LANG_GERMAN}  "Quellcode von ST/X (Basis-System)"
  62.164 +;; LangString DESC_Section4 ${LANG_ENGLISH} "Sources of TeaCompiler"
  62.165 +;; LangString DESC_Section4 ${LANG_GERMAN}  "Quellcode von TeaCompiler"
  62.166 +
  62.167 +
  62.168 +!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
  62.169 +  !insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
  62.170 +;;   !insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
  62.171 +;;  !insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3)
  62.172 +;;  !insertmacro MUI_DESCRIPTION_TEXT ${Section4} $(DESC_Section4)
  62.173 +
  62.174 +!insertmacro MUI_FUNCTION_DESCRIPTION_END
  62.175 +
  62.176 +
  62.177 +
  62.178 +Function un.onUninstSuccess
  62.179 +  HideWindow
  62.180 +  MessageBox MB_ICONINFORMATION|MB_OK "TeaCompiler wurde erfolgreich deinstalliert"
  62.181 +FunctionEnd
  62.182 +
  62.183 +Function un.onInit
  62.184 +!insertmacro MUI_UNGETLANGUAGE
  62.185 +  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Möchten Sie TeaCompiler und alle seine Komponenten deinstallieren?" IDYES +2
  62.186 +  Abort
  62.187 +FunctionEnd
  62.188 +
  62.189 +Section Uninstall
  62.190 +  Delete "$INSTDIR\${PRODUCT_FILENAME}.url"
  62.191 +  Delete "$INSTDIR\uninst.exe"
  62.192 +
  62.193 +    Delete "$INSTDIR\*"
  62.194 +    RMDir /r "$INSTDIR"
  62.195 +
  62.196 +  Delete "$SMPROGRAMS\${PRODUCT_FILENAME}\Uninstall.lnk"
  62.197 +  Delete "$SMPROGRAMS\${PRODUCT_FILENAME}\Website.lnk"
  62.198 +  Delete "$SMPROGRAMS\${PRODUCT_FILENAME}\teak.lnk"
  62.199 +  Delete "$DESKTOP\teak.lnk"
  62.200 +
  62.201 +  RMDir "$SMPROGRAMS\${PRODUCT_FILENAME}"
  62.202 +
  62.203 +  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  62.204 +  DeleteRegKey HKCR "Jv.TeaCompiler.1"
  62.205 +
  62.206 +
  62.207 +
  62.208 +  SetAutoClose true
  62.209 +SectionEnd
    63.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    63.2 +++ b/compiler/cli/cliWinRC.rc	Fri Sep 25 03:51:15 2015 +0100
    63.3 @@ -0,0 +1,49 @@
    63.4 +//
    63.5 +// DO NOT EDIT 
    63.6 +// automagically generated from the projectDefinition: jv_tea_compiler_cli.
    63.7 +//
    63.8 +#define IDR_MAINFRAME   128
    63.9 +#define IDR_SPLASH      129
   63.10 +
   63.11 +#if (__BORLANDC__)
   63.12 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
   63.13 +#endif
   63.14 +
   63.15 +#pragma code_page(1252)
   63.16 +
   63.17 +
   63.18 +
   63.19 +VS_VERSION_INFO VERSIONINFO
   63.20 +  FILEVERSION     6,2,32767,32767
   63.21 +  PRODUCTVERSION  6,2,5,0
   63.22 +#if (__BORLANDC__)
   63.23 +  FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
   63.24 +  FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
   63.25 +  FILEOS          VOS_NT_WINDOWS32
   63.26 +  FILETYPE        VFT_DLL
   63.27 +  FILESUBTYPE     VS_USER_DEFINED
   63.28 +#else
   63.29 +  FILEFLAGSMASK 0x3fL
   63.30 +#endif
   63.31 +
   63.32 +BEGIN
   63.33 +  BLOCK "StringFileInfo"
   63.34 +  BEGIN
   63.35 +    BLOCK "040904E4"
   63.36 +    BEGIN
   63.37 +      VALUE "CompanyName", "My Company\0"
   63.38 +      VALUE "FileDescription", "Application\0"
   63.39 +      VALUE "FileVersion", "6.2.32767.32767\0"
   63.40 +      VALUE "InternalName", "jv:tea/compiler/cli\0"
   63.41 +      VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
   63.42 +      VALUE "ProductName", "ProductName\0"
   63.43 +      VALUE "ProductVersion", "6.2.5.0\0"
   63.44 +      VALUE "ProductDate", "Fri, 25 Sep 2015 02:28:29 GMT\0"
   63.45 +    END
   63.46 +  END
   63.47 +
   63.48 +  BLOCK "VarFileInfo"
   63.49 +  BEGIN                               //  Language   |    Translation
   63.50 +    VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual
   63.51 +  END
   63.52 +END
    64.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    64.2 +++ b/compiler/cli/jv_tea_compiler_cli.st	Fri Sep 25 03:51:15 2015 +0100
    64.3 @@ -0,0 +1,208 @@
    64.4 +"
    64.5 +    Copyright (C) 2015-now Jan Vrany
    64.6 +
    64.7 +    This code is not an open-source (yet). You may use this code
    64.8 +    for your own experiments and projects, given that:
    64.9 +
   64.10 +    * all modification to the code will be sent to the
   64.11 +      original author for inclusion in future releases
   64.12 +    * this is not used in any commercial software
   64.13 +
   64.14 +    This license is provisional and may (will) change in
   64.15 +    a future.
   64.16 +"
   64.17 +"{ Package: 'jv:tea/compiler/cli' }"
   64.18 +
   64.19 +"{ NameSpace: Smalltalk }"
   64.20 +
   64.21 +ApplicationDefinition subclass:#jv_tea_compiler_cli
   64.22 +	instanceVariableNames:''
   64.23 +	classVariableNames:''
   64.24 +	poolDictionaries:''
   64.25 +	category:'* Projects & Packages *'
   64.26 +!
   64.27 +
   64.28 +!jv_tea_compiler_cli class methodsFor:'documentation'!
   64.29 +
   64.30 +copyright
   64.31 +"
   64.32 +    Copyright (C) 2015-now Jan Vrany
   64.33 +
   64.34 +    This code is not an open-source (yet). You may use this code
   64.35 +    for your own experiments and projects, given that:
   64.36 +
   64.37 +    * all modification to the code will be sent to the
   64.38 +      original author for inclusion in future releases
   64.39 +    * this is not used in any commercial software
   64.40 +
   64.41 +    This license is provisional and may (will) change in
   64.42 +    a future.
   64.43 +"
   64.44 +! !
   64.45 +
   64.46 +!jv_tea_compiler_cli class methodsFor:'description'!
   64.47 +
   64.48 +applicationName
   64.49 +    "answer the name of the application.
   64.50 +     This is also the name of the generated .exe file.
   64.51 +
   64.52 +     Subclasses may redefine this"
   64.53 +
   64.54 +    ^ 'teak'       
   64.55 +
   64.56 +    "
   64.57 +     bosch_dapasx_application applicationName     
   64.58 +     stx_projects_smalltalk applicationName     
   64.59 +    "
   64.60 +
   64.61 +    "Created: / 25-09-2015 / 03:46:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   64.62 +!
   64.63 +
   64.64 +excludedFromPreRequisites
   64.65 +    "list packages which are to be explicitely excluded from the automatic constructed
   64.66 +     prerequisites list. If empty, everything that is found along the inheritance of any of
   64.67 +     my classes is considered to be a prerequisite package."
   64.68 +
   64.69 +    ^ #(
   64.70 +    )
   64.71 +!
   64.72 +
   64.73 +isGUIApplication
   64.74 +    "return true, if this is a GUI application.
   64.75 +     (these need more libraries and use a different startup procedure)"
   64.76 +
   64.77 +    ^ false
   64.78 +!
   64.79 +
   64.80 +mandatoryPreRequisites
   64.81 +    "list packages which are mandatory as a prerequisite.
   64.82 +     This are packages containing superclasses of my classes and classes which
   64.83 +     are extended by myself.
   64.84 +     They are mandatory, because we need these packages as a prerequisite for loading and compiling.
   64.85 +     This method is generated automatically,
   64.86 +     by searching along the inheritance chain of all of my classes."
   64.87 +
   64.88 +    ^ #(
   64.89 +        #'stx:libbasic'    "ApplicationDefinition - superclass of jv_tea_compiler_cli"
   64.90 +    )
   64.91 +!
   64.92 +
   64.93 +referencedPreRequisites
   64.94 +    "list packages which are a prerequisite, because they contain
   64.95 +     classes which are referenced by my classes.
   64.96 +     We do not need these packages as a prerequisite for compiling or loading,
   64.97 +     however, a class from it may be referenced during execution and having it
   64.98 +     unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
   64.99 +     includes explicit checks for the package being present.
  64.100 +     This method is generated automatically,
  64.101 +     by searching all classes (and their packages) which are referenced by my classes."
  64.102 +
  64.103 +    ^ #(
  64.104 +        #'jv:tea/compiler'    "TCompiler - referenced by TCompilerCommand class>>process:"
  64.105 +    )
  64.106 +!
  64.107 +
  64.108 +subProjects
  64.109 +    "list packages which are known as subprojects.
  64.110 +     This method is generated automatically; however, when generating automatically,
  64.111 +     packages are only added - never removed, unless listed in #excludedFromSubProjects."
  64.112 +
  64.113 +    ^ #(
  64.114 +)
  64.115 +! !
  64.116 +
  64.117 +!jv_tea_compiler_cli class methodsFor:'description - contents'!
  64.118 +
  64.119 +classNamesAndAttributes
  64.120 +    "lists the classes which are to be included in the project.
  64.121 +     Each entry in the list may be: a single class-name (symbol),
  64.122 +     or an array-literal consisting of class name and attributes.
  64.123 +     Attributes are: #autoload or #<os> where os is one of win32, unix,..."
  64.124 +
  64.125 +    ^ #(
  64.126 +        "<className> or (<className> attributes...) in load order"
  64.127 +        TCompilerCommand
  64.128 +        #'jv_tea_compiler_cli'
  64.129 +    )
  64.130 +!
  64.131 +
  64.132 +extensionMethodNames
  64.133 +    "list class/selector pairs of extensions.
  64.134 +     A correponding method with real names must be present in my concrete subclasses"
  64.135 +
  64.136 +    ^ #(
  64.137 +    )
  64.138 +! !
  64.139 +
  64.140 +!jv_tea_compiler_cli class methodsFor:'description - project information'!
  64.141 +
  64.142 +applicationIconFileName
  64.143 +    "Return the name (without suffix) of an icon-file (the app's icon); will be included in the rc-resource file"
  64.144 +
  64.145 +    ^ nil
  64.146 +    " ^ self applicationName "
  64.147 +!
  64.148 +
  64.149 +companyName
  64.150 +    "Returns a company string which will appear in <lib>.rc.
  64.151 +     Under win32, this is placed into the dlls file-info"
  64.152 +
  64.153 +    ^ 'Jan Vrany'
  64.154 +
  64.155 +    "Modified: / 25-09-2015 / 03:42:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  64.156 +!
  64.157 +
  64.158 +description
  64.159 +    "Returns a description string which will appear in nt.def / bc.def"
  64.160 +
  64.161 +    ^ 'Tea Language Compiler'
  64.162 +
  64.163 +    "Modified: / 25-09-2015 / 03:44:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  64.164 +!
  64.165 +
  64.166 +legalCopyright
  64.167 +    "Returns a copyright string which will appear in <lib>.rc.
  64.168 +     Under win32, this is placed into the dlls file-info"
  64.169 +
  64.170 +    ^ '(C) 2015 Jan Vrany'
  64.171 +
  64.172 +    "Modified: / 25-09-2015 / 03:43:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  64.173 +!
  64.174 +
  64.175 +productInstallDirBaseName
  64.176 +    "Returns a default installDir which will appear in <app>.nsi.
  64.177 +     This is usually not the one you want to keep"
  64.178 +
  64.179 +    ^ (self package asCollectionOfSubstringsSeparatedByAny:':/') last
  64.180 +!
  64.181 +
  64.182 +productName
  64.183 +    "Returns a product name which will appear in <lib>.rc.
  64.184 +     Under win32, this is placed into the dlls file-info.
  64.185 +     This method is usually redefined in a concrete application definition"
  64.186 +
  64.187 +    ^ 'TeaCompiler'
  64.188 +
  64.189 +    "Modified: / 25-09-2015 / 03:44:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  64.190 +! !
  64.191 +
  64.192 +!jv_tea_compiler_cli class methodsFor:'description - startup'!
  64.193 +
  64.194 +startupClassName
  64.195 +    "the class that starts the show in its startupSelector method"
  64.196 +
  64.197 +    ^ 'TCompilerCommand'
  64.198 +!
  64.199 +
  64.200 +startupSelector
  64.201 +    "the message that is sent to the startupClass to start the show"
  64.202 +
  64.203 +    ^ #'start'        
  64.204 +! !
  64.205 +
  64.206 +!jv_tea_compiler_cli class methodsFor:'documentation'!
  64.207 +
  64.208 +version_HG
  64.209 +    ^ '$Changeset: <not expanded> $'
  64.210 +! !
  64.211 +
    65.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    65.2 +++ b/compiler/cli/mingwmake.bat	Fri Sep 25 03:51:15 2015 +0100
    65.3 @@ -0,0 +1,16 @@
    65.4 +@REM -------
    65.5 +@REM make using mingw gnu compiler
    65.6 +@REM type mingwmake, and wait...
    65.7 +@REM do not edit - automatically generated from ProjectDefinition
    65.8 +@REM -------
    65.9 +@SET DEFINES=
   65.10 +@REM Kludge got Mercurial, cannot be implemented in Borland make
   65.11 +@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
   65.12 +@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
   65.13 +
   65.14 +@pushd ..\..\..\..\stx\rules
   65.15 +@call find_mingw.bat
   65.16 +@popd
   65.17 +make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
   65.18 +
   65.19 +
    66.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    66.2 +++ b/compiler/cli/modules.c	Fri Sep 25 03:51:15 2015 +0100
    66.3 @@ -0,0 +1,22 @@
    66.4 +/* $Header$
    66.5 + *
    66.6 + * DO NOT EDIT 
    66.7 + * automagically generated from the projectDefinition: jv_tea_compiler_cli.
    66.8 + *
    66.9 + * Warning: once you modify this file, do not rerun
   66.10 + * stmkmp or projectDefinition-build again - otherwise, your changes are lost.
   66.11 + */
   66.12 +typedef void (*vf)();
   66.13 +
   66.14 +extern void _TCompilerCommand_Init();
   66.15 +extern void _jv_137tea_137compiler_137cli_Init();
   66.16 +
   66.17 +
   66.18 +static vf modules[] = {
   66.19 +    _TCompilerCommand_Init,
   66.20 +_jv_137tea_137compiler_137cli_Init,
   66.21 +
   66.22 +    (vf)0
   66.23 +};
   66.24 +
   66.25 +vf *__modules__ = modules;
    67.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    67.2 +++ b/compiler/cli/modules.stx	Fri Sep 25 03:51:15 2015 +0100
    67.3 @@ -0,0 +1,19 @@
    67.4 +# $Header$
    67.5 +#
    67.6 +# DO NOT EDIT 
    67.7 +# automagically generated from the projectDefinition: jv_tea_compiler_cli.
    67.8 +#
    67.9 +# Warning: once you modify this file, do not rerun
   67.10 +# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
   67.11 +#
   67.12 +# This file is (currently) only used with win-95 / win-NT versions of STX.
   67.13 +# It lists the dll's which are to be loaded at startup time.
   67.14 +# Notice, lines starting with a "#" are comments.
   67.15 +# Lines starting with a "*" are treated as comments by the VM, but are usually loaded
   67.16 +# by the application at the very beginning.
   67.17 +#
   67.18 +# All classes loaded at startup time will be present as precompiled classes.
   67.19 +# Others might be autoloaded or loaded explicit using "Smalltalk loadPackage:xxx".
   67.20 +#
   67.21 +libstx_libbasic
   67.22 +
    68.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    68.2 +++ b/compiler/cli/vcmake.bat	Fri Sep 25 03:51:15 2015 +0100
    68.3 @@ -0,0 +1,21 @@
    68.4 +@REM -------
    68.5 +@REM make using Microsoft Visual C compiler
    68.6 +@REM type vcmake, and wait...
    68.7 +@REM do not edit - automatically generated from ProjectDefinition
    68.8 +@REM -------
    68.9 +
   68.10 +@if not defined VSINSTALLDIR (
   68.11 +    pushd ..\..\..\..\stx\rules
   68.12 +    call vcsetup.bat
   68.13 +    popd
   68.14 +)
   68.15 +@SET DEFINES=
   68.16 +@REM Kludge got Mercurial, cannot be implemented in Borland make
   68.17 +@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
   68.18 +@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
   68.19 +
   68.20 +
   68.21 +make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
   68.22 +
   68.23 +
   68.24 +
    69.1 --- a/compiler/jv_tea_compiler.st	Wed Sep 23 22:21:44 2015 +0100
    69.2 +++ b/compiler/jv_tea_compiler.st	Fri Sep 25 03:51:15 2015 +0100
    69.3 @@ -1,3 +1,16 @@
    69.4 +"
    69.5 +    Copyright (C) 2015-now Jan Vrany
    69.6 +
    69.7 +    This code is not an open-source (yet). You may use this code
    69.8 +    for your own experiments and projects, given that:
    69.9 +
   69.10 +    * all modification to the code will be sent to the
   69.11 +      original author for inclusion in future releases
   69.12 +    * this is not used in any commercial software
   69.13 +
   69.14 +    This license is provisional and may (will) change in
   69.15 +    a future.
   69.16 +"
   69.17  "{ Package: 'jv:tea/compiler' }"
   69.18  
   69.19  "{ NameSpace: Smalltalk }"
   69.20 @@ -9,6 +22,23 @@
   69.21  	category:'* Projects & Packages *'
   69.22  !
   69.23  
   69.24 +!jv_tea_compiler class methodsFor:'documentation'!
   69.25 +
   69.26 +copyright
   69.27 +"
   69.28 +    Copyright (C) 2015-now Jan Vrany
   69.29 +
   69.30 +    This code is not an open-source (yet). You may use this code
   69.31 +    for your own experiments and projects, given that:
   69.32 +
   69.33 +    * all modification to the code will be sent to the
   69.34 +      original author for inclusion in future releases
   69.35 +    * this is not used in any commercial software
   69.36 +
   69.37 +    This license is provisional and may (will) change in
   69.38 +    a future.
   69.39 +"
   69.40 +! !
   69.41  
   69.42  !jv_tea_compiler class methodsFor:'description'!
   69.43  
   69.44 @@ -30,10 +60,11 @@
   69.45       by searching along the inheritance chain of all of my classes."
   69.46  
   69.47      ^ #(
   69.48 +        #'jv:llvm_s'    "LLVMAtomicOrdering - shared pool used by TLLVMCodeGenerator"
   69.49          #'stx:goodies/refactoryBrowser/parser'    "RBAssignmentNode - extended"
   69.50          #'stx:goodies/ring'    "RGAbstractContainer - superclass of TCompilationUnitDefinition"
   69.51          #'stx:goodies/sunit'    "TestAsserter - superclass of TCompilerExamples"
   69.52 -        #'stx:libbasic'    "Autoload - superclass of TMethodDefinitionTests"
   69.53 +        #'stx:libbasic'    "Error - superclass of TCompilerError"
   69.54      )
   69.55  !
   69.56  
   69.57 @@ -48,7 +79,6 @@
   69.58       by searching all classes (and their packages) which are referenced by my classes."
   69.59  
   69.60      ^ #(
   69.61 -        #'jv:llvm_s'    "LLVMConstant - referenced by TConstantBinding>>asLLVMValueInModule:"
   69.62          #'stx:libbasic3'    "ChangeSet - referenced by TSourceReader>>read:"
   69.63      )
   69.64  !
   69.65 @@ -76,23 +106,29 @@
   69.66          TClassDefinition
   69.67          TCompilationUnitDefinition
   69.68          TCompiler
   69.69 -        TCompilerContext
   69.70          TCompilerError
   69.71          (TCompilerExamples autoload)
   69.72          TEnvironmentProvider
   69.73          TFormatter
   69.74          TMetaDefinition
   69.75          TMethodDefinition
   69.76 +        (TMethodDefinitionTests autoload)
   69.77          TNamespaceDefinition
   69.78          TObjectWithProperties
   69.79          TParser
   69.80 +        (TParserTests autoload)
   69.81          TProgramNodeVisitor
   69.82 +        (TSemanticAnalyserTests autoload)
   69.83          TSourceReader
   69.84 +        (TSourceReaderTests autoload)
   69.85          TSpecialFormNode
   69.86          TTypeNode
   69.87          TTypeSpecNode
   69.88 +        (TTypecheckerTests autoload)
   69.89          #'jv_tea_compiler'
   69.90          TBinding
   69.91 +        TCompilerContext
   69.92 +        TCompilerOptions
   69.93          TCompilerPass
   69.94          TEnvironment
   69.95          TFilesystemProvider
   69.96 @@ -115,11 +151,6 @@
   69.97          TVariableBinding
   69.98          TArgumentBinding
   69.99          TLocalBinding
  69.100 -        (TMethodDefinitionTests autoload)
  69.101 -        (TParserTests autoload)
  69.102 -        (TSemanticAnalyserTests autoload)
  69.103 -        (TSourceReaderTests autoload)
  69.104 -        (TTypecheckerTests autoload)
  69.105      )
  69.106  !
  69.107  
  69.108 @@ -167,20 +198,26 @@
  69.109      "Returns a company string which will appear in <lib>.rc.
  69.110       Under win32, this is placed into the dlls file-info"
  69.111  
  69.112 -    ^ 'My Company'
  69.113 +    ^ 'Jan Vrany'
  69.114 +
  69.115 +    "Modified: / 25-09-2015 / 03:42:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  69.116  !
  69.117  
  69.118  description
  69.119      "Returns a description string which will appear in nt.def / bc.def"
  69.120  
  69.121 -    ^ 'Class Library'
  69.122 +    ^ 'Tea Language Compiler Library'
  69.123 +
  69.124 +    "Modified: / 25-09-2015 / 03:43:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  69.125  !
  69.126  
  69.127  legalCopyright
  69.128      "Returns a copyright string which will appear in <lib>.rc.
  69.129       Under win32, this is placed into the dlls file-info"
  69.130  
  69.131 -    ^ 'My CopyRight or CopyLeft'
  69.132 +    ^ '(C) 2015 Jan Vrany'
  69.133 +
  69.134 +    "Modified: / 25-09-2015 / 03:43:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  69.135  !
  69.136  
  69.137  productName
  69.138 @@ -188,7 +225,9 @@
  69.139       Under win32, this is placed into the dlls file-info.
  69.140       This method is usually redefined in a concrete application definition"
  69.141  
  69.142 -    ^ 'LibraryName'
  69.143 +    ^ 'TeaCompilerLibrary'
  69.144 +
  69.145 +    "Modified: / 25-09-2015 / 03:43:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  69.146  ! !
  69.147  
  69.148  !jv_tea_compiler class methodsFor:'documentation'!
    70.1 --- a/compiler/libInit.cc	Wed Sep 23 22:21:44 2015 +0100
    70.2 +++ b/compiler/libInit.cc	Fri Sep 25 03:51:15 2015 +0100
    70.3 @@ -30,7 +30,6 @@
    70.4  _TClassDefinition_Init(pass,__pRT__,snd);
    70.5  _TCompilationUnitDefinition_Init(pass,__pRT__,snd);
    70.6  _TCompiler_Init(pass,__pRT__,snd);
    70.7 -_TCompilerContext_Init(pass,__pRT__,snd);
    70.8  _TCompilerError_Init(pass,__pRT__,snd);
    70.9  _TEnvironmentProvider_Init(pass,__pRT__,snd);
   70.10  _TFormatter_Init(pass,__pRT__,snd);
   70.11 @@ -46,6 +45,8 @@
   70.12  _TTypeSpecNode_Init(pass,__pRT__,snd);
   70.13  _jv_137tea_137compiler_Init(pass,__pRT__,snd);
   70.14  _TBinding_Init(pass,__pRT__,snd);
   70.15 +_TCompilerContext_Init(pass,__pRT__,snd);
   70.16 +_TCompilerOptions_Init(pass,__pRT__,snd);
   70.17  _TCompilerPass_Init(pass,__pRT__,snd);
   70.18  _TEnvironment_Init(pass,__pRT__,snd);
   70.19  _TFilesystemProvider_Init(pass,__pRT__,snd);