2007-05-24  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/ParseTreeSearcher.st: Sync with development version.
	* compiler/RewriteTests.st: New.

2007-05-22  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/RBParseNodes.st: Add #deepCopy.  Our #copy is as deep
	as it needs to be.

2007-05-14  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STLoader.st: Update for class shapes, add new methods.
	* compiler/STLoaderObjs.st: Update for class shapes, add new methods.

2007-04-16  Stephen Compall  <scompall@nocandysw.com>
	    Paolo Bonzini  <bonzini@gnu.org>

	* compiler/OrderedSet.st: Added (by Stephen Compall).
	* compiler/STSymTable.st: Use it.

2007-04-08  Stephen Compall  <scompall@nocandysw.com>

	* compiler/STSymTable.st: Add superclass environments and shared
	pools to global variable search.

	* compiler/RBParser.st: Reset `tags' instance variable before each
	method parse in a method definition list.

2007-01-31  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: Avoid that #compileAttribute: shadows
	an instance variable with a temporary.

2007-01-10  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/ParseTreeSearcher.st: Port RBSmallDictionary to GNU
	Smalltalk.  #copy and causing the dictionary to grow failed.
	Reported by Stephen Compall.

2007-01-02  Paolo Bonzini  <bonzini@gnu.org>
	    Stephen Compall  <s11@member.fsf.org>

	* compiler/RBParseNodes.st: Fix for stream-based compilation, where
	a method's start offset is >1.
	* compiler/RBParser.st: Add #currentToken accessor, and
	the #parseBinaryMessageNoGreater hack.
	* compiler/STCompiler.st: Compile method attributes.

2007-01-02  Stephen Compall  <s11@member.fsf.org>

	* compiler/STSymTable.st: Warn for shadowing variable, fix
	"duplicate variable name" warning and turn it into an error.

2006-12-31  Paolo Bonzini  <bonzini@gnu.org>
	    Stephen Compall  <s11@member.fsf.org>

	* compiler/STSymTable.st: Handle undeclared variables without a
	path.  Fix order of instance variables.
	* compiler/STCompiler.st: Fix off-by-one error in compiling
	RBArrayConstructorNodes.
	* compiler/ParseTreeSearcher.st: Rename acceptArrayNode: to
	acceptArrayConstructorNode:.
	* compiler/RBFormatter.st: Likewise.
	* compiler/RBParseNodes.st: Likewise.

2006-12-31  Paolo Bonzini  <bonzini@gnu.org>

        * compiler/STCompLit.st: Don't use "nil" slots from VMSpecialMethods.
        * compiler/STCompiler.st: Remove dupReceiver.  Adjust for above change.
        Compile receiver in compileTimesRepeat: and compileLoop:, test for
        receiver being a block in compileWhileLoop:.  Extract part of
        acceptMessageNode: to compileMessage:.  Compile receiver in
        acceptCascadeNode: and call compileMessage: to avoid compiling the
        receiver of a cascaded message repeatedly (reported by Stephen Compall).

2006-12-13  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 2.3.1 released.

2006-12-05  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 2.3 released.

2006-12-05  Paolo Bonzini  <bonzini@gnu.org>

        * compiler/STCompiler.st: Pass current environment in evaluate:parser:,
        add #compile:asMethodOf:classified:parser:environment: and don't inline
        its functionality elsewhere.
        * compiler/STParser.st: Parse leading _ as assignment.
        * compiler/StartCompiler.st: Pass current environment when compiling
        doits.

2006-09-15  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: Rethink previous change.

2006-09-13  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: Adapt for new super send.
	* compiler/StartCompiler.st: Support streams in #compile:
	* compiler/STDecompiler: Don't use dead method nextByteCodeIndex:,
	add new hook #lineNo:with:, rewrite #merge:, support #timesRepeat:
	decompilation, fix case where return bytecodes leave the previous
	sdtatement on the stack.  Last but not least, adapt for new
	super send. 

2006-07-20  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/StartCompiler.st: define #fileIn in Stream.

2006-07-17  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/RBParser.st: support $<123> syntax.

2006-07-10  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STLoaderObjs.st: new class OverlayDictionary
	allows to add extensions and redefinitions to base classes.

2003-09-24  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: adapt to new bytecode set.
	Fix bugs and refactor the code along the way.

2003-09-13  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STDecompiler.st: remove unused callbacks for
	disassembling bytecodes.

2003-06-22  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STSymTable.st: use STVariables to store instance
	variables.
	* compiler/STCompiler.st: check whether storing is allowed
	for every variable.

2003-06-05  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: compile blocks by pushing
	the CompiledBlock directly.

2003-05-09  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 2.1.2 released.

2003-04-17  Paolo Bonzini  <bonzini@gnu.org>

        *** Version 2.1.1 (stable) released.

2003-04-12  Paolo Bonzini  <bonzini@gnu.org>

        *** Version 2.1 (stable) released.

2003-01-04  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/RBParser.st: provide default implementation
	for #evaluate:

2002-11-15  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: compile RBOptimizedNodes

2002-10-08  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STLoaderObjs.st: adapt to recent changes
	in the layout of Namespace.

2002-09-21  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STDecompiler.st: new file

2002-09-13  Paolo Bonzini  <bonzini@gnu.org>

        *** Versions 2.0c (development) and 2.0.6 (stable) released

	* compiler/STSymTable.st: added namespace syntax support.
	* compiler/STCompiler.st: pass `self' along to the
	symbol table.
	* compiler/test.st: test namespace syntax

