allowUnderline etc. are inst-flags
--- 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!