Not anymore needed, we have the ANSI method #subStrings.
(Daniele, you don't have to pass it through the converter either). Paolo 2007-05-23 Paolo Bonzini <[hidden email]> * kernel/Class.st: Don't use TokenStream. * kernel/Metaclass.st: Don't use TokenStream. * kernel/TokenStream.st: Move it... * examples/TokenStream.st: ... here. * compiler/STLoaderObjs.st: Don't use TokenStream. * libgst/lib.c: Remove TokenStream.st. Fix pasto. * libgst/dict.c: Remove TokenStream and _gst_token_stream_class. * libgst/dict.h: Remove _gst_token_stream_class. --- orig/compiler/STLoaderObjs.st +++ mod/compiler/STLoaderObjs.st @@ -701,7 +701,7 @@ instVarNames ! instanceVariableNames: ivn - instVars := (TokenStream on: ivn) contents. + instVars := ivn subStrings. ! superclass @@ -990,9 +990,9 @@ superclass: sup name: s instanceVariable shape := sh. environment := loader currentNamespace. class := LoadedMetaclass new for: self. - instVars := (TokenStream on: ivn) contents. - classVars := (TokenStream on: cvn) contents. - sharedPools := (TokenStream on: pd) contents. + instVars := ivn subStrings. + classVars := cvn subStrings. + sharedPools := pd subStrings. superclass addSubclass: self. environment at: name put: self. ! ! --- orig/examples/README +++ mod/examples/README @@ -99,6 +99,8 @@ William Lount which fields are more impo Tokenizer.st An abstract base class for lexical analyzers. by me/sbb +TokenStream.st Formerly a part of the class hierarchy. Now replaced with +by sbb CharacterArray>>#subStrings. The `modules' directory contains some of the simplest packages that one could write for GNU Smalltalk, but nevertheless useful and interesting... currently --- orig/kernel/TokenStream.st +++ mod/examples/TokenStream.st @@ -8,7 +8,7 @@ "====================================================================== | -| Copyright 1988,92,94,95,99,2000,2001 +| Copyright 1988,92,94,95,99,2000,2001,2007 | Free Software Foundation, Inc. | Written by Steve Byrne. | @@ -40,8 +40,7 @@ Stream subclass: #TokenStream ! TokenStream comment: -'I am not a typical part of the Smalltalk kernel class hierarchy. -I operate on a stream of characters and return distinct whitespace-delimited +'I operate on a stream of characters and return distinct whitespace-delimited groups of characters; I am used to parse the parameters of class-creation methods. --- orig/kernel/ClassDesc.st +++ mod/kernel/ClassDesc.st @@ -450,9 +450,8 @@ parseInstanceVariableString: variableStr ! parseVariableString: aString - | stream tokens | - stream := TokenStream on: aString. - tokens := stream contents. + | tokens | + tokens := aString subStrings asArray. tokens do: [ :token | self validateIdentifier: token ]. ^tokens ! ! --- orig/kernel/Metaclass.st +++ mod/kernel/Metaclass.st @@ -445,9 +445,8 @@ initMetaclass: superclass ! parsePools: aString in: aNamespace - | stream tokens | - stream := TokenStream on: aString. - tokens := stream contents. + | tokens | + tokens := aString subStrings asArray. ^tokens collect: [ :poolName | (poolName substrings: $.) inject: aNamespace into: [ :namespace :key | self validateIdentifier: key. --- orig/libgst/dict.c +++ mod/libgst/dict.c @@ -162,7 +162,6 @@ OOP _gst_sym_link_class = NULL; OOP _gst_symbol_class = NULL; OOP _gst_system_dictionary_class = NULL; OOP _gst_time_class = NULL; -OOP _gst_token_stream_class = NULL; OOP _gst_true_class = NULL; OOP _gst_undefined_object_class = NULL; OOP _gst_unicode_character_class = NULL; @@ -589,10 +588,6 @@ static const class_definition class_info ISP_FIXED, false, 0, "Stream", NULL, NULL, NULL }, - {&_gst_token_stream_class, &_gst_stream_class, - ISP_FIXED, false, 1, - "TokenStream", "charStream", NULL, NULL }, - {&_gst_positionable_stream_class, &_gst_stream_class, ISP_FIXED, false, 4, "PositionableStream", "collection ptr endPtr access", NULL, NULL }, --- orig/libgst/lib.c +++ mod/libgst/lib.c @@ -360,7 +360,6 @@ static const char standard_files[] = { "WriteStream.st\0" "RWStream.st\0" "ByteStream.st\0" - "TokenStream.st\0" "UndefObject.st\0" "ProcSched.st\0" "Delay.st\0" @@ -734,7 +733,7 @@ load_standard_files (void) char *fullFileName = find_kernel_file (fileName, "", KERNEL_USER_DIR); if (!fullFileName) { - _gst_errorf ("can't find system file '%s'", fullFileName); + _gst_errorf ("can't find system file '%s'", fileName); _gst_errorf ("image bootstrap failed, use option --kernel-directory"); return 1; } --- orig/packages.xml.in +++ mod/packages.xml.in @@ -624,6 +624,7 @@ <disabled-package> <name>Examples</name> <directory>examples</directory> + <file>TokenStream.st</file> <file>LazyCollection.st</file> <file>Man.st</file> <file>Tetris.st</file> @@ -719,7 +720,6 @@ <file>FileStream.st</file> <file>Security.st</file> <file>OrderColl.st</file> - <file>TokenStream.st</file> <file>CFuncs.st</file> <file>Float.st</file> <file>PkgLoader.st</file> _______________________________________________ help-smalltalk mailing list [hidden email] http://lists.gnu.org/mailman/listinfo/help-smalltalk |
Free forum by Nabble | Edit this page |