2002-09-13  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/RBParser.st: added namespace syntax support.
	* compiler/STLoader.st: support namespace syntax.

2002-09-06  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/RBTests.st: new file

2002-08-19  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STLoader.st: separate into a superclass,
	STInterpreter, and a subclass (the old STClassLoader)

2002-08-14  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 2.0.5 (stable) released

2002-08-12  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 2.0b (development) released

2002-08-07  Paolo Bonzini  <bonzini@gnu.org>

	*** Versions 2.0a (development) and 2.0.4 (stable) released

2002-07-17  Paolo Bonzini  <bonzini@gnu.org>

        *** Version 2.0.3 released

2002-07-15  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: rewritten as a RBProgramNodeVisitor
	* compiler/STLoader.st: modified to use RBProgramNodes
	* compiler/RBFormatter.st: added hacks to print #{...}
	* compiler/RBToken.st: added hacks to resolve #{...} at
	compile-time
	* compiler/RBParseNodes.st: added hacks to resolve #{...} at
	compile-time

2002-07-14  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/RBParser.st: ported
	* compiler/RBParseNodes.st: ported
	* compiler/RBFormatter.st: ported
	* compiler/ParseTreeSearcher.st: ported
	* compiler/RBToken.st: ported
	* compiler/STParser.st: part deleted, part moved to StartCompiler.st
	* compiler/STParseNodes.st: deleted
	* compiler/STTok.st: deleted
	* compiler/STToken.st: deleted
	* compiler/STFormatter.st: deleted
	* compiler/STVisitor.st: deleted

2002-07-11  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 2.0.2 released
	
2002-07-03  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STTok.st: parse scaled decimal literals correctly.

2002-06-28  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 2.0.1 released
	
2002-06-25  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 2.0 released
	
2002-05-11  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 1.96.6 released
	
2002-04-14  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 1.96.5 released
	
2002-03-12  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 1.96.4 released
	
2002-01-29  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 1.96.3 released.

2002-01-04  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 1.96.2 released
	
2002-01-02  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/Load.st: put everything in the STInST namespace
	* compiler/StartCompiler.st: use the STInST namespace

2001-12-11  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STLoaderObjs.st: implement #= and #hash for ProxyClass
	and ProxyNamespace.
        * compiler/STParser.st: compile correctly { a. b. } (with
	a dot before the closed brace).

2001-12-01  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STParser.st: compute FileSegments correctly
	(include the first token in the selector and don't include
	the bang)

2001-11-29  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STParser.st: parse arrays according to the ANSI
	standard.
	* compiler/STLoader.st: new file
	* compiler/STLoaderObjs.st: new file

2001-11-20  Paolo Bonzini  <bonzini@gnu.org>

	*** Version 1.96.1 released

        * compiler/test.st: moved from unsupported/misc/Compiler.st

