allowUnderline etc. are inst-flags
authorClaus Gittinger <cg@exept.de>
Fri, 19 Mar 2004 19:14:26 +0100
changeset 1501 ca87aed7eb82
parent 1500 3c4cb012b24b
child 1502 de3c4e208b9f
allowUnderline etc. are inst-flags
Scanner.st
--- a/Scanner.st	Fri Mar 19 14:26:58 2004 +0100
+++ b/Scanner.st	Fri Mar 19 19:14:26 2004 +0100
@@ -177,9 +177,6 @@
     ($A codePoint) to:($Z codePoint) do:[:index |
         ActionArray at:index put:block
     ].
-    AllowUnderscoreInIdentifier ifTrue:[
-        ActionArray at:$_ codePoint put:block
-    ].
 
     "kludge: action is characterToken, but type is special"
     TypeArray at:($| codePoint) put:#special.
@@ -192,7 +189,8 @@
     ActionArray at:($# codePoint) put:[:s :char | s nextHash].
     ActionArray at:($!! codePoint) put:[:s :char | s nextExcla].
     ActionArray at:($% codePoint) put:[:s :char | s nextPrimitive].
-    ActionArray at:($: codePoint) put:[:s :char | s nextColonOrAssign]
+    ActionArray at:($: codePoint) put:[:s :char | s nextColonOrAssign].
+    ActionArray at:($_ codePoint) put:[:s :char | s nextUnderline].
 
     "
      Scanner setupActions
@@ -385,7 +383,6 @@
         Compiler allowUnderscoreInIdentifiers:false"
 
     AllowUnderscoreInIdentifier := aBoolean.
-    self setupActions
 
     "Modified: 7.9.1997 / 01:35:19 / cg"
 !
@@ -715,17 +712,17 @@
 !Scanner methodsFor:'accessing-flags'!
 
 allowDollarInIdentifier
-    "return the value of the instance variable 'allowDollarInIdentifier' (automatically generated)"
-
     ^ allowDollarInIdentifier
 !
 
 allowOldStyleAssignment
-    "return the value of the instance variable 'allowOldStyleAssignment' (automatically generated)"
-
     ^ allowOldStyleAssignment
 !
 
+allowOldStyleAssignment:aBoolean
+    allowOldStyleAssignment := aBoolean
+!
+
 allowSqueakExtensions
     ^ allowSqueakExtensions
 !
@@ -735,36 +732,30 @@
 !
 
 allowUnderscoreInIdentifier
-    "return the value of the instance variable 'allowUnderscoreInIdentifier' (automatically generated)"
-
     ^ allowUnderscoreInIdentifier
 !
 
+allowUnderscoreInIdentifier:aBoolean
+    allowUnderscoreInIdentifier := aBoolean
+!
+
 scanColonAsKeyword
     ^ scanColonAsKeyword
 !
 
 warnCommonMistakes
-    "return the value of the instance variable 'warnCommonMistakes' (automatically generated)"
-
     ^ warnCommonMistakes
 !
 
 warnOldStyleAssignment
-    "return the value of the instance variable 'warnOldStyleAssignment' (automatically generated)"
-
     ^ warnOldStyleAssignment
 !
 
 warnSTXSpecialComment
-    "return the value of the instance variable 'warnSTXSpecialComment' (automatically generated)"
-
     ^ warnSTXSpecialComment
 !
 
 warnUnderscoreInIdentifier
-    "return the value of the instance variable 'warnUnderscoreInIdentifier' (automatically generated)"
-
     ^ warnUnderscoreInIdentifier
 ! !
 
@@ -2019,7 +2010,7 @@
             source next.
             ch2 := source peekOrNil.
             (ch2 notNil
-            and:[ch2 isLetter or:[ch2 == $_ and:[AllowUnderscoreInIdentifier]]]) ifTrue:[
+            and:[ch2 isLetter or:[ch2 == $_ and:[allowUnderscoreInIdentifier]]]) ifTrue:[
                 peekChar := #'::'.
             ] ifFalse:[
                 peekChar := $.
@@ -2526,6 +2517,16 @@
     "Modified: / 13.5.1998 / 15:10:23 / cg"
 !
 
+nextUnderline
+    "return a character token"
+
+    allowUnderscoreInIdentifier ifTrue:[
+        ^ self nextIdentifier
+    ] ifFalse:[
+        ^ self nextToken:$_
+    ]
+!
+
 skipComment
     "skip over a comment; handles ST/X eol comments."
 
@@ -2691,7 +2692,7 @@
 !Scanner class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/Scanner.st,v 1.186 2004-03-19 08:13:35 ca Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Scanner.st,v 1.187 2004-03-19 18:14:26 cg Exp $'
 ! !
 
 Scanner initialize!