Tests moved to separate sub-package named tests to follow convention.
authorJan Vrany <jan.vrany@fit.cvut.cz>
Tue, 04 Nov 2014 00:17:12 +0000
changeset 8c2de4aaa2670
parent 7 cccc239c8833
child 9 ae0dabfd3321
Tests moved to separate sub-package named tests to follow convention.
compiler/Dart__ParserTests.st
compiler/Dart__ScannerTests.st
compiler/Make.proto
compiler/Make.spec
compiler/Makefile.init
compiler/abbrev.stc
compiler/bc.mak
compiler/bmake.bat
compiler/compiler.rc
compiler/ctu_dart_compiler.st
compiler/lccmake.bat
compiler/libInit.cc
compiler/mingwmake.bat
compiler/tests/Dart__ParserTests.st
compiler/tests/Dart__ScannerTests.st
compiler/tests/Make.proto
compiler/tests/Make.spec
compiler/tests/Makefile.init
compiler/tests/abbrev.stc
compiler/tests/bc.mak
compiler/tests/bmake.bat
compiler/tests/ctu_dart_compiler_tests.st
compiler/tests/lccmake.bat
compiler/tests/libInit.cc
compiler/tests/mingwmake.bat
compiler/tests/tests.rc
compiler/tests/vcmake.bat
compiler/vcmake.bat
     1.1 --- a/compiler/Dart__ParserTests.st	Thu Oct 30 21:22:38 2014 +0000
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,164 +0,0 @@
     1.4 -"{ Package: 'jv:dart/compiler' }"
     1.5 -
     1.6 -"{ NameSpace: Dart }"
     1.7 -
     1.8 -PPCompositeParserTest subclass:#ParserTests
     1.9 -	instanceVariableNames:''
    1.10 -	classVariableNames:''
    1.11 -	poolDictionaries:''
    1.12 -	category:'Languages-Dart-Parser-Tests'
    1.13 -!
    1.14 -
    1.15 -
    1.16 -!ParserTests methodsFor:'accessing'!
    1.17 -
    1.18 -parserClass
    1.19 -        ^ Dart::Parser
    1.20 -
    1.21 -    "Modified: / 11-01-2013 / 13:14:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    1.22 -! !
    1.23 -
    1.24 -!ParserTests methodsFor:'parsing'!
    1.25 -
    1.26 -fail: aString rule: aSymbol 
    1.27 -
    1.28 -    ^super fail: (Dart::Scanner for: aString) rule: aSymbol
    1.29 -
    1.30 -    "Created: / 14-03-2012 / 22:51:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    1.31 -    "Modified: / 11-01-2013 / 13:28:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    1.32 -!
    1.33 -
    1.34 -parse: aString rule: aSymbol
    1.35 -        | production |
    1.36 -        production := self parserInstance.
    1.37 -        aSymbol = #start ifFalse: [ 
    1.38 -                production := production productionAt: aSymbol.
    1.39 -                production := production , (Dart::Parser::TokenParser for: #EOF).
    1.40 -        ].
    1.41 -
    1.42 -        result := production parse: (Dart::Scanner for: aString).
    1.43 -        self 
    1.44 -            assert: result isPetitFailure not
    1.45 -            description: 'Unable to parse ' , aString printString.
    1.46 -
    1.47 -        ^ result
    1.48 -
    1.49 -    "Created: / 14-03-2012 / 22:51:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    1.50 -    "Modified: / 11-01-2013 / 15:35:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    1.51 -! !
    1.52 -
    1.53 -!ParserTests methodsFor:'tests - expressions'!
    1.54 -
    1.55 -test_expression_01
    1.56 -
    1.57 -    self parse:'1 + 1' rule: #expression
    1.58 -
    1.59 -    "Created: / 11-01-2013 / 15:12:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    1.60 -!
    1.61 -
    1.62 -test_expression_02
    1.63 -
    1.64 -    self parse:'a.foo()' rule: #expression
    1.65 -
    1.66 -    "Created: / 11-01-2013 / 15:19:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    1.67 -!
    1.68 -
    1.69 -test_expression_04
    1.70 -
    1.71 -    self parse:'new Foo()' rule: #expression
    1.72 -
    1.73 -    "Created: / 11-01-2013 / 15:38:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    1.74 -! !
    1.75 -
    1.76 -!ParserTests methodsFor:'tests - literals'!
    1.77 -
    1.78 -test_literal_01
    1.79 -
    1.80 -    self parse: '1' rule: #literal.
    1.81 -    self parse: '1.0' rule: #literal.
    1.82 -    self parse: 'true' rule: #literal.
    1.83 -    self parse: 'false' rule: #literal.
    1.84 -    self parse: 'null' rule: #literal.
    1.85 -
    1.86 -    "Created: / 11-01-2013 / 15:13:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    1.87 -! !
    1.88 -
    1.89 -!ParserTests methodsFor:'tests - misc'!
    1.90 -
    1.91 -test_misc_01
    1.92 -
    1.93 -    self parse:'=' rule: #assignmentOperator
    1.94 -
    1.95 -    "Created: / 11-01-2013 / 15:49:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    1.96 -! !
    1.97 -
    1.98 -!ParserTests methodsFor:'tests - smoke'!
    1.99 -
   1.100 -test_smoke_01
   1.101 -    self parse: 'import ''dart:html'';
   1.102 -
   1.103 -void main() {
   1.104 -
   1.105 -}'
   1.106 -
   1.107 -    "Created: / 11-01-2013 / 13:15:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   1.108 -!
   1.109 -
   1.110 -test_smoke_01a
   1.111 -    self parse: 'void main() { }'
   1.112 -
   1.113 -    "Created: / 11-01-2013 / 13:37:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   1.114 -!
   1.115 -
   1.116 -test_smoke_02
   1.117 -    self parse: '
   1.118 -
   1.119 -void main() {
   1.120 -    var a = 1 + 1;
   1.121 -
   1.122 -}'
   1.123 -
   1.124 -    "Created: / 11-01-2013 / 13:30:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   1.125 -    "Modified: / 11-01-2013 / 15:07:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   1.126 -!
   1.127 -
   1.128 -test_smoke_03
   1.129 -    self parse: '
   1.130 -
   1.131 -class Test {
   1.132 -  void foo() {
   1.133 -    print("Foo");
   1.134 -  }
   1.135 -}
   1.136 -
   1.137 -void main() {1
   1.138 -  1 = 1 + 1;
   1.139 -  Test foo = new Test();
   1.140 -  foo.foo();  
   1.141 -}'
   1.142 -
   1.143 -    "Created: / 11-01-2013 / 13:34:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   1.144 -! !
   1.145 -
   1.146 -!ParserTests methodsFor:'tests - statements'!
   1.147 -
   1.148 -test_statement_01
   1.149 -
   1.150 -    self parse:'a = 1;' rule: #statement
   1.151 -
   1.152 -    "Created: / 11-01-2013 / 15:40:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   1.153 -!
   1.154 -
   1.155 -test_statement_02
   1.156 -
   1.157 -    self parse:'return 1;' rule: #statement
   1.158 -
   1.159 -    "Created: / 11-01-2013 / 15:44:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   1.160 -! !
   1.161 -
   1.162 -!ParserTests class methodsFor:'documentation'!
   1.163 -
   1.164 -version_HG
   1.165 -
   1.166 -    ^ '$Changeset: <not expanded> $'
   1.167 -! !
     2.1 --- a/compiler/Dart__ScannerTests.st	Thu Oct 30 21:22:38 2014 +0000
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,38 +0,0 @@
     2.4 -"{ Package: 'jv:dart/compiler' }"
     2.5 -
     2.6 -"{ NameSpace: Dart }"
     2.7 -
     2.8 -TestCase subclass:#ScannerTests
     2.9 -	instanceVariableNames:''
    2.10 -	classVariableNames:''
    2.11 -	poolDictionaries:''
    2.12 -	category:'Languages-Dart-Parser-Tests'
    2.13 -!
    2.14 -
    2.15 -
    2.16 -!ScannerTests methodsFor:'tests'!
    2.17 -
    2.18 -test_01
    2.19 -
    2.20 -    self assert:
    2.21 -        (Dart::Scanner scan: 'import ''dart:html''; void main() { }') asArray
    2.22 -            = #(#import #String $; #void #identifier $( $) ${ $} )
    2.23 -
    2.24 -    "Created: / 11-01-2013 / 12:53:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    2.25 -!
    2.26 -
    2.27 -test_02
    2.28 -
    2.29 -    self assert:
    2.30 -        (Dart::Scanner scan: 'a |= 1') asArray
    2.31 -            = #()
    2.32 -
    2.33 -    "Created: / 11-01-2013 / 15:46:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    2.34 -! !
    2.35 -
    2.36 -!ScannerTests class methodsFor:'documentation'!
    2.37 -
    2.38 -version_HG
    2.39 -
    2.40 -    ^ '$Changeset: <not expanded> $'
    2.41 -! !
     3.1 --- a/compiler/Make.proto	Thu Oct 30 21:22:38 2014 +0000
     3.2 +++ b/compiler/Make.proto	Tue Nov 04 00:17:12 2014 +0000
     3.3 @@ -21,7 +21,7 @@
     3.4  INCLUDE_TOP=$(TOP)/..
     3.5  
     3.6  # subdirectories where targets are to be made:
     3.7 -SUBDIRS=
     3.8 +SUBDIRS= tests
     3.9  
    3.10  
    3.11  # subdirectories where Makefiles are to be made:
    3.12 @@ -34,7 +34,7 @@
    3.13  # add the path(es) here:,
    3.14  # ********** OPTIONAL: MODIFY the next lines ***
    3.15  # LOCALINCLUDES=-Ifoo -Ibar
    3.16 -LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/goodies/petitparser
    3.17 +LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/petitparser -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libcomp
    3.18  
    3.19  
    3.20  # if you need any additional defines for embedded C code,
    3.21 @@ -82,7 +82,7 @@
    3.22  
    3.23  # run default testsuite for this package
    3.24  test: $(TOP)/goodies/builder/reports
    3.25 -	$(MAKE) -C $(TOP)/goodies/builder/reports
    3.26 +	$(MAKE) -C $(TOP)/goodies/builder/reports -f Makefile.init
    3.27  	$(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE)
    3.28  
    3.29  
    3.30 @@ -99,12 +99,19 @@
    3.31  # add more postMake actions here
    3.32  postMake:: cleanjunk
    3.33  
    3.34 -prereq: $(REQUIRED_SUPPORT_DIRS)
    3.35 +# build all mandatory prerequisite packages (containing superclasses) for this package
    3.36 +prereq:
    3.37  	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
    3.38 -	cd $(TOP)/librun && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
    3.39 +	cd $(TOP)/libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
    3.40 +	cd $(TOP)/goodies/petitparser && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
    3.41  
    3.42  
    3.43  
    3.44 +# build all packages containing referenced classes for this package
    3.45 +# they are nor needed to compile the package
    3.46 +references:
    3.47 +
    3.48 +
    3.49  cleanjunk::
    3.50  	-rm -f *.s *.s2
    3.51  
    3.52 @@ -119,8 +126,7 @@
    3.53  $(OUTDIR)Dart__Parser.$(O) Dart__Parser.$(H): Dart__Parser.st $(INCLUDE_TOP)/stx/goodies/petitparser/PPCompositeParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPDelegateParser.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/PPParser.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    3.54  $(OUTDIR)Dart__ParserError.$(O) Dart__ParserError.$(H): Dart__ParserError.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)
    3.55  $(OUTDIR)Dart__ScannerBase.$(O) Dart__ScannerBase.$(H): Dart__ScannerBase.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    3.56 -$(OUTDIR)Dart__ScannerTests.$(O) Dart__ScannerTests.$(H): Dart__ScannerTests.st $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    3.57 -$(OUTDIR)ctu_dart_compiler.$(O) ctu_dart_compiler.$(H): ctu_dart_compiler.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    3.58 +$(OUTDIR)ctu_dart_compiler.$(O) ctu_dart_compiler.$(H): ctu_dart_compiler.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
    3.59  $(OUTDIR)Dart__Scanner.$(O) Dart__Scanner.$(H): Dart__Scanner.st $(INCLUDE_TOP)/ctu/dart/compiler/Dart__ScannerBase.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
    3.60  $(OUTDIR)Dart__ScannerError.$(O) Dart__ScannerError.$(H): Dart__ScannerError.st $(INCLUDE_TOP)/ctu/dart/compiler/Dart__ParserError.$(H) $(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)
    3.61  $(OUTDIR)Dart__SyntaxError.$(O) Dart__SyntaxError.$(H): Dart__SyntaxError.st $(INCLUDE_TOP)/ctu/dart/compiler/Dart__ParserError.$(H) $(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)
     4.1 --- a/compiler/Make.spec	Thu Oct 30 21:22:38 2014 +0000
     4.2 +++ b/compiler/Make.spec	Tue Nov 04 00:17:12 2014 +0000
     4.3 @@ -50,27 +50,25 @@
     4.4  STCWARNINGS=-warnNonStandard
     4.5  
     4.6  COMMON_CLASSES= \
     4.7 +	Dart::Parser \
     4.8 +	Dart::ParserError \
     4.9 +	Dart::ScannerBase \
    4.10  	ctu_dart_compiler \
    4.11 -	Dart::ScannerBase \
    4.12 -	Dart::Parser \
    4.13  	Dart::Scanner \
    4.14 -	Dart::ScannerTests \
    4.15 -	Dart::ParserError \
    4.16 +	Dart::ScannerError \
    4.17  	Dart::SyntaxError \
    4.18 -	Dart::ScannerError \
    4.19  
    4.20  
    4.21  
    4.22  
    4.23  COMMON_OBJS= \
    4.24 -    $(OUTDIR)ctu_dart_compiler.$(O) \
    4.25 -    $(OUTDIR)Dart__ScannerBase.$(O) \
    4.26 -    $(OUTDIR)Dart__Parser.$(O) \
    4.27 -    $(OUTDIR)Dart__Scanner.$(O) \
    4.28 -    $(OUTDIR)Dart__ScannerTests.$(O) \
    4.29 -    $(OUTDIR)Dart__ParserError.$(O) \
    4.30 -    $(OUTDIR)Dart__SyntaxError.$(O) \
    4.31 -    $(OUTDIR)Dart__ScannerError.$(O) \
    4.32 +    $(OUTDIR_SLASH)Dart__Parser.$(O) \
    4.33 +    $(OUTDIR_SLASH)Dart__ParserError.$(O) \
    4.34 +    $(OUTDIR_SLASH)Dart__ScannerBase.$(O) \
    4.35 +    $(OUTDIR_SLASH)ctu_dart_compiler.$(O) \
    4.36 +    $(OUTDIR_SLASH)Dart__Scanner.$(O) \
    4.37 +    $(OUTDIR_SLASH)Dart__ScannerError.$(O) \
    4.38 +    $(OUTDIR_SLASH)Dart__SyntaxError.$(O) \
    4.39  
    4.40  
    4.41  
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/compiler/Makefile.init	Tue Nov 04 00:17:12 2014 +0000
     5.3 @@ -0,0 +1,27 @@
     5.4 +#
     5.5 +# DO NOT EDIT
     5.6 +#
     5.7 +# make uses this file (Makefile) only, if there is no
     5.8 +# file named "makefile" (lower-case m) in the same directory.
     5.9 +# My only task is to generate the real makefile and call make again.
    5.10 +# Thereafter, I am no longer used and needed.
    5.11 +#
    5.12 +# MACOSX caveat:
    5.13 +#   as filenames are not case sensitive (in a default setup),
    5.14 +#   we cannot use the above trick. Therefore, this file is now named
    5.15 +#   "Makefile.init", and you have to execute "make -f Makefile.init" to
    5.16 +#   get the initial makefile.  This is now also done by the toplevel CONFIG
    5.17 +#   script.
    5.18 +
    5.19 +.PHONY: run
    5.20 +
    5.21 +run: makefile
    5.22 +	$(MAKE) -f makefile
    5.23 +
    5.24 +#only needed for the definition of $(TOP)
    5.25 +include Make.proto
    5.26 +
    5.27 +makefile: mf
    5.28 +
    5.29 +mf:
    5.30 +	$(TOP)/rules/stmkmf
     6.1 --- a/compiler/abbrev.stc	Thu Oct 30 21:22:38 2014 +0000
     6.2 +++ b/compiler/abbrev.stc	Tue Nov 04 00:17:12 2014 +0000
     6.3 @@ -1,12 +1,10 @@
     6.4  # automagically generated by the project definition
     6.5  # this file is needed for stc to be able to compile modules independently.
     6.6  # it provides information about a classes filename, category and especially namespace.
     6.7 -jv_dart_compiler jv_dart_compiler jv:dart/compiler '* Projects & Packages *' 3
     6.8 -Dart::ScannerBase Dart__ScannerBase jv:dart/compiler 'Languages-Dart-Parser' 3
     6.9 -Dart::Parser Dart__Parser jv:dart/compiler 'Languages-Dart-Parser' 0
    6.10 -Dart::Scanner Dart__Scanner jv:dart/compiler 'Languages-Dart-Parser' 3
    6.11 -Dart::ScannerTests Dart__ScannerTests jv:dart/compiler 'Languages-Dart-Parser-Tests' 1
    6.12 -Dart::ParserError Dart__ParserError jv:dart/compiler 'Languages-Dart-Parser' 1
    6.13 -Dart::SyntaxError Dart__SyntaxError jv:dart/compiler 'Languages-Dart-Parser' 1
    6.14 -Dart::ScannerError Dart__ScannerError jv:dart/compiler 'Languages-Dart-Parser' 1
    6.15 -Dart::ParserTests Dart__ParserTests jv:dart/compiler 'Languages-Dart-Parser-Tests' 1
    6.16 +Dart::Parser Dart__Parser ctu:dart/compiler 'Languages-Dart-Parser' 0
    6.17 +Dart::ParserError Dart__ParserError ctu:dart/compiler 'Languages-Dart-Parser' 1
    6.18 +Dart::ScannerBase Dart__ScannerBase ctu:dart/compiler 'Languages-Dart-Parser' 3
    6.19 +ctu_dart_compiler ctu_dart_compiler ctu:dart/compiler '* Projects & Packages *' 3
    6.20 +Dart::Scanner Dart__Scanner ctu:dart/compiler 'Languages-Dart-Parser' 3
    6.21 +Dart::ScannerError Dart__ScannerError ctu:dart/compiler 'Languages-Dart-Parser' 1
    6.22 +Dart::SyntaxError Dart__SyntaxError ctu:dart/compiler 'Languages-Dart-Parser' 1
     7.1 --- a/compiler/bc.mak	Thu Oct 30 21:22:38 2014 +0000
     7.2 +++ b/compiler/bc.mak	Tue Nov 04 00:17:12 2014 +0000
     7.3 @@ -30,11 +30,11 @@
     7.4  !INCLUDE Make.spec
     7.5  
     7.6  LIBNAME=libctu_dart_compiler
     7.7 -RESFILES=compiler.res
     7.8 +RESFILES=compiler.$(RES)
     7.9  
    7.10  
    7.11  
    7.12 -LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\goodies\petitparser
    7.13 +LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\petitparser -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libcomp
    7.14  LOCALDEFINES=
    7.15  
    7.16  STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
    7.17 @@ -48,10 +48,12 @@
    7.18  
    7.19  !INCLUDE $(TOP)\rules\stdRules_bc
    7.20  
    7.21 -# build all prerequisite packages for this package
    7.22 +# build all mandatory prerequisite packages (containing superclasses) for this package
    7.23  prereq:
    7.24  	pushd ..\..\..\stx\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
    7.25 -	pushd ..\..\..\stx\librun & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
    7.26 +	pushd ..\..\..\stx\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
    7.27 +	pushd ..\..\..\stx\goodies\petitparser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
    7.28 +
    7.29  
    7.30  
    7.31  
    7.32 @@ -61,13 +63,16 @@
    7.33  test: $(TOP)\goodies\builder\reports\NUL
    7.34  	pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
    7.35  	$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
    7.36 +        
    7.37 +clean::
    7.38 +	del *.$(CSUFFIX)
    7.39 +
    7.40  
    7.41  # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
    7.42  $(OUTDIR)Dart__Parser.$(O) Dart__Parser.$(H): Dart__Parser.st $(INCLUDE_TOP)\stx\goodies\petitparser\PPCompositeParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
    7.43  $(OUTDIR)Dart__ParserError.$(O) Dart__ParserError.$(H): Dart__ParserError.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)
    7.44  $(OUTDIR)Dart__ScannerBase.$(O) Dart__ScannerBase.$(H): Dart__ScannerBase.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
    7.45 -$(OUTDIR)Dart__ScannerTests.$(O) Dart__ScannerTests.$(H): Dart__ScannerTests.st $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
    7.46 -$(OUTDIR)ctu_dart_compiler.$(O) ctu_dart_compiler.$(H): ctu_dart_compiler.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
    7.47 +$(OUTDIR)ctu_dart_compiler.$(O) ctu_dart_compiler.$(H): ctu_dart_compiler.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
    7.48  $(OUTDIR)Dart__Scanner.$(O) Dart__Scanner.$(H): Dart__Scanner.st $(INCLUDE_TOP)\ctu\dart\compiler\Dart__ScannerBase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
    7.49  $(OUTDIR)Dart__ScannerError.$(O) Dart__ScannerError.$(H): Dart__ScannerError.st $(INCLUDE_TOP)\ctu\dart\compiler\Dart__ParserError.$(H) $(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)
    7.50  $(OUTDIR)Dart__SyntaxError.$(O) Dart__SyntaxError.$(H): Dart__SyntaxError.st $(INCLUDE_TOP)\ctu\dart\compiler\Dart__ParserError.$(H) $(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)
     8.1 --- a/compiler/bmake.bat	Thu Oct 30 21:22:38 2014 +0000
     8.2 +++ b/compiler/bmake.bat	Tue Nov 04 00:17:12 2014 +0000
     8.3 @@ -9,4 +9,11 @@
     8.4  @IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
     8.5  make.exe -N -f bc.mak  %DEFINES% %*
     8.6  
     8.7 +@echo "***********************************"
     8.8 +@echo "Buildung ctu/dart/compiler/tests
     8.9 +@echo "***********************************"
    8.10 +@cd tests
    8.11 +@call bmake %1 %2
    8.12 +@cd ..
    8.13  
    8.14 +
     9.1 --- a/compiler/compiler.rc	Thu Oct 30 21:22:38 2014 +0000
     9.2 +++ b/compiler/compiler.rc	Tue Nov 04 00:17:12 2014 +0000
     9.3 @@ -4,7 +4,7 @@
     9.4  //
     9.5  VS_VERSION_INFO VERSIONINFO
     9.6    FILEVERSION     6,2,32767,32767
     9.7 -  PRODUCTVERSION  6,2,3,0
     9.8 +  PRODUCTVERSION  6,2,4,0
     9.9  #if (__BORLANDC__)
    9.10    FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
    9.11    FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
    9.12 @@ -21,11 +21,11 @@
    9.13        VALUE "CompanyName", "My Company\0"
    9.14        VALUE "FileDescription", "Class Library (LIB)\0"
    9.15        VALUE "FileVersion", "6.2.32767.32767\0"
    9.16 -      VALUE "InternalName", "jv:dart/compiler\0"
    9.17 +      VALUE "InternalName", "ctu:dart/compiler\0"
    9.18        VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
    9.19        VALUE "ProductName", "ProductName\0"
    9.20 -      VALUE "ProductVersion", "6.2.3.0\0"
    9.21 -      VALUE "ProductDate", "Fri, 11 Jan 2013 15:52:43 GMT\0"
    9.22 +      VALUE "ProductVersion", "6.2.4.0\0"
    9.23 +      VALUE "ProductDate", "Tue, 04 Nov 2014 00:16:20 GMT\0"
    9.24      END
    9.25  
    9.26    END
    10.1 --- a/compiler/ctu_dart_compiler.st	Thu Oct 30 21:22:38 2014 +0000
    10.2 +++ b/compiler/ctu_dart_compiler.st	Tue Nov 04 00:17:12 2014 +0000
    10.3 @@ -1,4 +1,4 @@
    10.4 -"{ Package: 'jv:dart/compiler' }"
    10.5 +"{ Package: 'ctu:dart/compiler' }"
    10.6  
    10.7  LibraryDefinition subclass:#ctu_dart_compiler
    10.8  	instanceVariableNames:''
    10.9 @@ -18,6 +18,20 @@
   10.10      )
   10.11  !
   10.12  
   10.13 +mandatoryPreRequisites
   10.14 +    "list packages which are mandatory as a prerequisite.
   10.15 +     This are packages containing superclasses of my classes and classes which
   10.16 +     are extended by myself.
   10.17 +     They are mandatory, because we need these packages as a prerequisite for loading and compiling.
   10.18 +     This method is generated automatically,
   10.19 +     by searching along the inheritance chain of all of my classes."
   10.20 +
   10.21 +    ^ #(
   10.22 +        #'stx:goodies/petitparser'    "PPCompositeParser - superclass of Dart::Parser"
   10.23 +        #'stx:libbasic'    "Error - superclass of Dart::ParserError"
   10.24 +    )
   10.25 +!
   10.26 +
   10.27  preRequisites
   10.28      "list all required packages.
   10.29       This list can be maintained manually or (better) generated and
   10.30 @@ -29,6 +43,29 @@
   10.31      ^ #(
   10.32          #'stx:libbasic'    "LibraryDefinition - superclass of jv_dart "
   10.33      )
   10.34 +!
   10.35 +
   10.36 +referencedPreRequisites
   10.37 +    "list packages which are a prerequisite, because they contain
   10.38 +     classes which are referenced by my classes.
   10.39 +     We do not need these packages as a prerequisite for loading or compiling.
   10.40 +     This method is generated automatically,
   10.41 +     by searching all classes (and their packages) which are referenced by my classes."
   10.42 +
   10.43 +    ^ #(
   10.44 +        #'stx:libcomp'    "ParserFlags - referenced by Dart::ScannerBase>>initialize"
   10.45 +    )
   10.46 +!
   10.47 +
   10.48 +subProjects
   10.49 +    "list packages which are known as subprojects.
   10.50 +     The generated makefile will enter those and make there as well.
   10.51 +     However: they are not forced to be loaded when a package is loaded;
   10.52 +     for those, redefine requiredPrerequisites."
   10.53 +
   10.54 +    ^ #(
   10.55 +        #'ctu:dart/compiler/tests'
   10.56 +    )
   10.57  ! !
   10.58  
   10.59  !ctu_dart_compiler class methodsFor:'description - contents'!
   10.60 @@ -41,21 +78,19 @@
   10.61  
   10.62      ^ #(
   10.63          "<className> or (<className> attributes...) in load order"
   10.64 +        #'Dart::Parser'
   10.65 +        #'Dart::ParserError'
   10.66 +        #'Dart::ScannerBase'
   10.67          #'ctu_dart_compiler'
   10.68 -        #'Dart::ScannerBase'
   10.69 -        #'Dart::Parser'
   10.70          #'Dart::Scanner'
   10.71 -        #'Dart::ScannerTests'
   10.72 -        #'Dart::ParserError'
   10.73 +        #'Dart::ScannerError'
   10.74          #'Dart::SyntaxError'
   10.75 -        #'Dart::ScannerError'
   10.76 -        (#'Dart::ParserTests' autoload)
   10.77      )
   10.78  !
   10.79  
   10.80  extensionMethodNames
   10.81 -    "lists the extension methods which are to be included in the project.
   10.82 -     Entries are 2-element array literals, consisting of class-name and selector."
   10.83 +    "list class/selector pairs of extensions.
   10.84 +     A correponding method with real names must be present in my concrete subclasses"
   10.85  
   10.86      ^ #(
   10.87      )
   10.88 @@ -107,3 +142,4 @@
   10.89  
   10.90      ^ '$Changeset: <not expanded> $'
   10.91  ! !
   10.92 +
    11.1 --- a/compiler/lccmake.bat	Thu Oct 30 21:22:38 2014 +0000
    11.2 +++ b/compiler/lccmake.bat	Tue Nov 04 00:17:12 2014 +0000
    11.3 @@ -5,4 +5,11 @@
    11.4  @REM -------
    11.5  make.exe -N -f bc.mak -DUSELCC=1 %*
    11.6  
    11.7 +@echo "***********************************"
    11.8 +@echo "Buildung ctu/dart/compiler/tests
    11.9 +@echo "***********************************"
   11.10 +@cd tests
   11.11 +@call lccmake %1 %2
   11.12 +@cd ..
   11.13  
   11.14 +
    12.1 --- a/compiler/libInit.cc	Thu Oct 30 21:22:38 2014 +0000
    12.2 +++ b/compiler/libInit.cc	Tue Nov 04 00:17:12 2014 +0000
    12.3 @@ -13,24 +13,23 @@
    12.4  
    12.5  #if defined(INIT_TEXT_SECTION) || defined(DLL_EXPORT)
    12.6  DLL_EXPORT void _libctu_dart_compiler_Init() INIT_TEXT_SECTION;
    12.7 -// DLL_EXPORT void _libctu_dart_compiler_InitDefinition() INIT_TEXT_SECTION;
    12.8 +DLL_EXPORT void _libctu_dart_compiler_InitDefinition() INIT_TEXT_SECTION;
    12.9  #endif
   12.10  
   12.11 -// void _libctu_dart_compiler_InitDefinition(pass, __pRT__, snd)
   12.12 -// OBJ snd; struct __vmData__ *__pRT__; {
   12.13 -// __BEGIN_PACKAGE2__("libctu_dart_compiler__DFN", _libctu_dart_compiler_InitDefinition, "jv:dart/compiler");
   12.14 -// _ctu_137dart_137compiler_Init(pass,__pRT__,snd);
   12.15 +void _libctu_dart_compiler_InitDefinition(pass, __pRT__, snd)
   12.16 +OBJ snd; struct __vmData__ *__pRT__; {
   12.17 +__BEGIN_PACKAGE2__("libctu_dart_compiler__DFN", _libctu_dart_compiler_InitDefinition, "ctu:dart/compiler");
   12.18 +_ctu_137dart_137compiler_Init(pass,__pRT__,snd);
   12.19  
   12.20 -// __END_PACKAGE__();
   12.21 -// }
   12.22 +__END_PACKAGE__();
   12.23 +}
   12.24  
   12.25  void _libctu_dart_compiler_Init(pass, __pRT__, snd)
   12.26  OBJ snd; struct __vmData__ *__pRT__; {
   12.27 -__BEGIN_PACKAGE2__("libctu_dart_compiler", _libctu_dart_compiler_Init, "jv:dart/compiler");
   12.28 +__BEGIN_PACKAGE2__("libctu_dart_compiler", _libctu_dart_compiler_Init, "ctu:dart/compiler");
   12.29  _Dart__Parser_Init(pass,__pRT__,snd);
   12.30  _Dart__ParserError_Init(pass,__pRT__,snd);
   12.31  _Dart__ScannerBase_Init(pass,__pRT__,snd);
   12.32 -_Dart__ScannerTests_Init(pass,__pRT__,snd);
   12.33  _ctu_137dart_137compiler_Init(pass,__pRT__,snd);
   12.34  _Dart__Scanner_Init(pass,__pRT__,snd);
   12.35  _Dart__ScannerError_Init(pass,__pRT__,snd);
    13.1 --- a/compiler/mingwmake.bat	Thu Oct 30 21:22:38 2014 +0000
    13.2 +++ b/compiler/mingwmake.bat	Tue Nov 04 00:17:12 2014 +0000
    13.3 @@ -7,6 +7,17 @@
    13.4  @REM Kludge got Mercurial, cannot be implemented in Borland make
    13.5  @FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
    13.6  @IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
    13.7 -make.exe -N -f bc.mak -DUSEMINGW=1 %DEFINES% %*
    13.8  
    13.9 +@pushd ..\..\..\stx\rules
   13.10 +@call find_mingw.bat
   13.11 +@popd
   13.12 +make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
   13.13  
   13.14 +@echo "***********************************"
   13.15 +@echo "Buildung ctu/dart/compiler/tests
   13.16 +@echo "***********************************"
   13.17 +@cd tests
   13.18 +@call mingwmake %1 %2
   13.19 +@cd ..
   13.20 +
   13.21 +
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/compiler/tests/Dart__ParserTests.st	Tue Nov 04 00:17:12 2014 +0000
    14.3 @@ -0,0 +1,165 @@
    14.4 +"{ Package: 'ctu:dart/compiler/tests' }"
    14.5 +
    14.6 +"{ NameSpace: Dart }"
    14.7 +
    14.8 +PPCompositeParserTest subclass:#ParserTests
    14.9 +	instanceVariableNames:''
   14.10 +	classVariableNames:''
   14.11 +	poolDictionaries:''
   14.12 +	category:'Languages-Dart-Parser-Tests'
   14.13 +!
   14.14 +
   14.15 +
   14.16 +!ParserTests methodsFor:'accessing'!
   14.17 +
   14.18 +parserClass
   14.19 +        ^ Dart::Parser
   14.20 +
   14.21 +    "Modified: / 11-01-2013 / 13:14:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   14.22 +! !
   14.23 +
   14.24 +!ParserTests methodsFor:'parsing'!
   14.25 +
   14.26 +fail: aString rule: aSymbol 
   14.27 +
   14.28 +    ^super fail: (Dart::Scanner for: aString) rule: aSymbol
   14.29 +
   14.30 +    "Created: / 14-03-2012 / 22:51:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   14.31 +    "Modified: / 11-01-2013 / 13:28:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   14.32 +!
   14.33 +
   14.34 +parse: aString rule: aSymbol
   14.35 +        | production |
   14.36 +        production := self parserInstance.
   14.37 +        aSymbol = #start ifFalse: [ 
   14.38 +                production := production productionAt: aSymbol.
   14.39 +                production := production , (Dart::Parser::TokenParser for: #EOF).
   14.40 +        ].
   14.41 +
   14.42 +        result := production parse: (Dart::Scanner for: aString).
   14.43 +        self 
   14.44 +            assert: result isPetitFailure not
   14.45 +            description: 'Unable to parse ' , aString printString.
   14.46 +
   14.47 +        ^ result
   14.48 +
   14.49 +    "Created: / 14-03-2012 / 22:51:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   14.50 +    "Modified: / 11-01-2013 / 15:35:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   14.51 +! !
   14.52 +
   14.53 +!ParserTests methodsFor:'tests - expressions'!
   14.54 +
   14.55 +test_expression_01
   14.56 +
   14.57 +    self parse:'1 + 1' rule: #expression
   14.58 +
   14.59 +    "Created: / 11-01-2013 / 15:12:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   14.60 +!
   14.61 +
   14.62 +test_expression_02
   14.63 +
   14.64 +    self parse:'a.foo()' rule: #expression
   14.65 +
   14.66 +    "Created: / 11-01-2013 / 15:19:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   14.67 +!
   14.68 +
   14.69 +test_expression_04
   14.70 +
   14.71 +    self parse:'new Foo()' rule: #expression
   14.72 +
   14.73 +    "Created: / 11-01-2013 / 15:38:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   14.74 +! !
   14.75 +
   14.76 +!ParserTests methodsFor:'tests - literals'!
   14.77 +
   14.78 +test_literal_01
   14.79 +
   14.80 +    self parse: '1' rule: #literal.
   14.81 +    self parse: '1.0' rule: #literal.
   14.82 +    self parse: 'true' rule: #literal.
   14.83 +    self parse: 'false' rule: #literal.
   14.84 +    self parse: 'null' rule: #literal.
   14.85 +
   14.86 +    "Created: / 11-01-2013 / 15:13:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   14.87 +! !
   14.88 +
   14.89 +!ParserTests methodsFor:'tests - misc'!
   14.90 +
   14.91 +test_misc_01
   14.92 +
   14.93 +    self parse:'=' rule: #assignmentOperator
   14.94 +
   14.95 +    "Created: / 11-01-2013 / 15:49:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   14.96 +! !
   14.97 +
   14.98 +!ParserTests methodsFor:'tests - smoke'!
   14.99 +
  14.100 +test_smoke_01
  14.101 +    self parse: 'import ''dart:html'';
  14.102 +
  14.103 +void main() {
  14.104 +
  14.105 +}'
  14.106 +
  14.107 +    "Created: / 11-01-2013 / 13:15:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  14.108 +!
  14.109 +
  14.110 +test_smoke_01a
  14.111 +    self parse: 'void main() { }'
  14.112 +
  14.113 +    "Created: / 11-01-2013 / 13:37:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  14.114 +!
  14.115 +
  14.116 +test_smoke_02
  14.117 +    self parse: '
  14.118 +
  14.119 +void main() {
  14.120 +    var a = 1 + 1;
  14.121 +
  14.122 +}'
  14.123 +
  14.124 +    "Created: / 11-01-2013 / 13:30:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  14.125 +    "Modified: / 11-01-2013 / 15:07:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  14.126 +!
  14.127 +
  14.128 +test_smoke_03
  14.129 +    self parse: '
  14.130 +
  14.131 +class Test {
  14.132 +  void foo() {
  14.133 +    print("Foo");
  14.134 +  }
  14.135 +}
  14.136 +
  14.137 +void main() {1
  14.138 +  1 = 1 + 1;
  14.139 +  Test foo = new Test();
  14.140 +  foo.foo();  
  14.141 +}'
  14.142 +
  14.143 +    "Created: / 11-01-2013 / 13:34:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  14.144 +! !
  14.145 +
  14.146 +!ParserTests methodsFor:'tests - statements'!
  14.147 +
  14.148 +test_statement_01
  14.149 +
  14.150 +    self parse:'a = 1;' rule: #statement
  14.151 +
  14.152 +    "Created: / 11-01-2013 / 15:40:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  14.153 +!
  14.154 +
  14.155 +test_statement_02
  14.156 +
  14.157 +    self parse:'return 1;' rule: #statement
  14.158 +
  14.159 +    "Created: / 11-01-2013 / 15:44:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
  14.160 +! !
  14.161 +
  14.162 +!ParserTests class methodsFor:'documentation'!
  14.163 +
  14.164 +version_HG
  14.165 +
  14.166 +    ^ '$Changeset: <not expanded> $'
  14.167 +! !
  14.168 +
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/compiler/tests/Dart__ScannerTests.st	Tue Nov 04 00:17:12 2014 +0000
    15.3 @@ -0,0 +1,39 @@
    15.4 +"{ Package: 'ctu:dart/compiler/tests' }"
    15.5 +
    15.6 +"{ NameSpace: Dart }"
    15.7 +
    15.8 +TestCase subclass:#ScannerTests
    15.9 +	instanceVariableNames:''
   15.10 +	classVariableNames:''
   15.11 +	poolDictionaries:''
   15.12 +	category:'Languages-Dart-Parser-Tests'
   15.13 +!
   15.14 +
   15.15 +
   15.16 +!ScannerTests methodsFor:'tests'!
   15.17 +
   15.18 +test_01
   15.19 +
   15.20 +    self assert:
   15.21 +        (Dart::Scanner scan: 'import ''dart:html''; void main() { }') asArray
   15.22 +            = #(#import #String $; #void #identifier $( $) ${ $} )
   15.23 +
   15.24 +    "Created: / 11-01-2013 / 12:53:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   15.25 +!
   15.26 +
   15.27 +test_02
   15.28 +
   15.29 +    self assert:
   15.30 +        (Dart::Scanner scan: 'a |= 1') asArray
   15.31 +            = #()
   15.32 +
   15.33 +    "Created: / 11-01-2013 / 15:46:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   15.34 +! !
   15.35 +
   15.36 +!ScannerTests class methodsFor:'documentation'!
   15.37 +
   15.38 +version_HG
   15.39 +
   15.40 +    ^ '$Changeset: <not expanded> $'
   15.41 +! !
   15.42 +
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/compiler/tests/Make.proto	Tue Nov 04 00:17:12 2014 +0000
    16.3 @@ -0,0 +1,136 @@
    16.4 +# $Header$
    16.5 +#
    16.6 +# DO NOT EDIT
    16.7 +# automagically generated from the projectDefinition: ctu_dart_compiler_tests.
    16.8 +#
    16.9 +# Warning: once you modify this file, do not rerun
   16.10 +# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
   16.11 +#
   16.12 +# The Makefile as generated by this Make.proto supports the following targets:
   16.13 +#    make         - compile all st-files to a classLib
   16.14 +#    make clean   - clean all temp files
   16.15 +#    make clobber - clean all
   16.16 +#
   16.17 +# This file contains definitions for Unix based platforms.
   16.18 +# It shares common definitions with the win32-make in Make.spec.
   16.19 +
   16.20 +#
   16.21 +# position (of this package) in directory hierarchy:
   16.22 +# (must point to ST/X top directory, for tools and includes)
   16.23 +TOP=../../../../stx
   16.24 +INCLUDE_TOP=$(TOP)/..
   16.25 +
   16.26 +# subdirectories where targets are to be made:
   16.27 +SUBDIRS=
   16.28 +
   16.29 +
   16.30 +# subdirectories where Makefiles are to be made:
   16.31 +# (only define if different from SUBDIRS)
   16.32 +# ALLSUBDIRS=
   16.33 +
   16.34 +REQUIRED_SUPPORT_DIRS=
   16.35 +
   16.36 +# if your embedded C code requires any system includes,
   16.37 +# add the path(es) here:,
   16.38 +# ********** OPTIONAL: MODIFY the next lines ***
   16.39 +# LOCALINCLUDES=-Ifoo -Ibar
   16.40 +LOCALINCLUDES= -I$(INCLUDE_TOP)/ctu/dart/compiler -I$(INCLUDE_TOP)/stx/goodies/petitparser/tests -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic
   16.41 +
   16.42 +
   16.43 +# if you need any additional defines for embedded C code,
   16.44 +# add them here:,
   16.45 +# ********** OPTIONAL: MODIFY the next lines ***
   16.46 +# LOCALDEFINES=-Dfoo -Dbar -DDEBUG
   16.47 +LOCALDEFINES=
   16.48 +
   16.49 +LIBNAME=libctu_dart_compiler_tests
   16.50 +STCLOCALOPT='-package=$(PACKAGE)' -I. $(LOCALINCLUDES) $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -headerDir=.  -varPrefix=$(LIBNAME)
   16.51 +
   16.52 +
   16.53 +# ********** OPTIONAL: MODIFY the next line ***
   16.54 +# additional C-libraries that should be pre-linked with the class-objects
   16.55 +LD_OBJ_LIBS=
   16.56 +LOCAL_SHARED_LIBS=
   16.57 +
   16.58 +
   16.59 +# ********** OPTIONAL: MODIFY the next line ***
   16.60 +# additional C targets or libraries should be added below
   16.61 +LOCAL_EXTRA_TARGETS=
   16.62 +
   16.63 +OBJS= $(COMMON_OBJS) $(UNIX_OBJS)
   16.64 +
   16.65 +
   16.66 +
   16.67 +all:: preMake classLibRule postMake
   16.68 +
   16.69 +pre_objs::  
   16.70 +
   16.71 +
   16.72 +
   16.73 +
   16.74 +
   16.75 +
   16.76 +# Enforce recompilation of package definition class if Mercurial working
   16.77 +# copy state changes. Together with --guessVersion it ensures that package
   16.78 +# definition class always contains correct binary revision string.
   16.79 +ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**'))
   16.80 +ctu_dart_compiler_tests.$(O): $(shell hg root)/.hg/dirstate
   16.81 +endif
   16.82 +
   16.83 +
   16.84 +
   16.85 +
   16.86 +# run default testsuite for this package
   16.87 +test: $(TOP)/goodies/builder/reports
   16.88 +	$(MAKE) -C $(TOP)/goodies/builder/reports -f Makefile.init
   16.89 +	$(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE)
   16.90 +
   16.91 +
   16.92 +
   16.93 +# add more install actions here
   16.94 +install::
   16.95 +
   16.96 +# add more install actions for aux-files (resources) here
   16.97 +installAux::
   16.98 +
   16.99 +# add more preMake actions here
  16.100 +preMake::
  16.101 +
  16.102 +# add more postMake actions here
  16.103 +postMake:: cleanjunk
  16.104 +
  16.105 +# build all mandatory prerequisite packages (containing superclasses) for this package
  16.106 +prereq:
  16.107 +	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
  16.108 +	cd $(TOP)/libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
  16.109 +	cd $(TOP)/libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
  16.110 +	cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
  16.111 +	cd $(TOP)/goodies/petitparser && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
  16.112 +	cd $(TOP)/libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
  16.113 +	cd $(TOP)/goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
  16.114 +	cd $(TOP)/goodies/petitparser/tests && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
  16.115 +
  16.116 +
  16.117 +
  16.118 +# build all packages containing referenced classes for this package
  16.119 +# they are nor needed to compile the package
  16.120 +references:
  16.121 +
  16.122 +
  16.123 +cleanjunk::
  16.124 +	-rm -f *.s *.s2
  16.125 +
  16.126 +clean::
  16.127 +	-rm -f *.o *.H
  16.128 +
  16.129 +clobber:: clean
  16.130 +	-rm -f *.so *.dll
  16.131 +
  16.132 +
  16.133 +# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
  16.134 +$(OUTDIR)Dart__ParserTests.$(O) Dart__ParserTests.$(H): Dart__ParserTests.st $(INCLUDE_TOP)/stx/goodies/petitparser/tests/PPAbstractParserTest.$(H) $(INCLUDE_TOP)/stx/goodies/petitparser/tests/PPCompositeParserTest.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
  16.135 +$(OUTDIR)Dart__ScannerTests.$(O) Dart__ScannerTests.$(H): Dart__ScannerTests.st $(INCLUDE_TOP)/stx/goodies/sunit/TestAsserter.$(H) $(INCLUDE_TOP)/stx/goodies/sunit/TestCase.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
  16.136 +$(OUTDIR)ctu_dart_compiler_tests.$(O) ctu_dart_compiler_tests.$(H): ctu_dart_compiler_tests.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
  16.137 +
  16.138 +# ENDMAKEDEPEND --- do not remove this line
  16.139 +
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/compiler/tests/Make.spec	Tue Nov 04 00:17:12 2014 +0000
    17.3 @@ -0,0 +1,66 @@
    17.4 +# $Header$
    17.5 +#
    17.6 +# DO NOT EDIT
    17.7 +# automagically generated from the projectDefinition: ctu_dart_compiler_tests.
    17.8 +#
    17.9 +# Warning: once you modify this file, do not rerun
   17.10 +# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
   17.11 +#
   17.12 +# This file contains specifications which are common to all platforms.
   17.13 +#
   17.14 +
   17.15 +# Do NOT CHANGE THESE DEFINITIONS
   17.16 +# (otherwise, ST/X will have a hard time to find out the packages location from its packageID,
   17.17 +#  to find the source code of a class and to find the library for a package)
   17.18 +MODULE=ctu
   17.19 +MODULE_DIR=dart/compiler/tests
   17.20 +PACKAGE=$(MODULE):$(MODULE_DIR)
   17.21 +
   17.22 +
   17.23 +# Argument(s) to the stc compiler (stc --usage).
   17.24 +#  -headerDir=. : create header files locally
   17.25 +#                (if removed, they will be created as common
   17.26 +#  -Pxxx       : defines the package
   17.27 +#  -Zxxx       : a prefix for variables within the classLib
   17.28 +#  -Dxxx       : defines passed to to CC for inline C-code
   17.29 +#  -Ixxx       : include path passed to CC for inline C-code
   17.30 +#  +optspace   : optimized for space
   17.31 +#  +optspace2  : optimized more for space
   17.32 +#  +optspace3  : optimized even more for space
   17.33 +#  +optinline  : generate inline code for some ST constructs
   17.34 +#  +inlineNew  : additionally inline new
   17.35 +#  +inlineMath : additionally inline some floatPnt math stuff
   17.36 +#
   17.37 +# ********** OPTIONAL: MODIFY the next line(s) ***
   17.38 +# STCLOCALOPTIMIZATIONS=+optinline +inlineNew
   17.39 +# STCLOCALOPTIMIZATIONS=+optspace3
   17.40 +STCLOCALOPTIMIZATIONS=+optspace3
   17.41 +
   17.42 +
   17.43 +# Argument(s) to the stc compiler (stc --usage).
   17.44 +#  -warn            : no warnings
   17.45 +#  -warnNonStandard : no warnings about ST/X extensions
   17.46 +#  -warnEOLComments : no warnings about EOL comment extension
   17.47 +#  -warnPrivacy     : no warnings about privateClass extension
   17.48 +#
   17.49 +# ********** OPTIONAL: MODIFY the next line(s) ***
   17.50 +# STCWARNINGS=-warn
   17.51 +# STCWARNINGS=-warnNonStandard
   17.52 +# STCWARNINGS=-warnEOLComments
   17.53 +STCWARNINGS=-warnNonStandard
   17.54 +
   17.55 +COMMON_CLASSES= \
   17.56 +	Dart::ParserTests \
   17.57 +	Dart::ScannerTests \
   17.58 +	ctu_dart_compiler_tests \
   17.59 +
   17.60 +
   17.61 +
   17.62 +
   17.63 +COMMON_OBJS= \
   17.64 +    $(OUTDIR_SLASH)Dart__ParserTests.$(O) \
   17.65 +    $(OUTDIR_SLASH)Dart__ScannerTests.$(O) \
   17.66 +    $(OUTDIR_SLASH)ctu_dart_compiler_tests.$(O) \
   17.67 +
   17.68 +
   17.69 +
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/compiler/tests/Makefile.init	Tue Nov 04 00:17:12 2014 +0000
    18.3 @@ -0,0 +1,27 @@
    18.4 +#
    18.5 +# DO NOT EDIT
    18.6 +#
    18.7 +# make uses this file (Makefile) only, if there is no
    18.8 +# file named "makefile" (lower-case m) in the same directory.
    18.9 +# My only task is to generate the real makefile and call make again.
   18.10 +# Thereafter, I am no longer used and needed.
   18.11 +#
   18.12 +# MACOSX caveat:
   18.13 +#   as filenames are not case sensitive (in a default setup),
   18.14 +#   we cannot use the above trick. Therefore, this file is now named
   18.15 +#   "Makefile.init", and you have to execute "make -f Makefile.init" to
   18.16 +#   get the initial makefile.  This is now also done by the toplevel CONFIG
   18.17 +#   script.
   18.18 +
   18.19 +.PHONY: run
   18.20 +
   18.21 +run: makefile
   18.22 +	$(MAKE) -f makefile
   18.23 +
   18.24 +#only needed for the definition of $(TOP)
   18.25 +include Make.proto
   18.26 +
   18.27 +makefile: mf
   18.28 +
   18.29 +mf:
   18.30 +	$(TOP)/rules/stmkmf
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/compiler/tests/abbrev.stc	Tue Nov 04 00:17:12 2014 +0000
    19.3 @@ -0,0 +1,6 @@
    19.4 +# automagically generated by the project definition
    19.5 +# this file is needed for stc to be able to compile modules independently.
    19.6 +# it provides information about a classes filename, category and especially namespace.
    19.7 +Dart::ParserTests Dart__ParserTests ctu:dart/compiler/tests 'Languages-Dart-Parser-Tests' 1
    19.8 +Dart::ScannerTests Dart__ScannerTests ctu:dart/compiler/tests 'Languages-Dart-Parser-Tests' 1
    19.9 +ctu_dart_compiler_tests ctu_dart_compiler_tests ctu:dart/compiler/tests '* Projects & Packages *' 3
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/compiler/tests/bc.mak	Tue Nov 04 00:17:12 2014 +0000
    20.3 @@ -0,0 +1,90 @@
    20.4 +# $Header$
    20.5 +#
    20.6 +# DO NOT EDIT
    20.7 +# automagically generated from the projectDefinition: ctu_dart_compiler_tests.
    20.8 +#
    20.9 +# Warning: once you modify this file, do not rerun
   20.10 +# stmkmp or projectDefinition-build again - otherwise, your changes are lost.
   20.11 +#
   20.12 +# Notice, that the name bc.mak is historical (from times, when only borland c was supported).
   20.13 +# This file contains make rules for the win32 platform using either borland-bcc or visual-c.
   20.14 +# It shares common definitions with the unix-make in Make.spec.
   20.15 +# The bc.mak supports the following targets:
   20.16 +#    bmake         - compile all st-files to a classLib (dll)
   20.17 +#    bmake clean   - clean all temp files
   20.18 +#    bmake clobber - clean all
   20.19 +#
   20.20 +# Historic Note:
   20.21 +#  this used to contain only rules to make with borland
   20.22 +#    (called via bmake, by "make.exe -f bc.mak")
   20.23 +#  this has changed; it is now also possible to build using microsoft visual c
   20.24 +#    (called via vcmake, by "make.exe -f bc.mak -DUSEVC")
   20.25 +#
   20.26 +TOP=..\..\..\..\stx
   20.27 +INCLUDE_TOP=$(TOP)\..
   20.28 +
   20.29 +
   20.30 +
   20.31 +!INCLUDE $(TOP)\rules\stdHeader_bc
   20.32 +
   20.33 +!INCLUDE Make.spec
   20.34 +
   20.35 +LIBNAME=libctu_dart_compiler_tests
   20.36 +RESFILES=tests.$(RES)
   20.37 +
   20.38 +
   20.39 +
   20.40 +LOCALINCLUDES= -I$(INCLUDE_TOP)\ctu\dart\compiler -I$(INCLUDE_TOP)\stx\goodies\petitparser\tests -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic
   20.41 +LOCALDEFINES=
   20.42 +
   20.43 +STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
   20.44 +LOCALLIBS=
   20.45 +
   20.46 +OBJS= $(COMMON_OBJS) $(WIN32_OBJS)
   20.47 +
   20.48 +ALL::  classLibRule
   20.49 +
   20.50 +classLibRule: $(OUTDIR) $(OUTDIR)$(LIBNAME).dll
   20.51 +
   20.52 +!INCLUDE $(TOP)\rules\stdRules_bc
   20.53 +
   20.54 +# build all mandatory prerequisite packages (containing superclasses) for this package
   20.55 +prereq:
   20.56 +	pushd ..\..\..\..\stx\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
   20.57 +	pushd ..\..\..\..\stx\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
   20.58 +	pushd ..\..\..\..\stx\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
   20.59 +	pushd ..\..\..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
   20.60 +	pushd ..\..\..\..\stx\goodies\petitparser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
   20.61 +	pushd ..\..\..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
   20.62 +	pushd ..\..\..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
   20.63 +	pushd ..\..\..\..\stx\goodies\petitparser\tests & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
   20.64 +
   20.65 +
   20.66 +
   20.67 +
   20.68 +
   20.69 +
   20.70 +
   20.71 +test: $(TOP)\goodies\builder\reports\NUL
   20.72 +	pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
   20.73 +	$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
   20.74 +        
   20.75 +clean::
   20.76 +	del *.$(CSUFFIX)
   20.77 +
   20.78 +
   20.79 +# BEGINMAKEDEPEND --- do not remove this line; make depend needs it
   20.80 +$(OUTDIR)Dart__ParserTests.$(O) Dart__ParserTests.$(H): Dart__ParserTests.st $(INCLUDE_TOP)\stx\goodies\petitparser\tests\PPAbstractParserTest.$(H) $(INCLUDE_TOP)\stx\goodies\petitparser\tests\PPCompositeParserTest.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   20.81 +$(OUTDIR)Dart__ScannerTests.$(O) Dart__ScannerTests.$(H): Dart__ScannerTests.st $(INCLUDE_TOP)\stx\goodies\sunit\TestAsserter.$(H) $(INCLUDE_TOP)\stx\goodies\sunit\TestCase.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
   20.82 +$(OUTDIR)ctu_dart_compiler_tests.$(O) ctu_dart_compiler_tests.$(H): ctu_dart_compiler_tests.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR)
   20.83 +
   20.84 +# ENDMAKEDEPEND --- do not remove this line
   20.85 +
   20.86 +# **Must be at end**
   20.87 +
   20.88 +# Enforce recompilation of package definition class if Mercurial working
   20.89 +# copy state changes. Together with --guessVersion it ensures that package
   20.90 +# definition class always contains correct binary revision string.
   20.91 +!IFDEF HGROOT
   20.92 +$(OUTDIR)ctu_dart_compiler_tests.$(O): $(HGROOT)\.hg\dirstate
   20.93 +!ENDIF
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/compiler/tests/bmake.bat	Tue Nov 04 00:17:12 2014 +0000
    21.3 @@ -0,0 +1,12 @@
    21.4 +@REM -------
    21.5 +@REM make using Borland bcc32
    21.6 +@REM type bmake, and wait...
    21.7 +@REM do not edit - automatically generated from ProjectDefinition
    21.8 +@REM -------
    21.9 +@SET DEFINES=
   21.10 +@REM Kludge got Mercurial, cannot be implemented in Borland make
   21.11 +@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
   21.12 +@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
   21.13 +make.exe -N -f bc.mak  %DEFINES% %*
   21.14 +
   21.15 +
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/compiler/tests/ctu_dart_compiler_tests.st	Tue Nov 04 00:17:12 2014 +0000
    22.3 @@ -0,0 +1,118 @@
    22.4 +"{ Package: 'ctu:dart/compiler/tests' }"
    22.5 +
    22.6 +LibraryDefinition subclass:#ctu_dart_compiler_tests
    22.7 +	instanceVariableNames:''
    22.8 +	classVariableNames:''
    22.9 +	poolDictionaries:''
   22.10 +	category:'* Projects & Packages *'
   22.11 +!
   22.12 +
   22.13 +
   22.14 +!ctu_dart_compiler_tests class methodsFor:'description'!
   22.15 +
   22.16 +excludedFromPreRequisites
   22.17 +    "list packages which are to be explicitely excluded from the automatic constructed
   22.18 +     prerequisites list. If empty, everything that is found along the inheritance of any of
   22.19 +     my classes is considered to be a prerequisite package."
   22.20 +
   22.21 +    ^ #(
   22.22 +    )
   22.23 +!
   22.24 +
   22.25 +mandatoryPreRequisites
   22.26 +    "list packages which are mandatory as a prerequisite.
   22.27 +     This are packages containing superclasses of my classes and classes which
   22.28 +     are extended by myself.
   22.29 +     They are mandatory, because we need these packages as a prerequisite for loading and compiling.
   22.30 +     This method is generated automatically,
   22.31 +     by searching along the inheritance chain of all of my classes."
   22.32 +
   22.33 +    ^ #(
   22.34 +        #'stx:goodies/petitparser/tests'    "PPAbstractParserTest - superclass of Dart::ParserTests"
   22.35 +        #'stx:goodies/sunit'    "TestAsserter - superclass of Dart::ParserTests"
   22.36 +        #'stx:libbasic'    "LibraryDefinition - superclass of ctu_dart_compiler_tests"
   22.37 +    )
   22.38 +!
   22.39 +
   22.40 +referencedPreRequisites
   22.41 +    "list packages which are a prerequisite, because they contain
   22.42 +     classes which are referenced by my classes.
   22.43 +     We do not need these packages as a prerequisite for loading or compiling.
   22.44 +     This method is generated automatically,
   22.45 +     by searching all classes (and their packages) which are referenced by my classes."
   22.46 +
   22.47 +    ^ #(
   22.48 +        #'ctu:dart/compiler'    "Dart::Parser - referenced by Dart::ParserTests>>parse:rule:"
   22.49 +    )
   22.50 +!
   22.51 +
   22.52 +subProjects
   22.53 +    "list packages which are known as subprojects.
   22.54 +     The generated makefile will enter those and make there as well.
   22.55 +     However: they are not forced to be loaded when a package is loaded;
   22.56 +     for those, redefine requiredPrerequisites."
   22.57 +
   22.58 +    ^ #(
   22.59 +    )
   22.60 +! !
   22.61 +
   22.62 +!ctu_dart_compiler_tests class methodsFor:'description - contents'!
   22.63 +
   22.64 +classNamesAndAttributes
   22.65 +    "lists the classes which are to be included in the project.
   22.66 +     Each entry in the list may be: a single class-name (symbol),
   22.67 +     or an array-literal consisting of class name and attributes.
   22.68 +     Attributes are: #autoload or #<os> where os is one of win32, unix,..."
   22.69 +
   22.70 +    ^ #(
   22.71 +        "<className> or (<className> attributes...) in load order"
   22.72 +        #'Dart::ParserTests'
   22.73 +        #'Dart::ScannerTests'
   22.74 +        #'ctu_dart_compiler_tests'
   22.75 +    )
   22.76 +!
   22.77 +
   22.78 +extensionMethodNames
   22.79 +    "list class/selector pairs of extensions.
   22.80 +     A correponding method with real names must be present in my concrete subclasses"
   22.81 +
   22.82 +    ^ #(
   22.83 +    )
   22.84 +! !
   22.85 +
   22.86 +!ctu_dart_compiler_tests class methodsFor:'description - project information'!
   22.87 +
   22.88 +companyName
   22.89 +    "Returns a company string which will appear in <lib>.rc.
   22.90 +     Under win32, this is placed into the dlls file-info"
   22.91 +
   22.92 +    ^ 'My Company'
   22.93 +!
   22.94 +
   22.95 +description
   22.96 +    "Returns a description string which will appear in nt.def / bc.def"
   22.97 +
   22.98 +    ^ 'Class Library'
   22.99 +!
  22.100 +
  22.101 +legalCopyright
  22.102 +    "Returns a copyright string which will appear in <lib>.rc.
  22.103 +     Under win32, this is placed into the dlls file-info"
  22.104 +
  22.105 +    ^ 'My CopyRight or CopyLeft'
  22.106 +!
  22.107 +
  22.108 +productName
  22.109 +    "Returns a product name which will appear in <lib>.rc.
  22.110 +     Under win32, this is placed into the dlls file-info.
  22.111 +     This method is usually redefined in a concrete application definition"
  22.112 +
  22.113 +    ^ 'LibraryName'
  22.114 +! !
  22.115 +
  22.116 +!ctu_dart_compiler_tests class methodsFor:'documentation'!
  22.117 +
  22.118 +version_HG
  22.119 +    ^ '$Changeset: <not expanded> $'
  22.120 +! !
  22.121 +
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/compiler/tests/lccmake.bat	Tue Nov 04 00:17:12 2014 +0000
    23.3 @@ -0,0 +1,8 @@
    23.4 +@REM -------
    23.5 +@REM make using lcc compiler
    23.6 +@REM type lccmake, and wait...
    23.7 +@REM do not edit - automatically generated from ProjectDefinition
    23.8 +@REM -------
    23.9 +make.exe -N -f bc.mak -DUSELCC=1 %*
   23.10 +
   23.11 +
    24.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.2 +++ b/compiler/tests/libInit.cc	Tue Nov 04 00:17:12 2014 +0000
    24.3 @@ -0,0 +1,36 @@
    24.4 +/*
    24.5 + * $Header$
    24.6 + *
    24.7 + * DO NOT EDIT
    24.8 + * automagically generated from the projectDefinition: ctu_dart_compiler_tests.
    24.9 + */
   24.10 +#define __INDIRECTVMINITCALLS__
   24.11 +#include <stc.h>
   24.12 +
   24.13 +#ifdef WIN32
   24.14 +# pragma codeseg INITCODE "INITCODE"
   24.15 +#endif
   24.16 +
   24.17 +#if defined(INIT_TEXT_SECTION) || defined(DLL_EXPORT)
   24.18 +DLL_EXPORT void _libctu_dart_compiler_tests_Init() INIT_TEXT_SECTION;
   24.19 +DLL_EXPORT void _libctu_dart_compiler_tests_InitDefinition() INIT_TEXT_SECTION;
   24.20 +#endif
   24.21 +
   24.22 +void _libctu_dart_compiler_tests_InitDefinition(pass, __pRT__, snd)
   24.23 +OBJ snd; struct __vmData__ *__pRT__; {
   24.24 +__BEGIN_PACKAGE2__("libctu_dart_compiler_tests__DFN", _libctu_dart_compiler_tests_InitDefinition, "ctu:dart/compiler/tests");
   24.25 +_ctu_137dart_137compiler_137tests_Init(pass,__pRT__,snd);
   24.26 +
   24.27 +__END_PACKAGE__();
   24.28 +}
   24.29 +
   24.30 +void _libctu_dart_compiler_tests_Init(pass, __pRT__, snd)
   24.31 +OBJ snd; struct __vmData__ *__pRT__; {
   24.32 +__BEGIN_PACKAGE2__("libctu_dart_compiler_tests", _libctu_dart_compiler_tests_Init, "ctu:dart/compiler/tests");
   24.33 +_Dart__ParserTests_Init(pass,__pRT__,snd);
   24.34 +_Dart__ScannerTests_Init(pass,__pRT__,snd);
   24.35 +_ctu_137dart_137compiler_137tests_Init(pass,__pRT__,snd);
   24.36 +
   24.37 +
   24.38 +__END_PACKAGE__();
   24.39 +}
    25.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.2 +++ b/compiler/tests/mingwmake.bat	Tue Nov 04 00:17:12 2014 +0000
    25.3 @@ -0,0 +1,16 @@
    25.4 +@REM -------
    25.5 +@REM make using mingw gnu compiler
    25.6 +@REM type mingwmake, and wait...
    25.7 +@REM do not edit - automatically generated from ProjectDefinition
    25.8 +@REM -------
    25.9 +@SET DEFINES=
   25.10 +@REM Kludge got Mercurial, cannot be implemented in Borland make
   25.11 +@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
   25.12 +@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
   25.13 +
   25.14 +@pushd ..\..\..\..\stx\rules
   25.15 +@call find_mingw.bat
   25.16 +@popd
   25.17 +make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
   25.18 +
   25.19 +
    26.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.2 +++ b/compiler/tests/tests.rc	Tue Nov 04 00:17:12 2014 +0000
    26.3 @@ -0,0 +1,37 @@
    26.4 +//
    26.5 +// DO NOT EDIT
    26.6 +// automagically generated from the projectDefinition: ctu_dart_compiler_tests.
    26.7 +//
    26.8 +VS_VERSION_INFO VERSIONINFO
    26.9 +  FILEVERSION     6,2,32767,32767
   26.10 +  PRODUCTVERSION  6,2,4,0
   26.11 +#if (__BORLANDC__)
   26.12 +  FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
   26.13 +  FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
   26.14 +  FILEOS          VOS_NT_WINDOWS32
   26.15 +  FILETYPE        VFT_DLL
   26.16 +  FILESUBTYPE     VS_USER_DEFINED
   26.17 +#endif
   26.18 +
   26.19 +BEGIN
   26.20 +  BLOCK "StringFileInfo"
   26.21 +  BEGIN
   26.22 +    BLOCK "040904E4"
   26.23 +    BEGIN
   26.24 +      VALUE "CompanyName", "My Company\0"
   26.25 +      VALUE "FileDescription", "Class Library (LIB)\0"
   26.26 +      VALUE "FileVersion", "6.2.32767.32767\0"
   26.27 +      VALUE "InternalName", "ctu:dart/compiler/tests\0"
   26.28 +      VALUE "LegalCopyright", "My CopyRight or CopyLeft\0"
   26.29 +      VALUE "ProductName", "LibraryName\0"
   26.30 +      VALUE "ProductVersion", "6.2.4.0\0"
   26.31 +      VALUE "ProductDate", "Tue, 04 Nov 2014 00:16:21 GMT\0"
   26.32 +    END
   26.33 +
   26.34 +  END
   26.35 +
   26.36 +  BLOCK "VarFileInfo"
   26.37 +  BEGIN                               //  Language   |    Translation
   26.38 +    VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual
   26.39 +  END
   26.40 +END
    27.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.2 +++ b/compiler/tests/vcmake.bat	Tue Nov 04 00:17:12 2014 +0000
    27.3 @@ -0,0 +1,20 @@
    27.4 +@REM -------
    27.5 +@REM make using Microsoft Visual C compiler
    27.6 +@REM type vcmake, and wait...
    27.7 +@REM do not edit - automatically generated from ProjectDefinition
    27.8 +@REM -------
    27.9 +
   27.10 +@if not defined VSINSTALLDIR (
   27.11 +    pushd ..\..\..\..\stx\rules
   27.12 +    call vcsetup.bat
   27.13 +    popd
   27.14 +)
   27.15 +@SET DEFINES=
   27.16 +@REM Kludge got Mercurial, cannot be implemented in Borland make
   27.17 +@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i
   27.18 +@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%"
   27.19 +make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %*
   27.20 +
   27.21 +
   27.22 +
   27.23 +
    28.1 --- a/compiler/vcmake.bat	Thu Oct 30 21:22:38 2014 +0000
    28.2 +++ b/compiler/vcmake.bat	Tue Nov 04 00:17:12 2014 +0000
    28.3 @@ -5,7 +5,9 @@
    28.4  @REM -------
    28.5  
    28.6  @if not defined VSINSTALLDIR (
    28.7 -    call ..\..\..\stx\rules\vcsetup.bat
    28.8 +    pushd ..\..\..\stx\rules
    28.9 +    call vcsetup.bat
   28.10 +    popd
   28.11  )
   28.12  @SET DEFINES=
   28.13  @REM Kludge got Mercurial, cannot be implemented in Borland make
   28.14 @@ -15,4 +17,11 @@
   28.15  
   28.16  
   28.17  
   28.18 +@echo "***********************************"
   28.19 +@echo "Buildung ctu/dart/compiler/tests
   28.20 +@echo "***********************************"
   28.21 +@cd tests
   28.22 +@call vcmake %1 %2
   28.23 +@cd ..
   28.24  
   28.25 +