# HG changeset patch # User Jan Vrany # Date 1414707504 0 # Node ID acdc3ec6d15284938e440032c46005213f42f9fd # Parent f3898a3b378d6bbb0d2d381181685432110db422 Better class category name - IR Compiler-* diff -r f3898a3b378d -r acdc3ec6d152 IRAccess.st --- a/IRAccess.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRAccess.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'number name' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -39,3 +39,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRBlockReturnTop.st --- a/IRBlockReturnTop.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRBlockReturnTop.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'successor' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -51,3 +51,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRBuilder.st --- a/IRBuilder.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRBuilder.st Thu Oct 30 22:18:24 2014 +0000 @@ -5,7 +5,7 @@ sourceMapNodes sourceMapByteIndex lastLine' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRBuilder comment:'I provide a simple interface for constructing an IRMethod. For example, to create an ir method that compares first instVar to first arg and returns ''yes'' or ''no'' (same example as in BytecodeGenerator), do: @@ -457,13 +457,14 @@ !IRBuilder class methodsFor:'documentation'! version - ^ '$Id$' + ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/IRBuilder.st,v 1.3 2009/10/08 11:57:58 fm Exp$' ! version_CVS - ^ 'Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRBuilder.st,v 1.3 2009/10/08 11:57:58 fm Exp ' + ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/IRBuilder.st,v 1.3 2009/10/08 11:57:58 fm Exp$' ! version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRBuilderTest.st --- a/IRBuilderTest.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRBuilderTest.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'TestToPush' poolDictionaries:'' - category:'NewCompiler-IR-Tests' + category:'IR Compiler-Tests' ! @@ -1032,3 +1032,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRBytecodeGenerator.st --- a/IRBytecodeGenerator.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRBytecodeGenerator.st Thu Oct 30 22:18:24 2014 +0000 @@ -6,7 +6,7 @@ stack primNum numArgs numVars properties code seqCode lastLine' classVariableNames:'BytecodeTable Bytecodes SpecialConstants SpecialSelectors' poolDictionaries:'' - category:'NewCompiler-Bytecode' + category:'IR Compiler-Bytecode' ! IRBytecodeGenerator comment:'I generate bytecodes in response to ''instructions'' messages being sent to me. I rewrite jumps at the end so their jump offsets are correct (see #bytecodes). For example, to create a compiled method that compares first instVar to first arg and returns ''yes'' or ''no'' (same example as in IRBuilder), do: @@ -808,13 +808,14 @@ !IRBytecodeGenerator class methodsFor:'documentation'! version - ^ '$Id$' + ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/IRBytecodeGenerator.st,v 1.3 2009/10/08 12:04:39 fm Exp$' ! version_CVS - ^ 'Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRBytecodeGenerator.st,v 1.3 2009/10/08 12:04:39 fm Exp ' + ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/IRBytecodeGenerator.st,v 1.3 2009/10/08 12:04:39 fm Exp$' ! version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRClosure.st --- a/IRClosure.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRClosure.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -69,3 +69,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRConstant.st --- a/IRConstant.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRConstant.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'constant type' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRConstant comment:'Instruction "pushLiteral: object"' @@ -71,3 +71,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRDecompiler.st --- a/IRDecompiler.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRDecompiler.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'stack sp scope currentInstr valueLabelMap mapEmptyStatement' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRDecompiler comment:'I interpret IRMethod instructions and generate a Smalltalk abstract syntax tree rooted at a RBMethodNode. @@ -1303,3 +1303,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRDup.st --- a/IRDup.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRDup.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRDup comment:'Instruction "pushDup"' @@ -31,3 +31,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRFunction.st --- a/IRFunction.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRFunction.st Thu Oct 30 22:18:24 2014 +0000 @@ -6,7 +6,7 @@ compiledCode' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -488,3 +488,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRInstVarAccess.st --- a/IRInstVarAccess.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRInstVarAccess.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRInstVarAccess comment:'when closures disabled, Field describes an instVar. With closures, it describes a @@ -40,3 +40,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRInstVarRead.st --- a/IRInstVarRead.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRInstVarRead.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -40,3 +40,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRInstVarStore.st --- a/IRInstVarStore.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRInstVarStore.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -43,3 +43,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRInstruction.st --- a/IRInstruction.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRInstruction.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'sourceNode bytecodeIndex sequence' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRInstruction comment:'I am an instruction in the IR (intermediate representation) language. The IR serves as the intermediary between the Smalltalk language and the bytecode language. It is easier to optimize and translate to/from this language than it is to optimize/translate directly from Smalltalk to bytecodes. The IR is generic and simple consisting of just twelve instructions. They are: @@ -419,3 +419,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRInterpreter.st --- a/IRInterpreter.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRInterpreter.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRInterpreter comment:'I visit each IRInstruction in an IRMethod in order. Each instruction sends its instruction message to me upon being visited. See my ''instructions'' method category for complete list of instructions. Subclasses should override them.' @@ -121,3 +121,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRJump.st --- a/IRJump.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRJump.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'destination' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRJump comment:'Instruction "goto: labelNum"' @@ -62,3 +62,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRJumpIf.st --- a/IRJumpIf.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRJumpIf.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'boolean otherwise' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRJumpIf comment:'Instruction "if: boolean goto: labelNum1 otherwise: labelNum2"' @@ -71,3 +71,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRJumpOverBlock.st --- a/IRJumpOverBlock.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRJumpOverBlock.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'blockSequence' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -50,3 +50,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRLine.st --- a/IRLine.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRLine.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'line' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -44,3 +44,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRLiteralVariableAccess.st --- a/IRLiteralVariableAccess.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRLiteralVariableAccess.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'association' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -43,3 +43,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRLiteralVariableRead.st --- a/IRLiteralVariableRead.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRLiteralVariableRead.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -37,3 +37,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRLiteralVariableStore.st --- a/IRLiteralVariableStore.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRLiteralVariableStore.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -37,3 +37,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRMethod.st --- a/IRMethod.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRMethod.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRMethod comment:'I am a method in the IR (intermediate representation) language consisting of IRInstructions grouped by IRSequence (basic block). The IRSequences form a control graph (therefore I only have to hold onto the starting sequence). #compiledMethod will convert me to a CompiledMethod. #methodNode will convert me back to a parse tree. @@ -62,3 +62,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRPop.st --- a/IRPop.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRPop.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRPop comment:'Instruction "popTop"' @@ -37,3 +37,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRPrinter.st --- a/IRPrinter.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRPrinter.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'stream indent' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRPrinter comment:'I interpret IRMethod instructions and write them out to a print stream.' @@ -217,6 +217,12 @@ ^ 'Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRPrinter.st,v 1.3 2009/10/08 12:00:24 fm Exp ' ! +version_HG + + ^ '$Changeset: $' +! + version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRReturn.st --- a/IRReturn.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRReturn.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'isRemote' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRReturn comment:'Instruction "returnTop" or "remoteReturn"' @@ -52,3 +52,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRSend.st --- a/IRSend.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRSend.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'selector numArgs superOf' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRSend comment:'Instruction "send: selector" or "send: selector toSuperOf: behavior"' @@ -88,3 +88,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRSequence.st --- a/IRSequence.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRSequence.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'sequence orderNumber method' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -417,3 +417,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRStackCount.st --- a/IRStackCount.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRStackCount.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'start position length' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-Bytecode' + category:'IR Compiler-Bytecode' ! IRStackCount comment:'This keeps track of the stack count for the BytecodeGenerator.' @@ -121,13 +121,14 @@ !IRStackCount class methodsFor:'documentation'! version - ^ '$Id$' + ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/IRStackCount.st,v 1.3 2009/10/08 11:59:57 fm Exp$' ! version_CVS - ^ 'Header: /cvs/stx/cvut/stx/goodies/newcompiler/IRStackCount.st,v 1.3 2009/10/08 11:59:57 fm Exp ' + ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/IRStackCount.st,v 1.3 2009/10/08 11:59:57 fm Exp$' ! version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRTempAccess.st --- a/IRTempAccess.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRTempAccess.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'kind level' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -69,3 +69,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRTempRead.st --- a/IRTempRead.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRTempRead.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -39,3 +39,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRTempStore.st --- a/IRTempStore.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRTempStore.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! @@ -39,3 +39,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRTransformTest.st --- a/IRTransformTest.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRTransformTest.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR-Tests' + category:'IR Compiler-Tests' ! @@ -173,3 +173,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 IRTranslator.st --- a/IRTranslator.st Thu Oct 30 21:43:54 2014 +0000 +++ b/IRTranslator.st Thu Oct 30 22:18:24 2014 +0000 @@ -4,7 +4,7 @@ instanceVariableNames:'pending gen currentInstr' classVariableNames:'' poolDictionaries:'' - category:'NewCompiler-IR' + category:'IR Compiler-IR' ! IRTranslator comment:'I interpret IRMethod instructions, sending the appropriate bytecode messages to my BytecodeGenerator (gen). I hold some messages back in pending awaiting certain sequences of them that can be consolidated into single bytecode instructions, otherwise the pending messages are executed in order as if they were executed when they first appeared.' @@ -381,3 +381,4 @@ version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 Make.proto --- a/Make.proto Thu Oct 30 21:43:54 2014 +0000 +++ b/Make.proto Thu Oct 30 22:18:24 2014 +0000 @@ -34,7 +34,7 @@ # add the path(es) here:, # ********** OPTIONAL: MODIFY the next lines *** # LOCALINCLUDES=-Ifoo -Ibar -LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libcompat -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/libtool +LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/libcompat -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libwidg # if you need any additional defines for embedded C code, @@ -68,7 +68,7 @@ -# Update SVN revision in stx_libbasic3.st +# Update SVN revision in package definition class ifneq (,$(findstring .svn,$(wildcard .svn))) .svnversion: *.st if [ -d .svn ]; then \ @@ -78,7 +78,7 @@ echo -n exported > .svnversion; \ fi -ctu_ircompiler.o: ctu_ircompiler.st .svnversion +ctu_ircompiler.o: ctu_ircompiler.st .svnversion @if [ -d .svn ]; then \ rev2="$(shell printf "%-16s" $$(cat .svnversion))"; \ echo " [SV] Expanding svnRevisionNo in $1.st"; \ @@ -87,11 +87,27 @@ $(MAKE) CC="$(CLASSLIB_CC)" OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)" STC="$(STC)" STFILE=.ctu_ircompiler.svn $(C_RULE); sed -i -e "s/\".ctu_ircompiler.svn.st\");/\"\ctu_ircompiler.st\");/g" .ctu_ircompiler.svn.c $(MAKE) .ctu_ircompiler.svn.$(O) - @mv .ctu_ircompiler.svn.$(O) ctu_ircompiler.$(O) + @mv .ctu_ircompiler.svn.$(O) ctu_ircompiler.$(O) endif +# Enforce recompilation of package definition class if Mercurial working +# copy state changes. Together with --guessVersion it ensures that package +# definition class always contains correct binary revision string. +ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**')) +ctu_ircompiler.$(O): $(shell hg root)/.hg/dirstate +endif + + + + +# run default testsuite for this package +test: $(TOP)/goodies/builder/reports + $(MAKE) -C $(TOP)/goodies/builder/reports -f Makefile.init + $(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE) + + # add more install actions here install:: @@ -105,27 +121,21 @@ # add more postMake actions here postMake:: cleanjunk -prereq: $(REQUIRED_SUPPORT_DIRS) +# build all mandatory prerequisite packages (containing superclasses) for this package +prereq: cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/goodies/refactoryBrowser/parser && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd $(TOP)/libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" + cd $(TOP)/libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd $(TOP)/libcomp && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/libdb && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd $(TOP)/libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/libboss && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/libdb/libodbc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/libdb/libsqlite && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" cd $(TOP)/goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/libhtml && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/libwidg2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/libtool && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/libcompat && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" - cd $(TOP)/librun && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)" + + +# build all packages containing referenced classes for this package +# they are nor needed to compile the package +references: cleanjunk:: @@ -146,7 +156,7 @@ $(OUTDIR)IRInterpreter.$(O) IRInterpreter.$(H): IRInterpreter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)IRSequence.$(O) IRSequence.$(H): IRSequence.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)IRStackCount.$(O) IRStackCount.$(H): IRStackCount.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)ctu_ircompiler.$(O) ctu_ircompiler.$(H): ctu_ircompiler.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) +$(OUTDIR)ctu_ircompiler.$(O) ctu_ircompiler.$(H): ctu_ircompiler.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR) $(OUTDIR)IRAccess.$(O) IRAccess.$(H): IRAccess.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)IRClosure.$(O) IRClosure.$(H): IRClosure.st $(INCLUDE_TOP)/ctu/ircompiler/IRFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)IRConstant.$(O) IRConstant.$(H): IRConstant.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) @@ -160,19 +170,19 @@ $(OUTDIR)IRReturn.$(O) IRReturn.$(H): IRReturn.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)IRSend.$(O) IRSend.$(H): IRSend.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)IRTranslator.$(O) IRTranslator.$(H): IRTranslator.st $(INCLUDE_TOP)/ctu/ircompiler/IRInterpreter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)IRBlockReturnTop.$(O) IRBlockReturnTop.$(H): IRBlockReturnTop.st $(INCLUDE_TOP)/ctu/ircompiler/IRReturn.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) +$(OUTDIR)IRBlockReturnTop.$(O) IRBlockReturnTop.$(H): IRBlockReturnTop.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRReturn.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)IRInstVarAccess.$(O) IRInstVarAccess.$(H): IRInstVarAccess.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)IRJumpIf.$(O) IRJumpIf.$(H): IRJumpIf.st $(INCLUDE_TOP)/ctu/ircompiler/IRJump.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)IRJumpOverBlock.$(O) IRJumpOverBlock.$(H): IRJumpOverBlock.st $(INCLUDE_TOP)/ctu/ircompiler/IRJump.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) +$(OUTDIR)IRJumpIf.$(O) IRJumpIf.$(H): IRJumpIf.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRJump.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) +$(OUTDIR)IRJumpOverBlock.$(O) IRJumpOverBlock.$(H): IRJumpOverBlock.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRJump.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)IRLiteralVariableAccess.$(O) IRLiteralVariableAccess.$(H): IRLiteralVariableAccess.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) $(OUTDIR)IRTempAccess.$(O) IRTempAccess.$(H): IRTempAccess.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)IRInstVarRead.$(O) IRInstVarRead.$(H): IRInstVarRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstVarAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)IRInstVarStore.$(O) IRInstVarStore.$(H): IRInstVarStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstVarAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)IRLiteralVariableRead.$(O) IRLiteralVariableRead.$(H): IRLiteralVariableRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)IRLiteralVariableStore.$(O) IRLiteralVariableStore.$(H): IRLiteralVariableStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)IRTempRead.$(O) IRTempRead.$(H): IRTempRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRTempAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)IRTempStore.$(O) IRTempStore.$(H): IRTempStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRTempAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) -$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libcomp/ByteCodeCompiler.$(H) $(INCLUDE_TOP)/stx/libcomp/Parser.$(H) $(INCLUDE_TOP)/stx/libcomp/Scanner.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(STCHDR) +$(OUTDIR)IRInstVarRead.$(O) IRInstVarRead.$(H): IRInstVarRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstVarAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) +$(OUTDIR)IRInstVarStore.$(O) IRInstVarStore.$(H): IRInstVarStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstVarAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) +$(OUTDIR)IRLiteralVariableRead.$(O) IRLiteralVariableRead.$(H): IRLiteralVariableRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) +$(OUTDIR)IRLiteralVariableStore.$(O) IRLiteralVariableStore.$(H): IRLiteralVariableStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) +$(OUTDIR)IRTempRead.$(O) IRTempRead.$(H): IRTempRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRTempAccess.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) +$(OUTDIR)IRTempStore.$(O) IRTempStore.$(H): IRTempStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRTempAccess.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR) +$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libcomp/ByteCodeCompiler.$(H) $(INCLUDE_TOP)/stx/libcomp/Parser.$(H) $(INCLUDE_TOP)/stx/libcomp/Scanner.$(H) $(STCHDR) # ENDMAKEDEPEND --- do not remove this line diff -r f3898a3b378d -r acdc3ec6d152 Make.spec --- a/Make.spec Thu Oct 30 21:43:54 2014 +0000 +++ b/Make.spec Thu Oct 30 22:18:24 2014 +0000 @@ -88,40 +88,40 @@ COMMON_OBJS= \ - $(OUTDIR)IRBuilder.$(O) \ - $(OUTDIR)IRBytecodeGenerator.$(O) \ - $(OUTDIR)IRFunction.$(O) \ - $(OUTDIR)IRInstruction.$(O) \ - $(OUTDIR)IRInterpreter.$(O) \ - $(OUTDIR)IRSequence.$(O) \ - $(OUTDIR)IRStackCount.$(O) \ - $(OUTDIR)ctu_ircompiler.$(O) \ - $(OUTDIR)IRAccess.$(O) \ - $(OUTDIR)IRClosure.$(O) \ - $(OUTDIR)IRConstant.$(O) \ - $(OUTDIR)IRDecompiler.$(O) \ - $(OUTDIR)IRDup.$(O) \ - $(OUTDIR)IRJump.$(O) \ - $(OUTDIR)IRLine.$(O) \ - $(OUTDIR)IRMethod.$(O) \ - $(OUTDIR)IRPop.$(O) \ - $(OUTDIR)IRPrinter.$(O) \ - $(OUTDIR)IRReturn.$(O) \ - $(OUTDIR)IRSend.$(O) \ - $(OUTDIR)IRTranslator.$(O) \ - $(OUTDIR)IRBlockReturnTop.$(O) \ - $(OUTDIR)IRInstVarAccess.$(O) \ - $(OUTDIR)IRJumpIf.$(O) \ - $(OUTDIR)IRJumpOverBlock.$(O) \ - $(OUTDIR)IRLiteralVariableAccess.$(O) \ - $(OUTDIR)IRTempAccess.$(O) \ - $(OUTDIR)IRInstVarRead.$(O) \ - $(OUTDIR)IRInstVarStore.$(O) \ - $(OUTDIR)IRLiteralVariableRead.$(O) \ - $(OUTDIR)IRLiteralVariableStore.$(O) \ - $(OUTDIR)IRTempRead.$(O) \ - $(OUTDIR)IRTempStore.$(O) \ - $(OUTDIR)extensions.$(O) \ + $(OUTDIR_SLASH)IRBuilder.$(O) \ + $(OUTDIR_SLASH)IRBytecodeGenerator.$(O) \ + $(OUTDIR_SLASH)IRFunction.$(O) \ + $(OUTDIR_SLASH)IRInstruction.$(O) \ + $(OUTDIR_SLASH)IRInterpreter.$(O) \ + $(OUTDIR_SLASH)IRSequence.$(O) \ + $(OUTDIR_SLASH)IRStackCount.$(O) \ + $(OUTDIR_SLASH)ctu_ircompiler.$(O) \ + $(OUTDIR_SLASH)IRAccess.$(O) \ + $(OUTDIR_SLASH)IRClosure.$(O) \ + $(OUTDIR_SLASH)IRConstant.$(O) \ + $(OUTDIR_SLASH)IRDecompiler.$(O) \ + $(OUTDIR_SLASH)IRDup.$(O) \ + $(OUTDIR_SLASH)IRJump.$(O) \ + $(OUTDIR_SLASH)IRLine.$(O) \ + $(OUTDIR_SLASH)IRMethod.$(O) \ + $(OUTDIR_SLASH)IRPop.$(O) \ + $(OUTDIR_SLASH)IRPrinter.$(O) \ + $(OUTDIR_SLASH)IRReturn.$(O) \ + $(OUTDIR_SLASH)IRSend.$(O) \ + $(OUTDIR_SLASH)IRTranslator.$(O) \ + $(OUTDIR_SLASH)IRBlockReturnTop.$(O) \ + $(OUTDIR_SLASH)IRInstVarAccess.$(O) \ + $(OUTDIR_SLASH)IRJumpIf.$(O) \ + $(OUTDIR_SLASH)IRJumpOverBlock.$(O) \ + $(OUTDIR_SLASH)IRLiteralVariableAccess.$(O) \ + $(OUTDIR_SLASH)IRTempAccess.$(O) \ + $(OUTDIR_SLASH)IRInstVarRead.$(O) \ + $(OUTDIR_SLASH)IRInstVarStore.$(O) \ + $(OUTDIR_SLASH)IRLiteralVariableRead.$(O) \ + $(OUTDIR_SLASH)IRLiteralVariableStore.$(O) \ + $(OUTDIR_SLASH)IRTempRead.$(O) \ + $(OUTDIR_SLASH)IRTempStore.$(O) \ + $(OUTDIR_SLASH)extensions.$(O) \ diff -r f3898a3b378d -r acdc3ec6d152 Makefile.init --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Makefile.init Thu Oct 30 22:18:24 2014 +0000 @@ -0,0 +1,27 @@ +# +# DO NOT EDIT +# +# make uses this file (Makefile) only, if there is no +# file named "makefile" (lower-case m) in the same directory. +# My only task is to generate the real makefile and call make again. +# Thereafter, I am no longer used and needed. +# +# MACOSX caveat: +# as filenames are not case sensitive (in a default setup), +# we cannot use the above trick. Therefore, this file is now named +# "Makefile.init", and you have to execute "make -f Makefile.init" to +# get the initial makefile. This is now also done by the toplevel CONFIG +# script. + +.PHONY: run + +run: makefile + $(MAKE) -f makefile + +#only needed for the definition of $(TOP) +include Make.proto + +makefile: mf + +mf: + $(TOP)/rules/stmkmf diff -r f3898a3b378d -r acdc3ec6d152 abbrev.stc --- a/abbrev.stc Thu Oct 30 21:43:54 2014 +0000 +++ b/abbrev.stc Thu Oct 30 22:18:24 2014 +0000 @@ -1,38 +1,38 @@ # automagically generated by the project definition # this file is needed for stc to be able to compile modules independently. # it provides information about a classes filename, category and especially namespace. -IRBuilder IRBuilder ctu:ircompiler 'NewCompiler-IR' 0 -IRBuilderTest IRBuilderTest ctu:ircompiler 'NewCompiler-IR-Tests' 1 -IRBytecodeGenerator IRBytecodeGenerator ctu:ircompiler 'NewCompiler-Bytecode' 0 -IRFunction IRFunction ctu:ircompiler 'NewCompiler-IR' 0 -IRInstruction IRInstruction ctu:ircompiler 'NewCompiler-IR' 0 -IRInterpreter IRInterpreter ctu:ircompiler 'NewCompiler-IR' 0 -IRSequence IRSequence ctu:ircompiler 'NewCompiler-IR' 0 -IRStackCount IRStackCount ctu:ircompiler 'NewCompiler-Bytecode' 0 -IRTransformTest IRTransformTest ctu:ircompiler 'NewCompiler-IR-Tests' 1 -cvut_stx_goodies_newcompiler cvut_stx_goodies_newcompiler ctu:ircompiler '* Projects & Packages *' 3 -IRAccess IRAccess ctu:ircompiler 'NewCompiler-IR' 0 -IRClosure IRClosure ctu:ircompiler 'NewCompiler-IR' 0 -IRConstant IRConstant ctu:ircompiler 'NewCompiler-IR' 0 -IRDecompiler IRDecompiler ctu:ircompiler 'NewCompiler-IR' 0 -IRDup IRDup ctu:ircompiler 'NewCompiler-IR' 0 -IRJump IRJump ctu:ircompiler 'NewCompiler-IR' 0 -IRLine IRLine ctu:ircompiler 'NewCompiler-IR' 0 -IRMethod IRMethod ctu:ircompiler 'NewCompiler-IR' 0 -IRPop IRPop ctu:ircompiler 'NewCompiler-IR' 0 -IRPrinter IRPrinter ctu:ircompiler 'NewCompiler-IR' 0 -IRReturn IRReturn ctu:ircompiler 'NewCompiler-IR' 0 -IRSend IRSend ctu:ircompiler 'NewCompiler-IR' 0 -IRTranslator IRTranslator ctu:ircompiler 'NewCompiler-IR' 0 -IRBlockReturnTop IRBlockReturnTop ctu:ircompiler 'NewCompiler-IR' 0 -IRInstVarAccess IRInstVarAccess ctu:ircompiler 'NewCompiler-IR' 0 -IRJumpIf IRJumpIf ctu:ircompiler 'NewCompiler-IR' 0 -IRJumpOverBlock IRJumpOverBlock ctu:ircompiler 'NewCompiler-IR' 0 -IRLiteralVariableAccess IRLiteralVariableAccess ctu:ircompiler 'NewCompiler-IR' 0 -IRTempAccess IRTempAccess ctu:ircompiler 'NewCompiler-IR' 0 -IRInstVarRead IRInstVarRead ctu:ircompiler 'NewCompiler-IR' 0 -IRInstVarStore IRInstVarStore ctu:ircompiler 'NewCompiler-IR' 0 -IRLiteralVariableRead IRLiteralVariableRead ctu:ircompiler 'NewCompiler-IR' 0 -IRLiteralVariableStore IRLiteralVariableStore ctu:ircompiler 'NewCompiler-IR' 0 -IRTempRead IRTempRead ctu:ircompiler 'NewCompiler-IR' 0 -IRTempStore IRTempStore ctu:ircompiler 'NewCompiler-IR' 0 +IRBuilder IRBuilder ctu:ircompiler 'IR Compiler-IR' 0 +IRBuilderTest IRBuilderTest ctu:ircompiler 'IR Compiler-Tests' 1 +IRBytecodeGenerator IRBytecodeGenerator ctu:ircompiler 'IR Compiler-Bytecode' 0 +IRFunction IRFunction ctu:ircompiler 'IR Compiler-IR' 0 +IRInstruction IRInstruction ctu:ircompiler 'IR Compiler-IR' 0 +IRInterpreter IRInterpreter ctu:ircompiler 'IR Compiler-IR' 0 +IRSequence IRSequence ctu:ircompiler 'IR Compiler-IR' 0 +IRStackCount IRStackCount ctu:ircompiler 'IR Compiler-Bytecode' 0 +IRTransformTest IRTransformTest ctu:ircompiler 'IR Compiler-Tests' 1 +ctu_ircompiler ctu_ircompiler ctu:ircompiler '* Projects & Packages *' 3 +IRAccess IRAccess ctu:ircompiler 'IR Compiler-IR' 0 +IRClosure IRClosure ctu:ircompiler 'IR Compiler-IR' 0 +IRConstant IRConstant ctu:ircompiler 'IR Compiler-IR' 0 +IRDecompiler IRDecompiler ctu:ircompiler 'IR Compiler-IR' 0 +IRDup IRDup ctu:ircompiler 'IR Compiler-IR' 0 +IRJump IRJump ctu:ircompiler 'IR Compiler-IR' 0 +IRLine IRLine ctu:ircompiler 'IR Compiler-IR' 0 +IRMethod IRMethod ctu:ircompiler 'IR Compiler-IR' 0 +IRPop IRPop ctu:ircompiler 'IR Compiler-IR' 0 +IRPrinter IRPrinter ctu:ircompiler 'IR Compiler-IR' 0 +IRReturn IRReturn ctu:ircompiler 'IR Compiler-IR' 0 +IRSend IRSend ctu:ircompiler 'IR Compiler-IR' 0 +IRTranslator IRTranslator ctu:ircompiler 'IR Compiler-IR' 0 +IRBlockReturnTop IRBlockReturnTop ctu:ircompiler 'IR Compiler-IR' 0 +IRInstVarAccess IRInstVarAccess ctu:ircompiler 'IR Compiler-IR' 0 +IRJumpIf IRJumpIf ctu:ircompiler 'IR Compiler-IR' 0 +IRJumpOverBlock IRJumpOverBlock ctu:ircompiler 'IR Compiler-IR' 0 +IRLiteralVariableAccess IRLiteralVariableAccess ctu:ircompiler 'IR Compiler-IR' 0 +IRTempAccess IRTempAccess ctu:ircompiler 'IR Compiler-IR' 0 +IRInstVarRead IRInstVarRead ctu:ircompiler 'IR Compiler-IR' 0 +IRInstVarStore IRInstVarStore ctu:ircompiler 'IR Compiler-IR' 0 +IRLiteralVariableRead IRLiteralVariableRead ctu:ircompiler 'IR Compiler-IR' 0 +IRLiteralVariableStore IRLiteralVariableStore ctu:ircompiler 'IR Compiler-IR' 0 +IRTempRead IRTempRead ctu:ircompiler 'IR Compiler-IR' 0 +IRTempStore IRTempStore ctu:ircompiler 'IR Compiler-IR' 0 diff -r f3898a3b378d -r acdc3ec6d152 bc.mak --- a/bc.mak Thu Oct 30 21:43:54 2014 +0000 +++ b/bc.mak Thu Oct 30 22:18:24 2014 +0000 @@ -15,7 +15,7 @@ # bmake clobber - clean all # # Historic Note: -# this used to contain only rules to make with borland +# this used to contain only rules to make with borland # (called via bmake, by "make.exe -f bc.mak") # this has changed; it is now also possible to build using microsoft visual c # (called via vcmake, by "make.exe -f bc.mak -DUSEVC") @@ -30,11 +30,11 @@ !INCLUDE Make.spec LIBNAME=libctu_ircompiler -RESFILES=newcompiler.res +RESFILES=ircompiler.$(RES) -LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\libwidg -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libcompat -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libcomp -I$(INCLUDE_TOP)\stx\libtool +LOCALINCLUDES= -I$(INCLUDE_TOP)\stx\goodies\refactoryBrowser\parser -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libcomp -I$(INCLUDE_TOP)\stx\libcompat -I$(INCLUDE_TOP)\stx\libtool -I$(INCLUDE_TOP)\stx\libwidg LOCALDEFINES= STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME) @@ -48,32 +48,30 @@ !INCLUDE $(TOP)\rules\stdRules_bc -# build all prerequisite packages for this package +# build all mandatory prerequisite packages (containing superclasses) for this package prereq: - pushd ..\..\..\..\stx\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\goodies\refactoryBrowser\parser & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libdb & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libboss & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libdb\libodbc & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libdb\libsqlite & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libhtml & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libwidg2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libtool & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\libcompat & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " - pushd ..\..\..\..\stx\librun & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + pushd ..\..\stx\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + pushd ..\..\stx\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + pushd ..\..\stx\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + pushd ..\..\stx\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + pushd ..\..\stx\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + pushd ..\..\stx\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + pushd ..\..\stx\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) " + + +test: $(TOP)\goodies\builder\reports\NUL + pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT) + $(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE) + +clean:: + del *.$(CSUFFIX) + + # BEGINMAKEDEPEND --- do not remove this line; make depend needs it $(OUTDIR)IRBuilder.$(O) IRBuilder.$(H): IRBuilder.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) $(OUTDIR)IRBytecodeGenerator.$(O) IRBytecodeGenerator.$(H): IRBytecodeGenerator.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) @@ -82,32 +80,41 @@ $(OUTDIR)IRInterpreter.$(O) IRInterpreter.$(H): IRInterpreter.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) $(OUTDIR)IRSequence.$(O) IRSequence.$(H): IRSequence.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) $(OUTDIR)IRStackCount.$(O) IRStackCount.$(H): IRStackCount.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)ctu_ircompiler.$(O) ctu_ircompiler.$(H): ctu_ircompiler.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRAccess.$(O) IRAccess.$(H): IRAccess.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRClosure.$(O) IRClosure.$(H): IRClosure.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRConstant.$(O) IRConstant.$(H): IRConstant.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRDecompiler.$(O) IRDecompiler.$(H): IRDecompiler.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInterpreter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRDup.$(O) IRDup.$(H): IRDup.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRJump.$(O) IRJump.$(H): IRJump.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRLine.$(O) IRLine.$(H): IRLine.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRMethod.$(O) IRMethod.$(H): IRMethod.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRPop.$(O) IRPop.$(H): IRPop.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRPrinter.$(O) IRPrinter.$(H): IRPrinter.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInterpreter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRReturn.$(O) IRReturn.$(H): IRReturn.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRSend.$(O) IRSend.$(H): IRSend.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRTranslator.$(O) IRTranslator.$(H): IRTranslator.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInterpreter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRBlockReturnTop.$(O) IRBlockReturnTop.$(H): IRBlockReturnTop.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRReturn.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRInstVarAccess.$(O) IRInstVarAccess.$(H): IRInstVarAccess.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRJumpIf.$(O) IRJumpIf.$(H): IRJumpIf.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRJump.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRJumpOverBlock.$(O) IRJumpOverBlock.$(H): IRJumpOverBlock.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRJump.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRLiteralVariableAccess.$(O) IRLiteralVariableAccess.$(H): IRLiteralVariableAccess.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRTempAccess.$(O) IRTempAccess.$(H): IRTempAccess.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRInstVarRead.$(O) IRInstVarRead.$(H): IRInstVarRead.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstVarAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRInstVarStore.$(O) IRInstVarStore.$(H): IRInstVarStore.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstVarAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRLiteralVariableRead.$(O) IRLiteralVariableRead.$(H): IRLiteralVariableRead.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRLiteralVariableStore.$(O) IRLiteralVariableStore.$(H): IRLiteralVariableStore.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRTempRead.$(O) IRTempRead.$(H): IRTempRead.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRTempAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)IRTempStore.$(O) IRTempStore.$(H): IRTempStore.st $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRTempAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRAccess.$(H) $(INCLUDE_TOP)\cvut\stx\goodies\newcompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) -$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libcomp\ByteCodeCompiler.$(H) $(INCLUDE_TOP)\stx\libcomp\Parser.$(H) $(INCLUDE_TOP)\stx\libcomp\Scanner.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(STCHDR) +$(OUTDIR)ctu_ircompiler.$(O) ctu_ircompiler.$(H): ctu_ircompiler.st $(INCLUDE_TOP)\stx\libbasic\LibraryDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(STCHDR) +$(OUTDIR)IRAccess.$(O) IRAccess.$(H): IRAccess.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRClosure.$(O) IRClosure.$(H): IRClosure.st $(INCLUDE_TOP)\ctu\ircompiler\IRFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRConstant.$(O) IRConstant.$(H): IRConstant.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRDecompiler.$(O) IRDecompiler.$(H): IRDecompiler.st $(INCLUDE_TOP)\ctu\ircompiler\IRInterpreter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRDup.$(O) IRDup.$(H): IRDup.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRJump.$(O) IRJump.$(H): IRJump.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRLine.$(O) IRLine.$(H): IRLine.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRMethod.$(O) IRMethod.$(H): IRMethod.st $(INCLUDE_TOP)\ctu\ircompiler\IRFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRPop.$(O) IRPop.$(H): IRPop.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRPrinter.$(O) IRPrinter.$(H): IRPrinter.st $(INCLUDE_TOP)\ctu\ircompiler\IRInterpreter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRReturn.$(O) IRReturn.$(H): IRReturn.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRSend.$(O) IRSend.$(H): IRSend.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRTranslator.$(O) IRTranslator.$(H): IRTranslator.st $(INCLUDE_TOP)\ctu\ircompiler\IRInterpreter.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRBlockReturnTop.$(O) IRBlockReturnTop.$(H): IRBlockReturnTop.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRReturn.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRInstVarAccess.$(O) IRInstVarAccess.$(H): IRInstVarAccess.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRJumpIf.$(O) IRJumpIf.$(H): IRJumpIf.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRJump.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRJumpOverBlock.$(O) IRJumpOverBlock.$(H): IRJumpOverBlock.st $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRJump.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRLiteralVariableAccess.$(O) IRLiteralVariableAccess.$(H): IRLiteralVariableAccess.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRTempAccess.$(O) IRTempAccess.$(H): IRTempAccess.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRInstVarRead.$(O) IRInstVarRead.$(H): IRInstVarRead.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstVarAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRInstVarStore.$(O) IRInstVarStore.$(H): IRInstVarStore.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstVarAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRLiteralVariableRead.$(O) IRLiteralVariableRead.$(H): IRLiteralVariableRead.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRLiteralVariableStore.$(O) IRLiteralVariableStore.$(H): IRLiteralVariableStore.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRTempRead.$(O) IRTempRead.$(H): IRTempRead.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRTempAccess.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)IRTempStore.$(O) IRTempStore.$(H): IRTempStore.st $(INCLUDE_TOP)\ctu\ircompiler\IRAccess.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRInstruction.$(H) $(INCLUDE_TOP)\ctu\ircompiler\IRTempAccess.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR) +$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libcomp\ByteCodeCompiler.$(H) $(INCLUDE_TOP)\stx\libcomp\Parser.$(H) $(INCLUDE_TOP)\stx\libcomp\Scanner.$(H) $(STCHDR) # ENDMAKEDEPEND --- do not remove this line + +# **Must be at end** + +# Enforce recompilation of package definition class if Mercurial working +# copy state changes. Together with --guessVersion it ensures that package +# definition class always contains correct binary revision string. +!IFDEF HGROOT +$(OUTDIR)ctu_ircompiler.$(O): $(HGROOT)\.hg\dirstate +!ENDIF diff -r f3898a3b378d -r acdc3ec6d152 bmake.bat --- a/bmake.bat Thu Oct 30 21:43:54 2014 +0000 +++ b/bmake.bat Thu Oct 30 22:18:24 2014 +0000 @@ -3,6 +3,10 @@ @REM type bmake, and wait... @REM do not edit - automatically generated from ProjectDefinition @REM ------- -make.exe -N -f bc.mak %* +@SET DEFINES= +@REM Kludge got Mercurial, cannot be implemented in Borland make +@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i +@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%" +make.exe -N -f bc.mak %DEFINES% %* diff -r f3898a3b378d -r acdc3ec6d152 ctu_ircompiler.st --- a/ctu_ircompiler.st Thu Oct 30 21:43:54 2014 +0000 +++ b/ctu_ircompiler.st Thu Oct 30 22:18:24 2014 +0000 @@ -7,26 +7,60 @@ category:'* Projects & Packages *' ! +!ctu_ircompiler class methodsFor:'documentation'! + +extensionsVersion_SVN + ^ '$Id:: $' +! ! !ctu_ircompiler class methodsFor:'description'! -preRequisites - "list all required packages. - This list can be maintained manually or (better) generated and - updated by scanning the superclass hierarchies and looking for - global variable accesses. (the browser has a menu function for that) - Howevery, often too much is found, and you may want to explicitely - exclude individual packages in the #excludedFromPrerequisites method." +excludedFromPreRequisites + "list packages which are to be explicitely excluded from the automatic constructed + prerequisites list. If empty, everything that is found along the inheritance of any of + my classes is considered to be a prerequisite package." + + ^ #( + ) +! + +mandatoryPreRequisites + "list packages which are mandatory as a prerequisite. + This are packages containing superclasses of my classes and classes which + are extended by myself. + They are mandatory, because we need these packages as a prerequisite for loading and compiling. + This method is generated automatically, + by searching along the inheritance chain of all of my classes." ^ #( - #'stx:goodies/refactoryBrowser/parser' "RBReturnNode - referenced by IRDecompiler>>addReturn:from: " - #'stx:goodies/sunit' "TestAsserter - superclass of IRTransformTest " - #'stx:libbasic' "Link - superclass of IRSend " - #'stx:libbasic2' "OrderedDictionary - referenced by IRBytecodeGenerator>>initialize " - #'stx:libcomp' "Parser - superclass of extended ByteCodeCompiler " - #'stx:libcompat' "Preferences - referenced by IRDecompiler>>removeClosureCreation: " - #'stx:libtool' "Tools::Inspector2Tab - referenced by IRFunction>>inspector2TabIRCode " - #'stx:libwidg' "TextView - referenced by IRFunction>>inspector2TabIRCode " + #'stx:goodies/sunit' "TestAsserter - superclass of IRBuilderTest" + #'stx:libbasic' "Behavior - extended" + #'stx:libcomp' "ByteCodeCompiler - extended" + ) +! + +referencedPreRequisites + "list packages which are a prerequisite, because they contain + classes which are referenced by my classes. + We do not need these packages as a prerequisite for loading or compiling. + This method is generated automatically, + by searching all classes (and their packages) which are referenced by my classes." + + ^ #( + #'stx:goodies/refactoryBrowser/parser' "RBArrayNode - referenced by IRDecompiler>>endCase:" + #'stx:libcompat' "Preferences - referenced by IRDecompiler>>addReturn:from:" + #'stx:libtool' "Tools::Inspector2Tab - referenced by IRFunction>>inspector2TabIRCode" + #'stx:libwidg' "ScrollableView - referenced by IRFunction>>inspector2TabIRCode" + ) +! + +subProjects + "list packages which are known as subprojects. + The generated makefile will enter those and make there as well. + However: they are not forced to be loaded when a package is loaded; + for those, redefine requiredPrerequisites." + + ^ #( ) ! ! @@ -79,8 +113,8 @@ ! extensionMethodNames - "lists the extension methods which are to be included in the project. - Entries are 2-element array literals, consisting of class-name and selector." + "list class/selector pairs of extensions. + A correponding method with real names must be present in my concrete subclasses" ^ #( ByteCodeCompiler literalArray: @@ -146,13 +180,19 @@ !ctu_ircompiler class methodsFor:'documentation'! version - ^ '$Id$' + ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/ctu_ircompiler.st,v 1.4 2009/10/08 12:00:46 fm Exp$' ! version_CVS - ^ 'Header: /cvs/stx/cvut/stx/goodies/newcompiler/ctu_ircompiler.st,v 1.4 2009/10/08 12:00:46 fm Exp ' + ^ '$eader: /cvs/stx/cvut/stx/goodies/newcompiler/ctu_ircompiler.st,v 1.4 2009/10/08 12:00:46 fm Exp$' +! + +version_HG + + ^ '$Changeset: $' ! version_SVN ^ '$Id:: $' ! ! + diff -r f3898a3b378d -r acdc3ec6d152 extensions.st --- a/extensions.st Thu Oct 30 21:43:54 2014 +0000 +++ b/extensions.st Thu Oct 30 22:18:24 2014 +0000 @@ -30,6 +30,7 @@ !ctu_ircompiler class methodsFor:'documentation'! -extensionsVersion_SVN - ^ '$Id:: $' +extensionsVersion_HG + + ^ '$Changeset: $' ! ! diff -r f3898a3b378d -r acdc3ec6d152 ircompiler.rc --- a/ircompiler.rc Thu Oct 30 21:43:54 2014 +0000 +++ b/ircompiler.rc Thu Oct 30 22:18:24 2014 +0000 @@ -3,8 +3,8 @@ // automagically generated from the projectDefinition: ctu_ircompiler. // VS_VERSION_INFO VERSIONINFO - FILEVERSION 6,2,0,1 - PRODUCTVERSION 6,2,3,1 + FILEVERSION 6,2,32767,32767 + PRODUCTVERSION 6,2,4,0 #if (__BORLANDC__) FILEFLAGSMASK VS_FF_DEBUG | VS_FF_PRERELEASE FILEFLAGS VS_FF_PRERELEASE | VS_FF_SPECIALBUILD @@ -20,12 +20,12 @@ BEGIN VALUE "CompanyName", "CVUT FEI & Mathieu Suen\0" VALUE "FileDescription", "Smalltalk/X Bytecode generation library based on Squeak's NewCompiler (LIB)\0" - VALUE "FileVersion", "6.2.0.1\0" + VALUE "FileVersion", "6.2.32767.32767\0" VALUE "InternalName", "ctu:ircompiler\0" VALUE "LegalCopyright", "Copyright Jan Vrany & Mathieu Suen 2008\0" VALUE "ProductName", "NewCompiler\0" - VALUE "ProductVersion", "6.2.3.1\0" - VALUE "ProductDate", "Mon, 29 Oct 2012 10:43:04 GMT\0" + VALUE "ProductVersion", "6.2.4.0\0" + VALUE "ProductDate", "Thu, 30 Oct 2014 22:12:43 GMT\0" END END diff -r f3898a3b378d -r acdc3ec6d152 libInit.cc --- a/libInit.cc Thu Oct 30 21:43:54 2014 +0000 +++ b/libInit.cc Thu Oct 30 22:18:24 2014 +0000 @@ -13,16 +13,16 @@ #if defined(INIT_TEXT_SECTION) || defined(DLL_EXPORT) DLL_EXPORT void _libctu_ircompiler_Init() INIT_TEXT_SECTION; -// DLL_EXPORT void _libctu_ircompiler_InitDefinition() INIT_TEXT_SECTION; +DLL_EXPORT void _libctu_ircompiler_InitDefinition() INIT_TEXT_SECTION; #endif -// void _libctu_ircompiler_InitDefinition(pass, __pRT__, snd) -// OBJ snd; struct __vmData__ *__pRT__; { -// __BEGIN_PACKAGE2__("libctu_ircompiler__DFN", _libctu_ircompiler_InitDefinition, "ctu:ircompiler"); -// _ctu_137ircompiler_Init(pass,__pRT__,snd); +void _libctu_ircompiler_InitDefinition(pass, __pRT__, snd) +OBJ snd; struct __vmData__ *__pRT__; { +__BEGIN_PACKAGE2__("libctu_ircompiler__DFN", _libctu_ircompiler_InitDefinition, "ctu:ircompiler"); +_ctu_137ircompiler_Init(pass,__pRT__,snd); -// __END_PACKAGE__(); -// } +__END_PACKAGE__(); +} void _libctu_ircompiler_Init(pass, __pRT__, snd) OBJ snd; struct __vmData__ *__pRT__; { diff -r f3898a3b378d -r acdc3ec6d152 mingwmake.bat --- a/mingwmake.bat Thu Oct 30 21:43:54 2014 +0000 +++ b/mingwmake.bat Thu Oct 30 22:18:24 2014 +0000 @@ -3,6 +3,14 @@ @REM type mingwmake, and wait... @REM do not edit - automatically generated from ProjectDefinition @REM ------- -make.exe -N -f bc.mak -DUSEMINGW=1 %* +@SET DEFINES= +@REM Kludge got Mercurial, cannot be implemented in Borland make +@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i +@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%" + +@pushd ..\..\stx\rules +@call find_mingw.bat +@popd +make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %* diff -r f3898a3b378d -r acdc3ec6d152 vcmake.bat --- a/vcmake.bat Thu Oct 30 21:43:54 2014 +0000 +++ b/vcmake.bat Thu Oct 30 22:18:24 2014 +0000 @@ -5,8 +5,16 @@ @REM ------- @if not defined VSINSTALLDIR ( - call ..\..\..\..\stx\rules\vcsetup.bat + pushd ..\..\stx\rules + call vcsetup.bat + popd ) -make.exe -N -f bc.mak -DUSEVC %* +@SET DEFINES= +@REM Kludge got Mercurial, cannot be implemented in Borland make +@FOR /F "tokens=*" %%i in ('hg root') do SET HGROOT=%%i +@IF "%HGROOT%" NEQ "" SET DEFINES=%DEFINES% "-DHGROOT=%HGROOT%" +make.exe -N -f bc.mak -DUSEVC=1 %DEFINES% %* + +