--- a/Scanner.st Tue Aug 22 14:42:34 2006 +0200
+++ b/Scanner.st Tue Aug 22 14:42:47 2006 +0200
@@ -1176,6 +1176,27 @@
errorFlag := false.
!
+invalidCharacter:ch
+ |errMsg v|
+
+ v := ch codePoint.
+ ch isPrintable ifTrue:[
+ errMsg := 'Invalid character: ''' , ch asString , ''' ', '(' , (v radixPrintStringRadix:16) , ').'.
+ ] ifFalse:[
+ errMsg := 'Invalid character: ' , (v radixPrintStringRadix:16) , '.'.
+ ].
+ v > 16r7F ifTrue:[
+ errMsg := errMsg , '\\Notice: only 7-bit ascii allowed (for compatibility).' withCRs.
+ ].
+ self syntaxError:errMsg position:tokenPosition to:tokenPosition.
+ source next.
+ tokenName := token := nil.
+ tokenType := #Error.
+ ^ #Error
+
+ "Modified: / 22-08-2006 / 14:26:21 / cg"
+!
+
lastTokenLineNumber
"return the line number of the token which was just read."
@@ -1205,12 +1226,14 @@
err := Parser::ParseError new.
err errorMessage:aMessage startPosition:position endPosition:endPos.
err parameter:self.
- err lineNumber:lineNr.
+ err lineNumber:tokenLineNr "lineNr".
err raiseRequest.
^ self
].
self showErrorMessage:aMessage position:position.
].
+
+ "Modified: / 22-08-2006 / 14:10:16 / cg"
!
notifyWarning:aMessage doNotShowAgainAction:doNotShowAgainAction position:position to:endPos
@@ -1264,16 +1287,17 @@
parseError:aMessage position:position to:endPos
"report an error"
- |m|
-
+ |m fullMessage|
+
+ "/ fullMessage := (self errorMessagePrefix) , ' ' , (aMessage ? '???').
+ fullMessage := (aMessage ? 'Unspecified error').
self errorFlag:true.
- m := (self errorMessagePrefix) , ' ' , (aMessage ? '???').
- self notifyError:m position:position to:endPos.
+ self notifyError:fullMessage position:position to:endPos.
exitBlock value.
^ false
- "Created: / 13.5.1998 / 16:44:55 / cg"
- "Modified: / 28.9.1998 / 19:29:27 / cg"
+ "Created: / 13-05-1998 / 16:44:55 / cg"
+ "Modified: / 22-08-2006 / 14:13:11 / cg"
!
showErrorMessage:aMessage position:pos
@@ -1303,9 +1327,15 @@
syntaxError:aMessage position:position to:endPos
"a syntax error happened"
- self notifyError:((self errorMessagePrefix) , ' ' , aMessage) position:position to:endPos.
+ |fullMessage|
+
+ "/ fullMessage := self errorMessagePrefix , ' ' , aMessage.
+ fullMessage := aMessage.
+ self notifyError:fullMessage position:position to:endPos.
exitBlock value.
^ false
+
+ "Modified: / 22-08-2006 / 14:05:45 / cg"
!
warnCommonMistake:msg at:position
@@ -1876,25 +1906,6 @@
!Scanner methodsFor:'reading next token'!
-invalidCharacter:ch
- |errMsg v|
-
- v := ch codePoint.
- ch isPrintable ifTrue:[
- errMsg := 'Scanner - invalid character: ''' , ch asString , ''' ', '(' , (v radixPrintStringRadix:16) , ').'.
- ] ifFalse:[
- errMsg := 'Scanner - invalid character: ' , (v radixPrintStringRadix:16) , '.'.
- ].
- v > 16r7F ifTrue:[
- errMsg := errMsg , '\\Notice: only 7-bit ascii allowed (for compatibility).' withCRs.
- ].
- self syntaxError:errMsg position:tokenPosition to:tokenPosition.
- source next.
- tokenName := token := nil.
- tokenType := #Error.
- ^ #Error
-!
-
nextCharacter
"a $ has been read - return a character token"
@@ -2663,6 +2674,7 @@
^ tokenType
"Created: / 01-08-2006 / 14:56:07 / cg"
+ "Modified: / 22-08-2006 / 14:10:26 / cg"
!
nextSymbolAfterHash
@@ -3082,7 +3094,7 @@
!Scanner class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/Scanner.st,v 1.221 2006-08-01 14:34:40 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/Scanner.st,v 1.222 2006-08-22 12:42:47 cg Exp $'
! !
Scanner initialize!