The idea that is that I would like to be able to text -> tokens -> text For text -> tokens (RBScanner on: 'self classVariables: { #A . #B }' readStream) contents collect: #value I wrote a little method that takes the result of the RBScanner and recreate the text But I cannot get this method to work. Iâm puzzled because the symbols are eaten. expressionStringFrom: aLine "self new expressionStringFrom: #('self' 'classVariables:' ${ #A $. #B $}) >>> 'self classVariables: { A . B }' " ^ String streamContents: [ :s | aLine do: [ :each | s << each ] separatedBy: [ s space ]] I tried with print:, printOn:, but I failed. Any idea? S. -------------------------------------------- Stéphane Ducasse http://stephane.ducasse.free.fr / http://www.pharo.org 03 59 35 87 52 Assistant: Julie Jonas FAX 03 59 57 78 50 TEL 03 59 35 86 16 S. Ducasse - Inria 40, avenue Halley, Parc Scientifique de la Haute Borne, Bât.A, Park Plaza Villeneuve d'Ascq 59650 France