--- a/Cface__CDefinitionScanner.st Thu Jul 03 22:00:07 2008 +0000
+++ b/Cface__CDefinitionScanner.st Fri Jul 04 08:35:55 2008 +0000
@@ -31,71 +31,71 @@
<file> : [\w-_/] [\w-_/.]* ;
"
- "Modified: / 17-02-2008 / 18:45:28 / janfrog"
+ "Modified: / 04-07-2008 / 09:23:46 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionScanner class methodsFor:'generated-initialization'!
initializeKeywordMap
keywordMap := Dictionary new.
- #( #(27 'argument' 5)
- #(27 'array' 26)
- #(27 'char' 14)
- #(27 'const' 25)
- #(27 'double' 20)
- #(27 'enum' 17)
- #(27 'field' 16)
- #(27 'float' 22)
- #(27 'function' 11)
- #(27 'int' 13)
- #(27 'long' 3)
- #(27 'return' 6)
- #(27 'short' 4)
- #(27 'struct' 21)
- #(27 'typedef' 7)
- #(27 'union' 15)
- #(27 'unsigned' 2)
- #(27 'value' 18)
- #(27 'void' 24)
- #(30 'argument' 5)
- #(30 'array' 26)
- #(30 'char' 14)
- #(30 'const' 25)
- #(30 'double' 20)
+ #( #(30 'argument' 14)
+ #(30 'array' 25)
+ #(30 'char' 5)
+ #(30 'const' 26)
+ #(30 'double' 12)
#(30 'enum' 17)
#(30 'field' 16)
- #(30 'float' 22)
- #(30 'function' 11)
- #(30 'int' 13)
- #(30 'long' 3)
+ #(30 'float' 23)
+ #(30 'function' 15)
+ #(30 'int' 7)
+ #(30 'long' 2)
#(30 'return' 6)
- #(30 'short' 4)
- #(30 'struct' 21)
- #(30 'typedef' 7)
- #(30 'union' 15)
- #(30 'unsigned' 2)
- #(30 'value' 18)
- #(30 'void' 24) )
+ #(30 'short' 3)
+ #(30 'struct' 28)
+ #(30 'typedef' 20)
+ #(30 'union' 21)
+ #(30 'unsigned' 1)
+ #(30 'value' 22)
+ #(30 'void' 24)
+ #(33 'argument' 14)
+ #(33 'array' 25)
+ #(33 'char' 5)
+ #(33 'const' 26)
+ #(33 'double' 12)
+ #(33 'enum' 17)
+ #(33 'field' 16)
+ #(33 'float' 23)
+ #(33 'function' 15)
+ #(33 'int' 7)
+ #(33 'long' 2)
+ #(33 'return' 6)
+ #(33 'short' 3)
+ #(33 'struct' 28)
+ #(33 'typedef' 20)
+ #(33 'union' 21)
+ #(33 'unsigned' 1)
+ #(33 'value' 22)
+ #(33 'void' 24) )
do:[:each |
(keywordMap at:each first ifAbsentPut:[ Dictionary new ]) at:(each at:2)
put:each last
].
^ keywordMap
- "Modified: / 17-02-2008 / 18:45:28 / janfrog"
+ "Modified: / 04-07-2008 / 09:23:44 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionScanner methodsFor:'generated-scanner'!
scan1
[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ])
] whileTrue.
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -104,16 +104,16 @@
].
^ self reportLastMatch
- "Modified: / 17-02-2008 / 18:45:28 / janfrog"
+ "Modified: / 04-07-2008 / 09:23:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
scan2
[
- self recordMatch:#( 28 30 ).
+ self recordMatch:#( 31 33 ).
self step.
(currentCharacter isLetter) ifTrue:[
[
- self recordMatch:#( 28 30 ).
+ self recordMatch:#( 31 33 ).
self step.
(currentCharacter isLetter)
] whileTrue.
@@ -121,7 +121,7 @@
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -134,7 +134,7 @@
] whileTrue.
((currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ]) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -143,7 +143,7 @@
].
^ self reportLastMatch
- "Modified: / 17-02-2008 / 18:45:28 / janfrog"
+ "Modified: / 04-07-2008 / 09:23:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
scan3
@@ -844,10 +844,13 @@
or:[
currentCharacter == $_
or:[
- (currentCharacter between:$a and:$e)
+ (currentCharacter between:$a and:$d)
or:[
(currentCharacter between:$g and:$o)
- or:[ (currentCharacter between:$q and:$z) ]
+ or:[
+ (currentCharacter between:$q and:$r)
+ or:[ (currentCharacter between:$v and:$z) ]
+ ]
]
]
])
@@ -885,7 +888,7 @@
(currentCharacter == $e) ifTrue:[
self step.
(currentCharacter == $d) ifTrue:[
- ^ self recordAndReportMatch:#( 8 ).
+ ^ self recordAndReportMatch:#( 9 ).
].
^ self reportLastMatch
].
@@ -906,28 +909,19 @@
^ self reportLastMatch
].
(currentCharacter == $() ifTrue:[
- ^ self recordAndReportMatch:#( 10 ).
+ ^ self recordAndReportMatch:#( 11 ).
].
(currentCharacter == $)) ifTrue:[
- ^ self recordAndReportMatch:#( 12 ).
+ ^ self recordAndReportMatch:#( 13 ).
].
(currentCharacter == $-) ifTrue:[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
- ((currentCharacter between:$- and:$/)
- or:[
- (currentCharacter between:$A and:$Z)
- or:[
- currentCharacter == $_
- or:[
- (currentCharacter between:$a and:$e)
- or:[ (currentCharacter between:$g and:$z) ]
- ]
- ]
- ])
+ (currentCharacter isLetter
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -937,132 +931,155 @@
(currentCharacter isXMLDigit) ifTrue:[
^ self scan2
].
- (currentCharacter == $f) ifTrue:[
- self recordMatch:#( 30 ).
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $e) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ ((currentCharacter between:$0 and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$m)
+ or:[ (currentCharacter between:$o and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $n) ifTrue:[
+ self recordMatch:#( 30 33 ).
self step.
(currentCharacter isXMLDigit
or:[
- (currentCharacter between:$- and:$/)
+ (currentCharacter between:$A and:$Z)
or:[
- (currentCharacter between:$A and:$Z)
+ currentCharacter == $_
or:[
- currentCharacter == $_
- or:[
- (currentCharacter between:$a and:$n)
- or:[ (currentCharacter between:$p and:$z) ]
- ]
+ (currentCharacter between:$a and:$t)
+ or:[ (currentCharacter between:$v and:$z) ]
]
]
])
- ifTrue:[
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $u) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ ((currentCharacter between:$0 and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$l)
+ or:[ (currentCharacter between:$n and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $m) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
+ ^ self scan1
+ ].
+ (currentCharacter between:$. and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
- (currentCharacter == $o) ifTrue:[
- self recordMatch:#( 30 ).
- self step.
- ((currentCharacter between:$- and:$9)
- or:[
- (currentCharacter between:$A and:$Z)
+ (currentCharacter == $-) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
or:[
- currentCharacter == $_
+ (currentCharacter between:$A and:$Z)
or:[
- (currentCharacter between:$a and:$q)
- or:[ (currentCharacter between:$s and:$z) ]
- ]
- ]
- ])
- ifTrue:[
- [
- self recordMatch:#( 30 ).
- self step.
- (currentCharacter isLetterOrDigit
- or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
- ] whileTrue.
- ^ self reportLastMatch
- ].
- (currentCharacter == $r) ifTrue:[
- self recordMatch:#( 30 ).
- self step.
- (currentCharacter isXMLDigit
- or:[
- (currentCharacter between:$- and:$/)
- or:[
- (currentCharacter between:$A and:$Z)
- or:[
- currentCharacter == $_
- or:[
- (currentCharacter between:$a and:$d)
- or:[ (currentCharacter between:$f and:$z) ]
- ]
- ]
- ]
- ])
- ifTrue:[
- [
- self recordMatch:#( 30 ).
- self step.
- (currentCharacter isLetterOrDigit
- or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
- ] whileTrue.
- ^ self reportLastMatch
- ].
- (currentCharacter == $e) ifTrue:[
- self recordMatch:#( 30 ).
- self step.
- (currentCharacter isXMLDigit
- or:[
- (currentCharacter between:$- and:$/)
- or:[
- (currentCharacter between:$A and:$Z)
+ currentCharacter == $_
or:[
- currentCharacter == $_
- or:[
- (currentCharacter between:$a and:$h)
- or:[ (currentCharacter between:$j and:$z) ]
- ]
+ (currentCharacter between:$a and:$e)
+ or:[ (currentCharacter between:$g and:$z) ]
]
]
])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
- (currentCharacter == $i) ifTrue:[
- self recordMatch:#( 30 ).
+ (currentCharacter == $f) ifTrue:[
+ self recordMatch:#( 33 ).
self step.
- ((currentCharacter between:$- and:$9)
+ (currentCharacter isXMLDigit
or:[
- (currentCharacter between:$A and:$Z)
+ (currentCharacter between:$- and:$/)
or:[
- currentCharacter == $_
+ (currentCharacter between:$A and:$Z)
or:[
- (currentCharacter between:$a and:$f)
- or:[ (currentCharacter between:$h and:$z) ]
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$n)
+ or:[ (currentCharacter between:$p and:$z) ]
+ ]
]
]
])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
- (currentCharacter == $g) ifTrue:[
- self recordMatch:#( 30 ).
+ (currentCharacter == $o) ifTrue:[
+ self recordMatch:#( 33 ).
self step.
((currentCharacter between:$- and:$9)
or:[
@@ -1070,34 +1087,140 @@
or:[
currentCharacter == $_
or:[
- (currentCharacter between:$a and:$m)
- or:[ (currentCharacter between:$o and:$z) ]
+ (currentCharacter between:$a and:$q)
+ or:[ (currentCharacter between:$s and:$z) ]
]
]
])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
- (currentCharacter == $n) ifTrue:[
- self recordMatch:#( 19 30 ).
+ (currentCharacter == $r) ifTrue:[
+ self recordMatch:#( 33 ).
self step.
- (currentCharacter isLetterOrDigit
- or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$- and:$/)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$d)
+ or:[ (currentCharacter between:$f and:$z) ]
+ ]
+ ]
+ ]
+ ])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
+ (currentCharacter == $e) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$- and:$/)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$h)
+ or:[ (currentCharacter between:$j and:$z) ]
+ ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $i) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$f)
+ or:[ (currentCharacter between:$h and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $g) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$m)
+ or:[ (currentCharacter between:$o and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $n) ifTrue:[
+ self recordMatch:#( 18 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
^ self reportLastMatch
].
^ self reportLastMatch
@@ -1114,17 +1237,8 @@
].
^ self reportLastMatch
].
- (currentCharacter == $/) ifTrue:[
- [
- self recordMatch:#( 30 ).
- self step.
- (currentCharacter isLetterOrDigit
- or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
- ] whileTrue.
- ^ self reportLastMatch
- ].
(currentCharacter == $f) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
(currentCharacter isXMLDigit
or:[
@@ -1143,7 +1257,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1151,7 +1265,7 @@
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
(currentCharacter isXMLDigit
or:[
@@ -1167,7 +1281,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1175,7 +1289,7 @@
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
@@ -1191,7 +1305,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1199,14 +1313,14 @@
^ self reportLastMatch
].
(currentCharacter == $m) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
^ self scan1
].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1214,7 +1328,7 @@
^ self reportLastMatch
].
(currentCharacter == $:) ifTrue:[
- ^ self recordAndReportMatch:#( 9 ).
+ ^ self recordAndReportMatch:#( 10 ).
].
^ self reportLastMatch
].
@@ -1223,7 +1337,7 @@
^ self reportLastMatch
].
(currentCharacter == $u) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
@@ -1239,7 +1353,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1247,7 +1361,7 @@
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
@@ -1263,7 +1377,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1271,7 +1385,7 @@
^ self reportLastMatch
].
(currentCharacter == $c) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
@@ -1287,7 +1401,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1295,7 +1409,7 @@
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
(currentCharacter isXMLDigit
or:[
@@ -1311,7 +1425,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1319,7 +1433,7 @@
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
(currentCharacter isXMLDigit
or:[
@@ -1335,7 +1449,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1343,7 +1457,7 @@
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
@@ -1359,7 +1473,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1367,14 +1481,14 @@
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
^ self scan1
].
(currentCharacter between:$. and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1382,7 +1496,7 @@
^ self reportLastMatch
].
(currentCharacter == $-) ifTrue:[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
((currentCharacter between:$- and:$9)
or:[
@@ -1397,7 +1511,7 @@
])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1405,7 +1519,7 @@
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
((currentCharacter between:$- and:$9)
or:[
@@ -1417,7 +1531,7 @@
])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1425,7 +1539,7 @@
^ self reportLastMatch
].
(currentCharacter == $y) ifTrue:[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
((currentCharacter between:$- and:$9)
or:[
@@ -1440,7 +1554,7 @@
])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1448,7 +1562,7 @@
^ self reportLastMatch
].
(currentCharacter == $p) ifTrue:[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isXMLDigit
or:[
@@ -1466,7 +1580,7 @@
])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1474,13 +1588,13 @@
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
- self recordMatch:#( 1 30 ).
+ self recordMatch:#( 4 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1514,7 +1628,7 @@
^ self reportLastMatch
].
(currentCharacter == $p) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
(currentCharacter isXMLDigit
or:[
@@ -1530,7 +1644,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1538,7 +1652,7 @@
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
(currentCharacter isXMLDigit
or:[
@@ -1554,7 +1668,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1562,7 +1676,7 @@
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
@@ -1578,7 +1692,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1586,7 +1700,7 @@
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
@@ -1602,7 +1716,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1610,7 +1724,7 @@
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
(currentCharacter isXMLDigit
or:[
@@ -1626,7 +1740,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1634,7 +1748,7 @@
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
@@ -1650,7 +1764,7 @@
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1658,14 +1772,14 @@
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
- self recordMatch:#( 27 30 ).
+ self recordMatch:#( 30 33 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
^ self scan1
].
(currentCharacter between:$. and:$/) ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1673,7 +1787,7 @@
^ self reportLastMatch
].
(currentCharacter == $-) ifTrue:[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
((currentCharacter between:$- and:$9)
or:[
@@ -1688,7 +1802,7 @@
])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1696,7 +1810,7 @@
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isXMLDigit
or:[
@@ -1714,7 +1828,7 @@
])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1722,13 +1836,13 @@
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
- self recordMatch:#( 23 30 ).
+ self recordMatch:#( 29 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
- self recordMatch:#( 30 ).
+ self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
@@ -1755,23 +1869,1061 @@
].
^ self reportLastMatch
].
+ (currentCharacter == $s) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ ((currentCharacter between:$0 and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$s)
+ or:[ (currentCharacter between:$u and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $t) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ ((currentCharacter between:$0 and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$q)
+ or:[ (currentCharacter between:$s and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $r) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$t)
+ or:[ (currentCharacter between:$v and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $u) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ ((currentCharacter between:$0 and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$b)
+ or:[ (currentCharacter between:$d and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $c) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ ((currentCharacter between:$0 and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$s)
+ or:[ (currentCharacter between:$u and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $t) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
+ ^ self scan1
+ ].
+ (currentCharacter between:$. and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $-) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$e)
+ or:[ (currentCharacter between:$g and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $f) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$- and:$/)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$n)
+ or:[ (currentCharacter between:$p and:$z) ]
+ ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $o) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$q)
+ or:[ (currentCharacter between:$s and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $r) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$- and:$/)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$d)
+ or:[ (currentCharacter between:$f and:$z) ]
+ ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $e) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$- and:$/)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$h)
+ or:[ (currentCharacter between:$j and:$z) ]
+ ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $i) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$f)
+ or:[ (currentCharacter between:$h and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $g) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$m)
+ or:[ (currentCharacter between:$o and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $n) ifTrue:[
+ self recordMatch:#( 27 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $t) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ ((currentCharacter between:$0 and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[ (currentCharacter between:$a and:$x) or:[ currentCharacter == $z ] ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $y) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ ((currentCharacter between:$0 and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$o)
+ or:[ (currentCharacter between:$q and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $p) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$d)
+ or:[ (currentCharacter between:$f and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $e) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ ((currentCharacter between:$0 and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$c)
+ or:[ (currentCharacter between:$e and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $d) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$d)
+ or:[ (currentCharacter between:$f and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $e) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ ((currentCharacter between:$0 and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$e)
+ or:[ (currentCharacter between:$g and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $f) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
+ ^ self scan1
+ ].
+ (currentCharacter between:$. and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $-) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$e)
+ or:[ (currentCharacter between:$g and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $f) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$- and:$/)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$n)
+ or:[ (currentCharacter between:$p and:$z) ]
+ ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $o) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$q)
+ or:[ (currentCharacter between:$s and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $r) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$- and:$/)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$d)
+ or:[ (currentCharacter between:$f and:$z) ]
+ ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $e) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$- and:$/)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$h)
+ or:[ (currentCharacter between:$j and:$z) ]
+ ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $i) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$f)
+ or:[ (currentCharacter between:$h and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $g) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$m)
+ or:[ (currentCharacter between:$o and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $n) ifTrue:[
+ self recordMatch:#( 8 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $u) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ ((currentCharacter between:$0 and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$m)
+ or:[ (currentCharacter between:$o and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $n) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$h)
+ or:[ (currentCharacter between:$j and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $i) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$n)
+ or:[ (currentCharacter between:$p and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $o) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ ((currentCharacter between:$0 and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$m)
+ or:[ (currentCharacter between:$o and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[ ^ self scan1 ].
+ (currentCharacter between:$- and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $n) ifTrue:[
+ self recordMatch:#( 30 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
+ ^ self scan1
+ ].
+ (currentCharacter between:$. and:$/) ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $-) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$e)
+ or:[ (currentCharacter between:$g and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $f) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$- and:$/)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$n)
+ or:[ (currentCharacter between:$p and:$z) ]
+ ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $o) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$q)
+ or:[ (currentCharacter between:$s and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $r) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$- and:$/)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$d)
+ or:[ (currentCharacter between:$f and:$z) ]
+ ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $e) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isXMLDigit
+ or:[
+ (currentCharacter between:$- and:$/)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$h)
+ or:[ (currentCharacter between:$j and:$z) ]
+ ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $i) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$f)
+ or:[ (currentCharacter between:$h and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $g) ifTrue:[
+ self recordMatch:#( 33 ).
+ self step.
+ ((currentCharacter between:$- and:$9)
+ or:[
+ (currentCharacter between:$A and:$Z)
+ or:[
+ currentCharacter == $_
+ or:[
+ (currentCharacter between:$a and:$m)
+ or:[ (currentCharacter between:$o and:$z) ]
+ ]
+ ]
+ ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ (currentCharacter == $n) ifTrue:[
+ self recordMatch:#( 19 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ifTrue:[
+ [
+ self recordMatch:#( 33 ).
+ self step.
+ (currentCharacter isLetterOrDigit
+ or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
+ ] whileTrue.
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
+ ^ self reportLastMatch
+ ].
^ self reportLastMatch
- "Modified: / 17-02-2008 / 18:45:28 / janfrog"
+ "Modified: / 04-07-2008 / 09:23:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionScanner methodsFor:'generated-tokens'!
emptySymbolTokenId
- ^59
+ ^60
- "Modified: / 17-02-2008 / 18:45:28 / janfrog"
+ "Modified: / 04-07-2008 / 09:23:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
errorTokenId
- ^60
+ ^61
- "Modified: / 17-02-2008 / 18:45:28 / janfrog"
+ "Modified: / 04-07-2008 / 09:23:45 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionScanner class methodsFor:'documentation'!