2001-11-13  Paolo Bonzini  <bonzini@gnu.org>

        * compiler/STFormatter.st: prefixed # to symbols in arrays
        * compiler/STTok.st: prefixed # to symbols in arrays
        * compiler/STToken.st: prefixed # to symbols in arrays

2001-02-23  Paolo Bonzini  <bonzini@gnu.org>

	*** Released version 1.95.3

2001-02-19  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STParser.st: use the ability of #perform: &
	friends to receive a CompiledMethod as their first parameter.
	* compiler/STCompiler.st: added #compiled:asMethodOf:classified:parser:
	which does not install the new CompiledMethod in the Behavior
	specified in the second parameter.

	* compiler/STCompiler.st: fixed a few compilation bugs
	(cascades, #whileTrue:, outer temporaries).
	* compiler/STCompLit.st: StoreVariable and PopStoreVariable
	were inverted.

	* compiler/StartCompiler.st: support pluggable parser &
	compiler classes
	* compiler/STParser.st: support pluggable parser &
	compiler classes

2001-01-31   Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: compile STBindingNodes.
	* compiler/STParseNodes.st: defined STBindingNode.
	* compiler/STParser.st: generate STBindingNode.
	* compiler/STVisitor.st: defined #variableBinding: visiting method.
	* compiler/STFormatter.st: defined #variableBinding: visiting method.
	
2001-01-30   Paolo Bonzini  <bonzini@gnu.org>

	*** Released version 1.95.1
	
2000-11-01  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STToken.st: added STOpenBraceTok and STCloseBraceTok.
	* compiler/STTok.st: recognize STOpenBraceTok and STCloseBraceTok.
	* compiler/STParser.st: generate STArrayNodes.
	* compiler/STParseNodes.st: defined STArrayNode.
	* compiler/STCompiler.st: compile STArrayNodes.
	* compiler/STVisitor.st: defined #braceArray: visiting method.
	* compiler/STFormatter.st: defined #braceArray: visiting method.

2000-08-08  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STParseNodes.st: refactored STBlockNode and STMethodBodyNode
	to have a common superclass, STCompoundNode.
	Implemented STCompundNode.
	* compiler/STCompiler.st: modified compilation of conditionals to
	please the JIT compiler (see libgst/ChangeLog).

2000-07-02  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STTok.st: parse scaled decimal correctly

2000-06-17  Paolo Bonzini  <bonzini@gnu.org>

	*** Released versions 1.95 (development) and 1.7.5 (stable)

2000-04-12  Paolo Bonzini (bonzini@gnu.org)

	* compiler/STVisitor.st: added support for comments

2000-04-10  Paolo Bonzini (bonzini@gnu.org)

	* compiler/STFormatter.st: created
	* compiler/STVisitor.st: added STVisitingParser

1999-12-31  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STFileInParser.st: split between STParser.st and
	StartCompiler.st (so that the class itself is loaded together with
	the Parser package, even though it is not activated).
	* compiler/STSymTable.st: use an IdentitySet for storing pool
	dictionaries.

1999-12-27  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: new way of compiling blocks.

1999-12-21  Paolo Bonzini  <bonzini@gnu@org>

	* compiler/STParser.st: added STPluggableParser, derivated from
	the syntax highlighter.

1999-12-05  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STTok.st: parse stuff like 1.0d53 and 1.0q212 correctly
	even though FloatD/FloatE/FloatQ is not supported yet.

1999-11-11  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: added another delegation method for warnings.
	* compiler/STParser.st: added warnings (nothing is done with them yet,
	but the methods are there).
	* compiler/STSymTable.st: duplicate var names produce a warning.

1999-10-30  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STParser.st: save the last STParseNode that was generated
	* compiler/STParseNode.st: added the `comments' variable

1999-10-22  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STSymTable.st: fixed bug with undeclared variables (error
	when the undeclared variable's name had not been interned as a symbol)
	* compiler/STVisitor.st: created
	* compiler/Load.st: load STVisitor.st

1999-10-13  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STParser.st: added ability to read comment tokens and
	removed methods that test for particular kinds of tokens
	(#isBinaryOperator: and #isSymbolId:)
	* compiler/STTok.st: now passes comment tokens to STParser
	* compiler/STToken.st: reworked token hierarchy to add polymorphic
	methods that replace STParser's old #isBinaryOperator: and
	#isSymbolId:. Hope to get not only elegance, but also a bit of
	speed.

1999-10-11  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STSymTable.st: added code to handle `Undeclared'.
	* compiler/STFileInParser.st: tell STSymbolTable to recognize
	`Undeclared' inside file-ins.

1999-09-11  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STSymTable.st: implementation of namespaces

1999-09-02  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STParser.st: added support for [ :a :b || temp1 temp2 | ].

1999-05-13  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompLit.st: First changes to support loop optimization
	* compiler/STCompiler.st: First changes to support loop optimization
	* compiler/STParseNodes.st: First changes to support loop optimization

1999-04-22  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: modified to support recent changes in the
	bytecode set.
	* compiler/STCompLit.st: same as above.

1999-03-03  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: added stack depth tracing.

1999-02-16  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompLit.st: added support for > 64 literals
	(BigLiteral)
	* compiler/STCompiler.st: added support for > 64 literals
	(compileBigLiteral:)

1999-02-14  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STParser.st: Selectors stay Strings. The compiler
	turns them to Symbols.

1999-02-13  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STSymTable.st: changed to use new #isSymbolString:
	method for Symbol

1999-02-09  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STParser.st: Removed usage of Tokenizer's recording
	capability, since Tokenizer no more has that capability...

1999-02-03  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/Load.st: created.
	* compiler/STParser.st: Fixed bug in parsing binary message
	declarations.
	* compiler/STCompiler.st: fixed #compileString: to work with
	metaclasses.

1999-02-01  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STFileInParser.st: created.

1999-01-26  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STVariable.st: created to detect storing in an argument
	* compiler/STCompiler.st: in sync with the C compiler, storing into
	an argument is now detected as an error.  Thanks to Andreas Klimas
	for signaling this to me!!

1998-11-24  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STSymTable.st: perfected treating of class pools (now
	they're exactly the same as a shared pool dictionary)

1998-11-23  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: added STDoitCompiler

1998-11-06  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STToken.st: Added code that supports new methods to
	find out the class of a token.
	* compiler/STParser.st: Switched most uses to isMemberOf: to
	special and faster methods.  Split into STParser and STFileInParser
	to support other cases when parsing is necessary

1998-10-01  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STParser.st: Added byte array constants
	* compiler/STTok.st: Fixed number parsing, changed parseError: to
	error:

1998-09-08  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STParser.st: Fixed bugs which jumped out while testing the
	compiler (e.g. parseArrayLit returned OrderedCollections)
	* compiler/STTok.st: Now subclass of Tokenizer; renamed to STTok

1998-09-05  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STCompiler.st: moved compilation policy to subclasses
	of STParseNode.  Now compile (which is called compile:) returns a
	CompiledMethod.  Added STFakeCompiler.
	* compiler/STCompLit.st: merged VMStorageLocations and VMSpecialIndices
	into VMOtherConstants, added VMSpecialMethods
	* compiler/STParseNodes.st: switched to a single node (STConstNode)
	for constants, cleaned up unused classes, renamed Selector to
	SelectorNode.  Added support for storing source code.

1998-09-03  Paolo Bonzini  <bonzini@gnu.org>

	* compiler/STParser.st: Switched to a single node for constants
	(STConstNode), two separate nodes for identifiers (STIdentifierNode
	and STSpecialIdentifierNode), changed pools quite a bit, prefixed
	ST to everything.
	* compiler/STSymTable.st: modified heavily to support new code in
	STCompiler

1995-09-04  Steve Byrne  <sbb@gnu.org>

	* compiler/STParseNodes.st: Switched to being externally accessible
	instead of supporting internal access only.

1995-09-03  Steve Byrne  <sbb@gnu.org>

	* compiler/STCompLit.st: created.
	* compiler/STCompiler.st: created.
	* compiler/STSymTable.st: created.
