PPEndOfInputParser.st
changeset 377 6112a403a52d
parent 26 d5b0ca28ee55
child 642 77d5fddb6462
equal deleted inserted replaced
376:a2656b27cace 377:6112a403a52d
    14 	^ self
    14 	^ self
    15 ! !
    15 ! !
    16 
    16 
    17 !PPEndOfInputParser methodsFor:'parsing'!
    17 !PPEndOfInputParser methodsFor:'parsing'!
    18 
    18 
    19 parseOn: aStream
    19 parseOn: aPPContext
    20 	| position result |
    20 	| memento result |
    21 	position := aStream position.
    21 	memento := aPPContext remember.
    22 	result := parser parseOn: aStream.
    22 	result := parser parseOn: aPPContext.
    23 	(result isPetitFailure or: [ aStream atEnd ])
    23 	(result isPetitFailure or: [ aPPContext stream atEnd ])
    24 		ifTrue: [ ^ result ].
    24 		ifTrue: [ ^ result ].
    25 	result := PPFailure
    25 	result := PPFailure
    26 		message: 'end of input expected'
    26 		message: 'end of input expected'
    27 		at: aStream position.
    27 		context: aPPContext.
    28 	aStream position: position.
    28 	aPPContext restore: memento.
    29 	^ result
    29 	^ result
    30 ! !
    30 ! !
    31 
    31 
    32 !PPEndOfInputParser class methodsFor:'documentation'!
    32 !PPEndOfInputParser class methodsFor:'documentation'!
    33 
    33 
    40 !
    40 !
    41 
    41 
    42 version_SVN
    42 version_SVN
    43     ^ '§Id: PPEndOfInputParser.st 2 2010-12-17 18:44:23Z vranyj1 §'
    43     ^ '§Id: PPEndOfInputParser.st 2 2010-12-17 18:44:23Z vranyj1 §'
    44 ! !
    44 ! !
       
    45