no need to send nextToken when parsing a method
authorClaus Gittinger <cg@exept.de>
Sat, 20 Apr 1996 20:12:08 +0200
changeset 255 13a059f6569d
parent 254 edfcf93d821f
child 256 ae09ebb4aa35
no need to send nextToken when parsing a method
Parser.st
--- a/Parser.st	Sat Apr 20 20:08:54 1996 +0200
+++ b/Parser.st	Sat Apr 20 20:12:08 1996 +0200
@@ -778,16 +778,18 @@
     aString isNil ifTrue:[^ nil].
     parser := self for:(ReadStream on:aString) in:aClass.
     noErrors ifTrue:[
-	parser ignoreErrors
+        parser ignoreErrors
     ].
     noWarnings ifTrue:[
-	parser ignoreWarnings
+        parser ignoreWarnings
     ].
-    parser nextToken.
+"/    parser nextToken.
     (parser parseMethodSpec == #Error) ifTrue:[^ nil].
     (parser parseMethodBodyOrEmpty "parseMethodBodyVarSpec" == #Error) ifTrue:[^ nil].
     parser errorFlag ifTrue:[^ nil].
     ^ parser
+
+    "Modified: 20.4.1996 / 20:09:42 / cg"
 !
 
 parseMethodArgAndVarSpecificationSilent:aString
@@ -877,15 +879,17 @@
     aString isNil ifTrue:[^ nil].
     parser := self for:(ReadStream on:aString) in:aClass.
     noErrors ifTrue:[
-	parser ignoreErrors
+        parser ignoreErrors
     ].
     noWarnings ifTrue:[
-	parser ignoreWarnings
+        parser ignoreWarnings
     ].
-    parser nextToken.
+"/    parser nextToken.
     tree := parser parseMethodSpec.
     (parser errorFlag or:[tree == #Error]) ifTrue:[^ #Error].
     ^ parser
+
+    "Modified: 20.4.1996 / 20:09:48 / cg"
 !
 
 parseMethodSpecificationSilent:aString
@@ -1018,7 +1022,7 @@
     ignoreWarnings ifTrue:[parser ignoreWarnings].
     token := parser nextToken.
     (token == $^) ifTrue:[
-	parser nextToken.
+        parser nextToken.
     ].
     tree := parser expression.
     (parser errorFlag or:[tree == #Error]) ifTrue:[^ #Error].
@@ -2312,13 +2316,15 @@
 
     |parseTree|
 
-    self nextToken.
+"/    self nextToken.
     (self parseMethodSpec == #Error) ifTrue:[^ #Error].
     parseTree := self parseMethodBody.
     (parseTree == #Error) ifFalse:[
-	self tree:parseTree
+        self tree:parseTree
     ].
     ^ parseTree
+
+    "Modified: 20.4.1996 / 20:09:26 / cg"
 !
 
 parseMethodBody
@@ -2450,57 +2456,63 @@
      Return the receiver or #Error.
 
      methodSpec ::= { KEYWORD IDENTIFIER }
-		    | binaryOperator IDENTIFIER
-		    | IDENTIFIER
+                    | binaryOperator IDENTIFIER
+                    | IDENTIFIER
     "
 
     |var|
 
+    tokenType isNil ifTrue:[
+        self nextToken.
+    ].
+
     (tokenType == #Keyword) ifTrue:[
-	selector := ''.
-	[tokenType == #Keyword] whileTrue:[
-	    selector := selector , tokenName.
-	    self nextToken.
-	    (tokenType ~~ #Identifier) ifTrue:[^ #Error].
-	    var := Variable name:tokenName.
-	    methodArgs isNil ifTrue:[
-		methodArgs := Array with:var.
-		methodArgNames := Array with:tokenName
-	    ] ifFalse:[
-		(methodArgNames includes:tokenName) ifTrue:[
-		    self syntaxError:'redefinition of ''' , tokenName , ''' in argument list.'
-			    position:tokenPosition 
-				  to:(tokenPosition + tokenName size - 1)
-		].
-		methodArgs := methodArgs copyWith:var.
-		methodArgNames := methodArgNames copyWith:tokenName
-	    ].
-	    self nextToken
-	].
-	selector := selector asSymbol.
-	^ self
+        selector := ''.
+        [tokenType == #Keyword] whileTrue:[
+            selector := selector , tokenName.
+            self nextToken.
+            (tokenType ~~ #Identifier) ifTrue:[^ #Error].
+            var := Variable name:tokenName.
+            methodArgs isNil ifTrue:[
+                methodArgs := Array with:var.
+                methodArgNames := Array with:tokenName
+            ] ifFalse:[
+                (methodArgNames includes:tokenName) ifTrue:[
+                    self syntaxError:'redefinition of ''' , tokenName , ''' in argument list.'
+                            position:tokenPosition 
+                                  to:(tokenPosition + tokenName size - 1)
+                ].
+                methodArgs := methodArgs copyWith:var.
+                methodArgNames := methodArgNames copyWith:tokenName
+            ].
+            self nextToken
+        ].
+        selector := selector asSymbol.
+        ^ self
     ].
     (tokenType == #Identifier) ifTrue:[
-	selector := tokenName asSymbol.
-	self nextToken.
-	^ self
+        selector := tokenName asSymbol.
+        self nextToken.
+        ^ self
     ].
     (tokenType == #BinaryOperator) ifTrue:[
-	selector := tokenName asSymbol.
-	self nextToken.
-	(tokenType ~~ #Identifier) ifTrue:[^ #Error].
-	var := Variable name:tokenName.
+        selector := tokenName asSymbol.
+        self nextToken.
+        (tokenType ~~ #Identifier) ifTrue:[^ #Error].
+        var := Variable name:tokenName.
 "/      methodArgs isNil ifTrue:[
-	    methodArgs := Array with:var.
-	    methodArgNames := Array with:tokenName.
+            methodArgs := Array with:var.
+            methodArgNames := Array with:tokenName.
 "/      ] ifFalse:[
 "/          methodArgs := methodArgs copyWith:var.
 "/          methodArgNames := methodArgNames copyWith:tokenName
 "/      ].
-	self nextToken.
-	^ self
+        self nextToken.
+        ^ self
     ].
     ^ #Error
+
+    "Modified: 20.4.1996 / 20:05:52 / cg"
 !
 
 parseST80Primitive
@@ -3370,6 +3382,6 @@
 !Parser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.72 1996-03-21 15:16:10 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.73 1996-04-20 18:12:08 cg Exp $'
 ! !
 Parser initialize!