PPTrimmingParser.st
changeset 377 6112a403a52d
parent 39 743bee9b3ed1
child 411 06b96374dd10
equal deleted inserted replaced
376:a2656b27cace 377:6112a403a52d
    31 	^ self
    31 	^ self
    32 ! !
    32 ! !
    33 
    33 
    34 !PPTrimmingParser methodsFor:'parsing'!
    34 !PPTrimmingParser methodsFor:'parsing'!
    35 
    35 
    36 parseOn: aStream
    36 parseOn: aPPContext
    37 	| position element |
    37 	| memento element |
    38 	position := aStream position.
    38 	memento := aPPContext remember.
    39 	[ (trimmer parseOn: aStream) isPetitFailure ]
    39 	[ (trimmer parseOn: aPPContext) isPetitFailure ]
    40 		whileFalse.
    40 		whileFalse.
    41 	element := parser parseOn: aStream.
    41 	element := parser parseOn: aPPContext.
    42 	element isPetitFailure ifTrue: [
    42 	element isPetitFailure ifTrue: [
    43 		aStream position: position.
    43 		aPPContext restore: memento.
    44 		^ element ].
    44 		^ element ].
    45 	[ (trimmer parseOn: aStream) isPetitFailure ]
    45 	[ (trimmer parseOn: aPPContext) isPetitFailure ]
    46 		whileFalse.
    46 		whileFalse.
    47 	^ element
    47 	^ element
    48 ! !
    48 ! !
    49 
    49 
    50 !PPTrimmingParser class methodsFor:'documentation'!
    50 !PPTrimmingParser class methodsFor:'documentation'!
    58 !
    58 !
    59 
    59 
    60 version_SVN
    60 version_SVN
    61     ^ '§Id: PPTrimmingParser.st 2 2010-12-17 18:44:23Z vranyj1 §'
    61     ^ '§Id: PPTrimmingParser.st 2 2010-12-17 18:44:23Z vranyj1 §'
    62 ! !
    62 ! !
       
    63