--- a/Parser.st Mon Jul 19 13:56:25 2004 +0200
+++ b/Parser.st Mon Jul 19 13:57:41 2004 +0200
@@ -5476,6 +5476,27 @@
^ self primary_simpleLiteral.
].
+ ((tokenType == #BinaryOperator) and:[token = '-']) ifTrue:[
+ allowSqueakExtensions == true ifFalse:[
+ self parseError:'non-Standard Squeak extension: space between sign and number. Enable in settings.' position:pos to:tokenPosition.
+ errorFlag := false.
+ ].
+ self nextToken.
+ ((tokenType == #Integer)
+ or:[(tokenType == #Float)]) ifFalse:[
+ self parseError:'number expected after sign.' position:pos to:tokenPosition.
+ ^ self.
+ ].
+
+ node := self primary_simpleLiteral.
+ node isConstant ifFalse:[
+ self parseError:'number expected after sign.' position:pos to:tokenPosition.
+ ^ self.
+ ].
+ node value:(node value negated).
+ ^ node
+ ].
+
(tokenType == #Error) ifTrue:[^ #Error].
tokenType isCharacter ifTrue:[
self syntaxError:('error in primary; '
@@ -7621,7 +7642,7 @@
!Parser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.434 2004-07-14 20:33:14 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.435 2004-07-19 11:57:41 cg Exp $'
! !
Parser initialize!