Cface__CDefinitionScanner.st
changeset 24 e7afa531abcf
parent 19 1297bf936bfb
child 32 d7464405cbda
--- a/Cface__CDefinitionScanner.st	Tue Sep 04 15:07:07 2012 +0000
+++ b/Cface__CDefinitionScanner.st	Wed Sep 05 11:12:41 2012 +0000
@@ -32,63 +32,59 @@
 
 <comment>       :       \# [^\r\n]* ;
 "
-
-    "Modified: / 09-09-2008 / 17:05:06 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
 !CDefinitionScanner class methodsFor:'generated-initialization'!
 
 initializeKeywordMap
     keywordMap := Dictionary new.
-    #( #(34 'argument' 14)
-     #(34 'array' 8)
-     #(34 'char' 16)
-     #(34 'const' 31)
-     #(34 'double' 26)
-     #(34 'enum' 20)
-     #(34 'field' 18)
-     #(34 'float' 28)
-     #(34 'function' 12)
-     #(34 'int' 5)
-     #(34 'long' 3)
-     #(34 'return' 7)
-     #(34 'short' 6)
-     #(34 'signed' 4)
-     #(34 'struct' 32)
-     #(34 'typedef' 22)
-     #(34 'union' 24)
-     #(34 'unsigned' 1)
-     #(34 'value' 17)
-     #(34 'void' 27)
-     #(34 'wchar_t' 29)
-     #(37 'argument' 14)
-     #(37 'array' 8)
-     #(37 'char' 16)
-     #(37 'const' 31)
-     #(37 'double' 26)
-     #(37 'enum' 20)
-     #(37 'field' 18)
-     #(37 'float' 28)
-     #(37 'function' 12)
-     #(37 'int' 5)
-     #(37 'long' 3)
-     #(37 'return' 7)
-     #(37 'short' 6)
-     #(37 'signed' 4)
-     #(37 'struct' 32)
-     #(37 'typedef' 22)
-     #(37 'union' 24)
-     #(37 'unsigned' 1)
-     #(37 'value' 17)
-     #(37 'void' 27)
-     #(37 'wchar_t' 29) ) 
+    #( #(34 'argument' 28)
+     #(34 'array' 26)
+     #(34 'char' 18)
+     #(34 'const' 13)
+     #(34 'double' 17)
+     #(34 'enum' 4)
+     #(34 'field' 6)
+     #(34 'float' 16)
+     #(34 'function' 30)
+     #(34 'int' 19)
+     #(34 'long' 21)
+     #(34 'return' 25)
+     #(34 'short' 20)
+     #(34 'signed' 22)
+     #(34 'struct' 11)
+     #(34 'typedef' 2)
+     #(34 'union' 8)
+     #(34 'unsigned' 23)
+     #(34 'value' 27)
+     #(34 'void' 15)
+     #(34 'wchar_t' 14)
+     #(37 'argument' 28)
+     #(37 'array' 26)
+     #(37 'char' 18)
+     #(37 'const' 13)
+     #(37 'double' 17)
+     #(37 'enum' 4)
+     #(37 'field' 6)
+     #(37 'float' 16)
+     #(37 'function' 30)
+     #(37 'int' 19)
+     #(37 'long' 21)
+     #(37 'return' 25)
+     #(37 'short' 20)
+     #(37 'signed' 22)
+     #(37 'struct' 11)
+     #(37 'typedef' 2)
+     #(37 'union' 8)
+     #(37 'unsigned' 23)
+     #(37 'value' 27)
+     #(37 'void' 15)
+     #(37 'wchar_t' 14) ) 
             do:[:each | 
                 (keywordMap at:each first ifAbsentPut:[ Dictionary new ]) at:(each at:2)
                     put:each last
             ].
     ^ keywordMap
-
-    "Modified: / 09-09-2008 / 17:05:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
 !CDefinitionScanner methodsFor:'generated-scanner'!
@@ -109,8 +105,6 @@
         ^ self reportLastMatch
     ].
     ^ self reportLastMatch
-
-    "Modified: / 09-09-2008 / 17:05:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
 scan2
@@ -123,7 +117,7 @@
                 self step.
                 (currentCharacter isLetter)
             ] whileTrue.
-            (currentCharacter isXMLDigit 
+            (currentCharacter isNationalDigit 
                 or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ]) 
                     ifTrue:[
                         [
@@ -136,7 +130,7 @@
                     ].
             ^ self reportLastMatch
         ].
-        (currentCharacter isXMLDigit)
+        (currentCharacter isNationalDigit)
     ] whileTrue.
     ((currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ]) ifTrue:[
         [
@@ -148,8 +142,6 @@
         ^ self reportLastMatch
     ].
     ^ self reportLastMatch
-
-    "Modified: / 09-09-2008 / 17:05:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
 scan3
@@ -861,17 +853,17 @@
                 ]
         ]) 
             ifTrue:[ ^ self scan1 ].
-    (currentCharacter isXMLDigit) ifTrue:[
+    (currentCharacter isNationalDigit) ifTrue:[
         ^ self scan2
     ].
     (currentCharacter isSeparator 
-        or:[ currentCharacter == (Character value:16rB) ]) 
+        or:[ currentCharacter == (Character codePoint:16rB) ]) 
             ifTrue:[
                 [
                     self recordMatch:#whitespace.
                     self step.
                     (currentCharacter isSeparator 
-                        or:[ currentCharacter == (Character value:16rB) ])
+                        or:[ currentCharacter == (Character codePoint:16rB) ])
                 ] whileTrue.
                 ^ self reportLastMatch
             ].
@@ -880,10 +872,10 @@
         self step.
         (currentCharacter <= (Character tab) 
             or:[
-                (currentCharacter between:(Character value:16rB)
-                    and:(Character value:16rC)) 
+                (currentCharacter between:(Character codePoint:16rB)
+                    and:(Character codePoint:16rC)) 
                         or:[
-                            (currentCharacter between:(Character value:16rE) and:$F) 
+                            (currentCharacter between:(Character codePoint:16rE) and:$F) 
                                 or:[ currentCharacter >= $H ]
                         ]
             ]) 
@@ -893,9 +885,9 @@
                         self step.
                         (currentCharacter <= (Character tab) 
                             or:[
-                                (currentCharacter between:(Character value:16rB)
-                                    and:(Character value:16rC)) 
-                                        or:[ currentCharacter >= (Character value:16rE) ]
+                                (currentCharacter between:(Character codePoint:16rB)
+                                    and:(Character codePoint:16rC)) 
+                                        or:[ currentCharacter >= (Character codePoint:16rE) ]
                             ])
                     ] whileTrue.
                     ^ self reportLastMatch
@@ -905,10 +897,10 @@
             self step.
             (currentCharacter <= (Character tab) 
                 or:[
-                    (currentCharacter between:(Character value:16rB)
-                        and:(Character value:16rC)) 
+                    (currentCharacter between:(Character codePoint:16rB)
+                        and:(Character codePoint:16rC)) 
                             or:[
-                                (currentCharacter between:(Character value:16rE) and:$d) 
+                                (currentCharacter between:(Character codePoint:16rE) and:$d) 
                                     or:[ currentCharacter >= $f ]
                             ]
                 ]) 
@@ -918,9 +910,9 @@
                             self step.
                             (currentCharacter <= (Character tab) 
                                 or:[
-                                    (currentCharacter between:(Character value:16rB)
-                                        and:(Character value:16rC)) 
-                                            or:[ currentCharacter >= (Character value:16rE) ]
+                                    (currentCharacter between:(Character codePoint:16rB)
+                                        and:(Character codePoint:16rC)) 
+                                            or:[ currentCharacter >= (Character codePoint:16rE) ]
                                 ])
                         ] whileTrue.
                         ^ self reportLastMatch
@@ -930,10 +922,10 @@
                 self step.
                 (currentCharacter <= (Character tab) 
                     or:[
-                        (currentCharacter between:(Character value:16rB)
-                            and:(Character value:16rC)) 
+                        (currentCharacter between:(Character codePoint:16rB)
+                            and:(Character codePoint:16rC)) 
                                 or:[
-                                    (currentCharacter between:(Character value:16rE) and:$m) 
+                                    (currentCharacter between:(Character codePoint:16rE) and:$m) 
                                         or:[ currentCharacter >= $o ]
                                 ]
                     ]) 
@@ -943,9 +935,9 @@
                                 self step.
                                 (currentCharacter <= (Character tab) 
                                     or:[
-                                        (currentCharacter between:(Character value:16rB)
-                                            and:(Character value:16rC)) 
-                                                or:[ currentCharacter >= (Character value:16rE) ]
+                                        (currentCharacter between:(Character codePoint:16rB)
+                                            and:(Character codePoint:16rC)) 
+                                                or:[ currentCharacter >= (Character codePoint:16rE) ]
                                     ])
                             ] whileTrue.
                             ^ self reportLastMatch
@@ -955,10 +947,10 @@
                     self step.
                     (currentCharacter <= (Character tab) 
                         or:[
-                            (currentCharacter between:(Character value:16rB)
-                                and:(Character value:16rC)) 
+                            (currentCharacter between:(Character codePoint:16rB)
+                                and:(Character codePoint:16rC)) 
                                     or:[
-                                        (currentCharacter between:(Character value:16rE) and:$d) 
+                                        (currentCharacter between:(Character codePoint:16rE) and:$d) 
                                             or:[ currentCharacter >= $f ]
                                     ]
                         ]) 
@@ -968,9 +960,9 @@
                                     self step.
                                     (currentCharacter <= (Character tab) 
                                         or:[
-                                            (currentCharacter between:(Character value:16rB)
-                                                and:(Character value:16rC)) 
-                                                    or:[ currentCharacter >= (Character value:16rE) ]
+                                            (currentCharacter between:(Character codePoint:16rB)
+                                                and:(Character codePoint:16rC)) 
+                                                    or:[ currentCharacter >= (Character codePoint:16rE) ]
                                         ])
                                 ] whileTrue.
                                 ^ self reportLastMatch
@@ -980,10 +972,10 @@
                         self step.
                         (currentCharacter <= (Character tab) 
                             or:[
-                                (currentCharacter between:(Character value:16rB)
-                                    and:(Character value:16rC)) 
+                                (currentCharacter between:(Character codePoint:16rB)
+                                    and:(Character codePoint:16rC)) 
                                         or:[
-                                            (currentCharacter between:(Character value:16rE) and:$q) 
+                                            (currentCharacter between:(Character codePoint:16rE) and:$q) 
                                                 or:[ currentCharacter >= $s ]
                                         ]
                             ]) 
@@ -993,9 +985,9 @@
                                         self step.
                                         (currentCharacter <= (Character tab) 
                                             or:[
-                                                (currentCharacter between:(Character value:16rB)
-                                                    and:(Character value:16rC)) 
-                                                        or:[ currentCharacter >= (Character value:16rE) ]
+                                                (currentCharacter between:(Character codePoint:16rB)
+                                                    and:(Character codePoint:16rC)) 
+                                                        or:[ currentCharacter >= (Character codePoint:16rE) ]
                                             ])
                                     ] whileTrue.
                                     ^ self reportLastMatch
@@ -1005,10 +997,10 @@
                             self step.
                             (currentCharacter <= (Character tab) 
                                 or:[
-                                    (currentCharacter between:(Character value:16rB)
-                                        and:(Character value:16rC)) 
+                                    (currentCharacter between:(Character codePoint:16rB)
+                                        and:(Character codePoint:16rC)) 
                                             or:[
-                                                (currentCharacter between:(Character value:16rE) and:$`) 
+                                                (currentCharacter between:(Character codePoint:16rE) and:$`) 
                                                     or:[ currentCharacter >= $b ]
                                             ]
                                 ]) 
@@ -1018,9 +1010,9 @@
                                             self step.
                                             (currentCharacter <= (Character tab) 
                                                 or:[
-                                                    (currentCharacter between:(Character value:16rB)
-                                                        and:(Character value:16rC)) 
-                                                            or:[ currentCharacter >= (Character value:16rE) ]
+                                                    (currentCharacter between:(Character codePoint:16rB)
+                                                        and:(Character codePoint:16rC)) 
+                                                            or:[ currentCharacter >= (Character codePoint:16rE) ]
                                                 ])
                                         ] whileTrue.
                                         ^ self reportLastMatch
@@ -1030,10 +1022,10 @@
                                 self step.
                                 (currentCharacter <= (Character tab) 
                                     or:[
-                                        (currentCharacter between:(Character value:16rB)
-                                            and:(Character value:16rC)) 
+                                        (currentCharacter between:(Character codePoint:16rB)
+                                            and:(Character codePoint:16rC)) 
                                                 or:[
-                                                    (currentCharacter between:(Character value:16rE) and:$s) 
+                                                    (currentCharacter between:(Character codePoint:16rE) and:$s) 
                                                         or:[ currentCharacter >= $u ]
                                                 ]
                                     ]) 
@@ -1043,9 +1035,9 @@
                                                 self step.
                                                 (currentCharacter <= (Character tab) 
                                                     or:[
-                                                        (currentCharacter between:(Character value:16rB)
-                                                            and:(Character value:16rC)) 
-                                                                or:[ currentCharacter >= (Character value:16rE) ]
+                                                        (currentCharacter between:(Character codePoint:16rB)
+                                                            and:(Character codePoint:16rC)) 
+                                                                or:[ currentCharacter >= (Character codePoint:16rE) ]
                                                     ])
                                             ] whileTrue.
                                             ^ self reportLastMatch
@@ -1055,10 +1047,10 @@
                                     self step.
                                     (currentCharacter <= (Character tab) 
                                         or:[
-                                            (currentCharacter between:(Character value:16rB)
-                                                and:(Character value:16rC)) 
+                                            (currentCharacter between:(Character codePoint:16rB)
+                                                and:(Character codePoint:16rC)) 
                                                     or:[
-                                                        (currentCharacter between:(Character value:16rE) and:$d) 
+                                                        (currentCharacter between:(Character codePoint:16rE) and:$d) 
                                                             or:[ currentCharacter >= $f ]
                                                     ]
                                         ]) 
@@ -1068,9 +1060,9 @@
                                                     self step.
                                                     (currentCharacter <= (Character tab) 
                                                         or:[
-                                                            (currentCharacter between:(Character value:16rB)
-                                                                and:(Character value:16rC)) 
-                                                                    or:[ currentCharacter >= (Character value:16rE) ]
+                                                            (currentCharacter between:(Character codePoint:16rB)
+                                                                and:(Character codePoint:16rC)) 
+                                                                    or:[ currentCharacter >= (Character codePoint:16rE) ]
                                                         ])
                                                 ] whileTrue.
                                                 ^ self reportLastMatch
@@ -1080,10 +1072,10 @@
                                         self step.
                                         (currentCharacter <= (Character tab) 
                                             or:[
-                                                (currentCharacter between:(Character value:16rB)
-                                                    and:(Character value:16rC)) 
+                                                (currentCharacter between:(Character codePoint:16rB)
+                                                    and:(Character codePoint:16rC)) 
                                                         or:[
-                                                            (currentCharacter between:(Character value:16rE) and:$c) 
+                                                            (currentCharacter between:(Character codePoint:16rE) and:$c) 
                                                                 or:[ currentCharacter >= $e ]
                                                         ]
                                             ]) 
@@ -1093,21 +1085,21 @@
                                                         self step.
                                                         (currentCharacter <= (Character tab) 
                                                             or:[
-                                                                (currentCharacter between:(Character value:16rB)
-                                                                    and:(Character value:16rC)) 
-                                                                        or:[ currentCharacter >= (Character value:16rE) ]
+                                                                (currentCharacter between:(Character codePoint:16rB)
+                                                                    and:(Character codePoint:16rC)) 
+                                                                        or:[ currentCharacter >= (Character codePoint:16rE) ]
                                                             ])
                                                     ] whileTrue.
                                                     ^ self reportLastMatch
                                                 ].
                                         (currentCharacter == $d) ifTrue:[
-                                            self recordMatch:#( 11 38 ).
+                                            self recordMatch:#( 33 38 ).
                                             self step.
                                             (currentCharacter <= (Character tab) 
                                                 or:[
-                                                    (currentCharacter between:(Character value:16rB)
-                                                        and:(Character value:16rC)) 
-                                                            or:[ currentCharacter >= (Character value:16rE) ]
+                                                    (currentCharacter between:(Character codePoint:16rB)
+                                                        and:(Character codePoint:16rC)) 
+                                                            or:[ currentCharacter >= (Character codePoint:16rE) ]
                                                 ]) 
                                                     ifTrue:[
                                                         [
@@ -1115,9 +1107,9 @@
                                                             self step.
                                                             (currentCharacter <= (Character tab) 
                                                                 or:[
-                                                                    (currentCharacter between:(Character value:16rB)
-                                                                        and:(Character value:16rC)) 
-                                                                            or:[ currentCharacter >= (Character value:16rE) ]
+                                                                    (currentCharacter between:(Character codePoint:16rB)
+                                                                        and:(Character codePoint:16rC)) 
+                                                                            or:[ currentCharacter >= (Character codePoint:16rE) ]
                                                                 ])
                                                         ] whileTrue.
                                                         ^ self reportLastMatch
@@ -1143,10 +1135,10 @@
         ^ self reportLastMatch
     ].
     (currentCharacter == $() ifTrue:[
-        ^ self recordAndReportMatch:#( 13 ).
+        ^ self recordAndReportMatch:#( 31 ).
     ].
     (currentCharacter == $)) ifTrue:[
-        ^ self recordAndReportMatch:#( 15 ).
+        ^ self recordAndReportMatch:#( 29 ).
     ].
     (currentCharacter == $-) ifTrue:[
         self recordMatch:#( 37 ).
@@ -1162,7 +1154,7 @@
                     ] whileTrue.
                     ^ self reportLastMatch
                 ].
-        (currentCharacter isXMLDigit) ifTrue:[
+        (currentCharacter isNationalDigit) ifTrue:[
             ^ self scan2
         ].
         ^ self reportLastMatch
@@ -1197,7 +1189,7 @@
                         (currentCharacter == $e) ifTrue:[
                             self step.
                             (currentCharacter == $t) ifTrue:[
-                                ^ self recordAndReportMatch:#( 21 ).
+                                ^ self recordAndReportMatch:#( 5 ).
                             ].
                             ^ self reportLastMatch
                         ].
@@ -1216,7 +1208,7 @@
                 (currentCharacter == $z) ifTrue:[
                     self step.
                     (currentCharacter == $e) ifTrue:[
-                        ^ self recordAndReportMatch:#( 30 ).
+                        ^ self recordAndReportMatch:#( 10 ).
                     ].
                     ^ self reportLastMatch
                 ].
@@ -1229,7 +1221,7 @@
     (currentCharacter == $e) ifTrue:[
         self recordMatch:#( 34 37 ).
         self step.
-        ((currentCharacter between:$0 and:$9) 
+        (currentCharacter isNationalDigit 
             or:[
                 (currentCharacter between:$A and:$Z) 
                     or:[
@@ -1253,7 +1245,7 @@
         (currentCharacter == $n) ifTrue:[
             self recordMatch:#( 34 37 ).
             self step.
-            (currentCharacter isXMLDigit 
+            (currentCharacter isNationalDigit 
                 or:[
                     (currentCharacter between:$A and:$Z) 
                         or:[
@@ -1277,7 +1269,7 @@
             (currentCharacter == $u) ifTrue:[
                 self recordMatch:#( 34 37 ).
                 self step.
-                ((currentCharacter between:$0 and:$9) 
+                (currentCharacter isNationalDigit 
                     or:[
                         (currentCharacter between:$A and:$Z) 
                             or:[
@@ -1316,14 +1308,17 @@
                     (currentCharacter == $-) ifTrue:[
                         self recordMatch:#( 37 ).
                         self step.
-                        ((currentCharacter between:$- and:$9) 
+                        (currentCharacter isNationalDigit 
                             or:[
-                                (currentCharacter between:$A and:$Z) 
+                                (currentCharacter between:$- and:$/) 
                                     or:[
-                                        currentCharacter == $_ 
+                                        (currentCharacter between:$A and:$Z) 
                                             or:[
-                                                (currentCharacter between:$a and:$e) 
-                                                    or:[ (currentCharacter between:$g and:$z) ]
+                                                currentCharacter == $_ 
+                                                    or:[
+                                                        (currentCharacter between:$a and:$e) 
+                                                            or:[ (currentCharacter between:$g and:$z) ]
+                                                    ]
                                             ]
                                     ]
                             ]) 
@@ -1339,7 +1334,7 @@
                         (currentCharacter == $f) ifTrue:[
                             self recordMatch:#( 37 ).
                             self step.
-                            (currentCharacter isXMLDigit 
+                            (currentCharacter isNationalDigit 
                                 or:[
                                     (currentCharacter between:$- and:$/) 
                                         or:[
@@ -1365,14 +1360,17 @@
                             (currentCharacter == $o) ifTrue:[
                                 self recordMatch:#( 37 ).
                                 self step.
-                                ((currentCharacter between:$- and:$9) 
+                                (currentCharacter isNationalDigit 
                                     or:[
-                                        (currentCharacter between:$A and:$Z) 
+                                        (currentCharacter between:$- and:$/) 
                                             or:[
-                                                currentCharacter == $_ 
+                                                (currentCharacter between:$A and:$Z) 
                                                     or:[
-                                                        (currentCharacter between:$a and:$q) 
-                                                            or:[ (currentCharacter between:$s and:$z) ]
+                                                        currentCharacter == $_ 
+                                                            or:[
+                                                                (currentCharacter between:$a and:$q) 
+                                                                    or:[ (currentCharacter between:$s and:$z) ]
+                                                            ]
                                                     ]
                                             ]
                                     ]) 
@@ -1388,7 +1386,7 @@
                                 (currentCharacter == $r) ifTrue:[
                                     self recordMatch:#( 37 ).
                                     self step.
-                                    (currentCharacter isXMLDigit 
+                                    (currentCharacter isNationalDigit 
                                         or:[
                                             (currentCharacter between:$- and:$/) 
                                                 or:[
@@ -1414,7 +1412,7 @@
                                     (currentCharacter == $e) ifTrue:[
                                         self recordMatch:#( 37 ).
                                         self step.
-                                        (currentCharacter isXMLDigit 
+                                        (currentCharacter isNationalDigit 
                                             or:[
                                                 (currentCharacter between:$- and:$/) 
                                                     or:[
@@ -1440,14 +1438,17 @@
                                         (currentCharacter == $i) ifTrue:[
                                             self recordMatch:#( 37 ).
                                             self step.
-                                            ((currentCharacter between:$- and:$9) 
+                                            (currentCharacter isNationalDigit 
                                                 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:$f) 
+                                                                                or:[ (currentCharacter between:$h and:$z) ]
+                                                                        ]
                                                                 ]
                                                         ]
                                                 ]) 
@@ -1463,14 +1464,17 @@
                                             (currentCharacter == $g) ifTrue:[
                                                 self recordMatch:#( 37 ).
                                                 self step.
-                                                ((currentCharacter between:$- and:$9) 
+                                                (currentCharacter isNationalDigit 
                                                     or:[
-                                                        (currentCharacter between:$A and:$Z) 
+                                                        (currentCharacter between:$- and:$/) 
                                                             or:[
-                                                                currentCharacter == $_ 
+                                                                (currentCharacter between:$A and:$Z) 
                                                                     or:[
-                                                                        (currentCharacter between:$a and:$m) 
-                                                                            or:[ (currentCharacter between:$o and:$z) ]
+                                                                        currentCharacter == $_ 
+                                                                            or:[
+                                                                                (currentCharacter between:$a and:$m) 
+                                                                                    or:[ (currentCharacter between:$o and:$z) ]
+                                                                            ]
                                                                     ]
                                                             ]
                                                     ]) 
@@ -1484,7 +1488,7 @@
                                                             ^ self reportLastMatch
                                                         ].
                                                 (currentCharacter == $n) ifTrue:[
-                                                    self recordMatch:#( 23 37 ).
+                                                    self recordMatch:#( 3 37 ).
                                                     self step.
                                                     (currentCharacter isLetterOrDigit 
                                                         or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ]) 
@@ -1524,7 +1528,7 @@
     (currentCharacter == $f) ifTrue:[
         self recordMatch:#( 34 37 ).
         self step.
-        (currentCharacter isXMLDigit 
+        (currentCharacter isNationalDigit 
             or:[
                 (currentCharacter between:$A and:$Z) 
                     or:[
@@ -1551,7 +1555,7 @@
         (currentCharacter == $r) ifTrue:[
             self recordMatch:#( 34 37 ).
             self step.
-            (currentCharacter isXMLDigit 
+            (currentCharacter isNationalDigit 
                 or:[
                     (currentCharacter between:$A and:$Z) 
                         or:[
@@ -1575,7 +1579,7 @@
             (currentCharacter == $o) ifTrue:[
                 self recordMatch:#( 34 37 ).
                 self step.
-                ((currentCharacter between:$0 and:$9) 
+                (currentCharacter isNationalDigit 
                     or:[
                         (currentCharacter between:$A and:$Z) 
                             or:[
@@ -1612,7 +1616,7 @@
                         ^ self reportLastMatch
                     ].
                     (currentCharacter == $:) ifTrue:[
-                        ^ self recordAndReportMatch:#( 10 ).
+                        ^ self recordAndReportMatch:#( 32 ).
                     ].
                     ^ self reportLastMatch
                 ].
@@ -1623,7 +1627,7 @@
         (currentCharacter == $u) ifTrue:[
             self recordMatch:#( 34 37 ).
             self step.
-            ((currentCharacter between:$0 and:$9) 
+            (currentCharacter isNationalDigit 
                 or:[
                     (currentCharacter between:$A and:$Z) 
                         or:[
@@ -1647,7 +1651,7 @@
             (currentCharacter == $n) ifTrue:[
                 self recordMatch:#( 34 37 ).
                 self step.
-                ((currentCharacter between:$0 and:$9) 
+                (currentCharacter isNationalDigit 
                     or:[
                         (currentCharacter between:$A and:$Z) 
                             or:[
@@ -1671,7 +1675,7 @@
                 (currentCharacter == $c) ifTrue:[
                     self recordMatch:#( 34 37 ).
                     self step.
-                    ((currentCharacter between:$0 and:$9) 
+                    (currentCharacter isNationalDigit 
                         or:[
                             (currentCharacter between:$A and:$Z) 
                                 or:[
@@ -1695,7 +1699,7 @@
                     (currentCharacter == $t) ifTrue:[
                         self recordMatch:#( 34 37 ).
                         self step.
-                        (currentCharacter isXMLDigit 
+                        (currentCharacter isNationalDigit 
                             or:[
                                 (currentCharacter between:$A and:$Z) 
                                     or:[
@@ -1719,7 +1723,7 @@
                         (currentCharacter == $i) ifTrue:[
                             self recordMatch:#( 34 37 ).
                             self step.
-                            (currentCharacter isXMLDigit 
+                            (currentCharacter isNationalDigit 
                                 or:[
                                     (currentCharacter between:$A and:$Z) 
                                         or:[
@@ -1743,7 +1747,7 @@
                             (currentCharacter == $o) ifTrue:[
                                 self recordMatch:#( 34 37 ).
                                 self step.
-                                ((currentCharacter between:$0 and:$9) 
+                                (currentCharacter isNationalDigit 
                                     or:[
                                         (currentCharacter between:$A and:$Z) 
                                             or:[
@@ -1782,14 +1786,17 @@
                                     (currentCharacter == $-) ifTrue:[
                                         self recordMatch:#( 37 ).
                                         self step.
-                                        ((currentCharacter between:$- and:$9) 
+                                        (currentCharacter isNationalDigit 
                                             or:[
-                                                (currentCharacter between:$A and:$Z) 
+                                                (currentCharacter between:$- and:$/) 
                                                     or:[
-                                                        currentCharacter == $_ 
+                                                        (currentCharacter between:$A and:$Z) 
                                                             or:[
-                                                                (currentCharacter between:$a and:$s) 
-                                                                    or:[ (currentCharacter between:$u and:$z) ]
+                                                                currentCharacter == $_ 
+                                                                    or:[
+                                                                        (currentCharacter between:$a and:$s) 
+                                                                            or:[ (currentCharacter between:$u and:$z) ]
+                                                                    ]
                                                             ]
                                                     ]
                                             ]) 
@@ -1805,12 +1812,15 @@
                                         (currentCharacter == $t) ifTrue:[
                                             self recordMatch:#( 37 ).
                                             self step.
-                                            ((currentCharacter between:$- and:$9) 
+                                            (currentCharacter isNationalDigit 
                                                 or:[
-                                                    (currentCharacter between:$A and:$Z) 
+                                                    (currentCharacter between:$- and:$/) 
                                                         or:[
-                                                            currentCharacter == $_ 
-                                                                or:[ (currentCharacter between:$a and:$x) or:[ currentCharacter == $z ] ]
+                                                            (currentCharacter between:$A and:$Z) 
+                                                                or:[
+                                                                    currentCharacter == $_ 
+                                                                        or:[ (currentCharacter between:$a and:$x) or:[ currentCharacter == $z ] ]
+                                                                ]
                                                         ]
                                                 ]) 
                                                     ifTrue:[
@@ -1825,14 +1835,17 @@
                                             (currentCharacter == $y) ifTrue:[
                                                 self recordMatch:#( 37 ).
                                                 self step.
-                                                ((currentCharacter between:$- and:$9) 
+                                                (currentCharacter isNationalDigit 
                                                     or:[
-                                                        (currentCharacter between:$A and:$Z) 
+                                                        (currentCharacter between:$- and:$/) 
                                                             or:[
-                                                                currentCharacter == $_ 
+                                                                (currentCharacter between:$A and:$Z) 
                                                                     or:[
-                                                                        (currentCharacter between:$a and:$o) 
-                                                                            or:[ (currentCharacter between:$q and:$z) ]
+                                                                        currentCharacter == $_ 
+                                                                            or:[
+                                                                                (currentCharacter between:$a and:$o) 
+                                                                                    or:[ (currentCharacter between:$q and:$z) ]
+                                                                            ]
                                                                     ]
                                                             ]
                                                     ]) 
@@ -1848,7 +1861,7 @@
                                                 (currentCharacter == $p) ifTrue:[
                                                     self recordMatch:#( 37 ).
                                                     self step.
-                                                    (currentCharacter isXMLDigit 
+                                                    (currentCharacter isNationalDigit 
                                                         or:[
                                                             (currentCharacter between:$- and:$/) 
                                                                 or:[
@@ -1872,7 +1885,7 @@
                                                                 ^ self reportLastMatch
                                                             ].
                                                     (currentCharacter == $e) ifTrue:[
-                                                        self recordMatch:#( 2 37 ).
+                                                        self recordMatch:#( 24 37 ).
                                                         self step.
                                                         (currentCharacter isLetterOrDigit 
                                                             or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ]) 
@@ -1914,7 +1927,7 @@
     (currentCharacter == $p) ifTrue:[
         self recordMatch:#( 34 37 ).
         self step.
-        (currentCharacter isXMLDigit 
+        (currentCharacter isNationalDigit 
             or:[
                 (currentCharacter between:$A and:$Z) 
                     or:[
@@ -1938,7 +1951,7 @@
         (currentCharacter == $o) ifTrue:[
             self recordMatch:#( 34 37 ).
             self step.
-            (currentCharacter isXMLDigit 
+            (currentCharacter isNationalDigit 
                 or:[
                     (currentCharacter between:$A and:$Z) 
                         or:[
@@ -1962,7 +1975,7 @@
             (currentCharacter == $i) ifTrue:[
                 self recordMatch:#( 34 37 ).
                 self step.
-                ((currentCharacter between:$0 and:$9) 
+                (currentCharacter isNationalDigit 
                     or:[
                         (currentCharacter between:$A and:$Z) 
                             or:[
@@ -1986,7 +1999,7 @@
                 (currentCharacter == $n) ifTrue:[
                     self recordMatch:#( 34 37 ).
                     self step.
-                    ((currentCharacter between:$0 and:$9) 
+                    (currentCharacter isNationalDigit 
                         or:[
                             (currentCharacter between:$A and:$Z) 
                                 or:[
@@ -2010,7 +2023,7 @@
                     (currentCharacter == $t) ifTrue:[
                         self recordMatch:#( 34 37 ).
                         self step.
-                        (currentCharacter isXMLDigit 
+                        (currentCharacter isNationalDigit 
                             or:[
                                 (currentCharacter between:$A and:$Z) 
                                     or:[
@@ -2034,7 +2047,7 @@
                         (currentCharacter == $e) ifTrue:[
                             self recordMatch:#( 34 37 ).
                             self step.
-                            ((currentCharacter between:$0 and:$9) 
+                            (currentCharacter isNationalDigit 
                                 or:[
                                     (currentCharacter between:$A and:$Z) 
                                         or:[
@@ -2073,14 +2086,17 @@
                                 (currentCharacter == $-) ifTrue:[
                                     self recordMatch:#( 37 ).
                                     self step.
-                                    ((currentCharacter between:$- and:$9) 
+                                    (currentCharacter isNationalDigit 
                                         or:[
-                                            (currentCharacter between:$A and:$Z) 
+                                            (currentCharacter between:$- and:$/) 
                                                 or:[
-                                                    currentCharacter == $_ 
+                                                    (currentCharacter between:$A and:$Z) 
                                                         or:[
-                                                            (currentCharacter between:$a and:$s) 
-                                                                or:[ (currentCharacter between:$u and:$z) ]
+                                                            currentCharacter == $_ 
+                                                                or:[
+                                                                    (currentCharacter between:$a and:$s) 
+                                                                        or:[ (currentCharacter between:$u and:$z) ]
+                                                                ]
                                                         ]
                                                 ]
                                         ]) 
@@ -2096,7 +2112,7 @@
                                     (currentCharacter == $t) ifTrue:[
                                         self recordMatch:#( 37 ).
                                         self step.
-                                        (currentCharacter isXMLDigit 
+                                        (currentCharacter isNationalDigit 
                                             or:[
                                                 (currentCharacter between:$- and:$/) 
                                                     or:[
@@ -2120,7 +2136,7 @@
                                                     ^ self reportLastMatch
                                                 ].
                                         (currentCharacter == $o) ifTrue:[
-                                            self recordMatch:#( 33 37 ).
+                                            self recordMatch:#( 12 37 ).
                                             self step.
                                             (currentCharacter isLetterOrDigit 
                                                 or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ]) 
@@ -2156,7 +2172,7 @@
     (currentCharacter == $s) ifTrue:[
         self recordMatch:#( 34 37 ).
         self step.
-        ((currentCharacter between:$0 and:$9) 
+        (currentCharacter isNationalDigit 
             or:[
                 (currentCharacter between:$A and:$Z) 
                     or:[
@@ -2180,7 +2196,7 @@
         (currentCharacter == $t) ifTrue:[
             self recordMatch:#( 34 37 ).
             self step.
-            ((currentCharacter between:$0 and:$9) 
+            (currentCharacter isNationalDigit 
                 or:[
                     (currentCharacter between:$A and:$Z) 
                         or:[
@@ -2204,7 +2220,7 @@
             (currentCharacter == $r) ifTrue:[
                 self recordMatch:#( 34 37 ).
                 self step.
-                (currentCharacter isXMLDigit 
+                (currentCharacter isNationalDigit 
                     or:[
                         (currentCharacter between:$A and:$Z) 
                             or:[
@@ -2228,7 +2244,7 @@
                 (currentCharacter == $u) ifTrue:[
                     self recordMatch:#( 34 37 ).
                     self step.
-                    ((currentCharacter between:$0 and:$9) 
+                    (currentCharacter isNationalDigit 
                         or:[
                             (currentCharacter between:$A and:$Z) 
                                 or:[
@@ -2252,7 +2268,7 @@
                     (currentCharacter == $c) ifTrue:[
                         self recordMatch:#( 34 37 ).
                         self step.
-                        ((currentCharacter between:$0 and:$9) 
+                        (currentCharacter isNationalDigit 
                             or:[
                                 (currentCharacter between:$A and:$Z) 
                                     or:[
@@ -2291,14 +2307,17 @@
                             (currentCharacter == $-) ifTrue:[
                                 self recordMatch:#( 37 ).
                                 self step.
-                                ((currentCharacter between:$- and:$9) 
+                                (currentCharacter isNationalDigit 
                                     or:[
-                                        (currentCharacter between:$A and:$Z) 
+                                        (currentCharacter between:$- and:$/) 
                                             or:[
-                                                currentCharacter == $_ 
+                                                (currentCharacter between:$A and:$Z) 
                                                     or:[
-                                                        (currentCharacter between:$a and:$e) 
-                                                            or:[ (currentCharacter between:$g and:$z) ]
+                                                        currentCharacter == $_ 
+                                                            or:[
+                                                                (currentCharacter between:$a and:$e) 
+                                                                    or:[ (currentCharacter between:$g and:$z) ]
+                                                            ]
                                                     ]
                                             ]
                                     ]) 
@@ -2314,7 +2333,7 @@
                                 (currentCharacter == $f) ifTrue:[
                                     self recordMatch:#( 37 ).
                                     self step.
-                                    (currentCharacter isXMLDigit 
+                                    (currentCharacter isNationalDigit 
                                         or:[
                                             (currentCharacter between:$- and:$/) 
                                                 or:[
@@ -2340,14 +2359,17 @@
                                     (currentCharacter == $o) ifTrue:[
                                         self recordMatch:#( 37 ).
                                         self step.
-                                        ((currentCharacter between:$- and:$9) 
+                                        (currentCharacter isNationalDigit 
                                             or:[
-                                                (currentCharacter between:$A and:$Z) 
+                                                (currentCharacter between:$- and:$/) 
                                                     or:[
-                                                        currentCharacter == $_ 
+                                                        (currentCharacter between:$A and:$Z) 
                                                             or:[
-                                                                (currentCharacter between:$a and:$q) 
-                                                                    or:[ (currentCharacter between:$s and:$z) ]
+                                                                currentCharacter == $_ 
+                                                                    or:[
+                                                                        (currentCharacter between:$a and:$q) 
+                                                                            or:[ (currentCharacter between:$s and:$z) ]
+                                                                    ]
                                                             ]
                                                     ]
                                             ]) 
@@ -2363,7 +2385,7 @@
                                         (currentCharacter == $r) ifTrue:[
                                             self recordMatch:#( 37 ).
                                             self step.
-                                            (currentCharacter isXMLDigit 
+                                            (currentCharacter isNationalDigit 
                                                 or:[
                                                     (currentCharacter between:$- and:$/) 
                                                         or:[
@@ -2389,7 +2411,7 @@
                                             (currentCharacter == $e) ifTrue:[
                                                 self recordMatch:#( 37 ).
                                                 self step.
-                                                (currentCharacter isXMLDigit 
+                                                (currentCharacter isNationalDigit 
                                                     or:[
                                                         (currentCharacter between:$- and:$/) 
                                                             or:[
@@ -2415,14 +2437,17 @@
                                                 (currentCharacter == $i) ifTrue:[
                                                     self recordMatch:#( 37 ).
                                                     self step.
-                                                    ((currentCharacter between:$- and:$9) 
+                                                    (currentCharacter isNationalDigit 
                                                         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:$f) 
+                                                                                        or:[ (currentCharacter between:$h and:$z) ]
+                                                                                ]
                                                                         ]
                                                                 ]
                                                         ]) 
@@ -2438,14 +2463,17 @@
                                                     (currentCharacter == $g) ifTrue:[
                                                         self recordMatch:#( 37 ).
                                                         self step.
-                                                        ((currentCharacter between:$- and:$9) 
+                                                        (currentCharacter isNationalDigit 
                                                             or:[
-                                                                (currentCharacter between:$A and:$Z) 
+                                                                (currentCharacter between:$- and:$/) 
                                                                     or:[
-                                                                        currentCharacter == $_ 
+                                                                        (currentCharacter between:$A and:$Z) 
                                                                             or:[
-                                                                                (currentCharacter between:$a and:$m) 
-                                                                                    or:[ (currentCharacter between:$o and:$z) ]
+                                                                                currentCharacter == $_ 
+                                                                                    or:[
+                                                                                        (currentCharacter between:$a and:$m) 
+                                                                                            or:[ (currentCharacter between:$o and:$z) ]
+                                                                                    ]
                                                                             ]
                                                                     ]
                                                             ]) 
@@ -2459,7 +2487,7 @@
                                                                     ^ self reportLastMatch
                                                                 ].
                                                         (currentCharacter == $n) ifTrue:[
-                                                            self recordMatch:#( 25 37 ).
+                                                            self recordMatch:#( 9 37 ).
                                                             self step.
                                                             (currentCharacter isLetterOrDigit 
                                                                 or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ]) 
@@ -2503,7 +2531,7 @@
     (currentCharacter == $t) ifTrue:[
         self recordMatch:#( 34 37 ).
         self step.
-        ((currentCharacter between:$0 and:$9) 
+        (currentCharacter isNationalDigit 
             or:[
                 (currentCharacter between:$A and:$Z) 
                     or:[
@@ -2524,7 +2552,7 @@
         (currentCharacter == $y) ifTrue:[
             self recordMatch:#( 34 37 ).
             self step.
-            ((currentCharacter between:$0 and:$9) 
+            (currentCharacter isNationalDigit 
                 or:[
                     (currentCharacter between:$A and:$Z) 
                         or:[
@@ -2548,7 +2576,7 @@
             (currentCharacter == $p) ifTrue:[
                 self recordMatch:#( 34 37 ).
                 self step.
-                (currentCharacter isXMLDigit 
+                (currentCharacter isNationalDigit 
                     or:[
                         (currentCharacter between:$A and:$Z) 
                             or:[
@@ -2572,7 +2600,7 @@
                 (currentCharacter == $e) ifTrue:[
                     self recordMatch:#( 34 37 ).
                     self step.
-                    ((currentCharacter between:$0 and:$9) 
+                    (currentCharacter isNationalDigit 
                         or:[
                             (currentCharacter between:$A and:$Z) 
                                 or:[
@@ -2596,7 +2624,7 @@
                     (currentCharacter == $d) ifTrue:[
                         self recordMatch:#( 34 37 ).
                         self step.
-                        (currentCharacter isXMLDigit 
+                        (currentCharacter isNationalDigit 
                             or:[
                                 (currentCharacter between:$A and:$Z) 
                                     or:[
@@ -2620,7 +2648,7 @@
                         (currentCharacter == $e) ifTrue:[
                             self recordMatch:#( 34 37 ).
                             self step.
-                            ((currentCharacter between:$0 and:$9) 
+                            (currentCharacter isNationalDigit 
                                 or:[
                                     (currentCharacter between:$A and:$Z) 
                                         or:[
@@ -2659,14 +2687,17 @@
                                 (currentCharacter == $-) ifTrue:[
                                     self recordMatch:#( 37 ).
                                     self step.
-                                    ((currentCharacter between:$- and:$9) 
+                                    (currentCharacter isNationalDigit 
                                         or:[
-                                            (currentCharacter between:$A and:$Z) 
+                                            (currentCharacter between:$- and:$/) 
                                                 or:[
-                                                    currentCharacter == $_ 
+                                                    (currentCharacter between:$A and:$Z) 
                                                         or:[
-                                                            (currentCharacter between:$a and:$e) 
-                                                                or:[ (currentCharacter between:$g and:$z) ]
+                                                            currentCharacter == $_ 
+                                                                or:[
+                                                                    (currentCharacter between:$a and:$e) 
+                                                                        or:[ (currentCharacter between:$g and:$z) ]
+                                                                ]
                                                         ]
                                                 ]
                                         ]) 
@@ -2682,7 +2713,7 @@
                                     (currentCharacter == $f) ifTrue:[
                                         self recordMatch:#( 37 ).
                                         self step.
-                                        (currentCharacter isXMLDigit 
+                                        (currentCharacter isNationalDigit 
                                             or:[
                                                 (currentCharacter between:$- and:$/) 
                                                     or:[
@@ -2708,14 +2739,17 @@
                                         (currentCharacter == $o) ifTrue:[
                                             self recordMatch:#( 37 ).
                                             self step.
-                                            ((currentCharacter between:$- and:$9) 
+                                            (currentCharacter isNationalDigit 
                                                 or:[
-                                                    (currentCharacter between:$A and:$Z) 
+                                                    (currentCharacter between:$- and:$/) 
                                                         or:[
-                                                            currentCharacter == $_ 
+                                                            (currentCharacter between:$A and:$Z) 
                                                                 or:[
-                                                                    (currentCharacter between:$a and:$q) 
-                                                                        or:[ (currentCharacter between:$s and:$z) ]
+                                                                    currentCharacter == $_ 
+                                                                        or:[
+                                                                            (currentCharacter between:$a and:$q) 
+                                                                                or:[ (currentCharacter between:$s and:$z) ]
+                                                                        ]
                                                                 ]
                                                         ]
                                                 ]) 
@@ -2731,7 +2765,7 @@
                                             (currentCharacter == $r) ifTrue:[
                                                 self recordMatch:#( 37 ).
                                                 self step.
-                                                (currentCharacter isXMLDigit 
+                                                (currentCharacter isNationalDigit 
                                                     or:[
                                                         (currentCharacter between:$- and:$/) 
                                                             or:[
@@ -2757,7 +2791,7 @@
                                                 (currentCharacter == $e) ifTrue:[
                                                     self recordMatch:#( 37 ).
                                                     self step.
-                                                    (currentCharacter isXMLDigit 
+                                                    (currentCharacter isNationalDigit 
                                                         or:[
                                                             (currentCharacter between:$- and:$/) 
                                                                 or:[
@@ -2783,14 +2817,17 @@
                                                     (currentCharacter == $i) ifTrue:[
                                                         self recordMatch:#( 37 ).
                                                         self step.
-                                                        ((currentCharacter between:$- and:$9) 
+                                                        (currentCharacter isNationalDigit 
                                                             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:$f) 
+                                                                                            or:[ (currentCharacter between:$h and:$z) ]
+                                                                                    ]
                                                                             ]
                                                                     ]
                                                             ]) 
@@ -2806,14 +2843,17 @@
                                                         (currentCharacter == $g) ifTrue:[
                                                             self recordMatch:#( 37 ).
                                                             self step.
-                                                            ((currentCharacter between:$- and:$9) 
+                                                            (currentCharacter isNationalDigit 
                                                                 or:[
-                                                                    (currentCharacter between:$A and:$Z) 
+                                                                    (currentCharacter between:$- and:$/) 
                                                                         or:[
-                                                                            currentCharacter == $_ 
+                                                                            (currentCharacter between:$A and:$Z) 
                                                                                 or:[
-                                                                                    (currentCharacter between:$a and:$m) 
-                                                                                        or:[ (currentCharacter between:$o and:$z) ]
+                                                                                    currentCharacter == $_ 
+                                                                                        or:[
+                                                                                            (currentCharacter between:$a and:$m) 
+                                                                                                or:[ (currentCharacter between:$o and:$z) ]
+                                                                                        ]
                                                                                 ]
                                                                         ]
                                                                 ]) 
@@ -2827,7 +2867,7 @@
                                                                         ^ self reportLastMatch
                                                                     ].
                                                             (currentCharacter == $n) ifTrue:[
-                                                                self recordMatch:#( 9 37 ).
+                                                                self recordMatch:#( 1 37 ).
                                                                 self step.
                                                                 (currentCharacter isLetterOrDigit 
                                                                     or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ]) 
@@ -2873,7 +2913,7 @@
     (currentCharacter == $u) ifTrue:[
         self recordMatch:#( 34 37 ).
         self step.
-        ((currentCharacter between:$0 and:$9) 
+        (currentCharacter isNationalDigit 
             or:[
                 (currentCharacter between:$A and:$Z) 
                     or:[
@@ -2897,7 +2937,7 @@
         (currentCharacter == $n) ifTrue:[
             self recordMatch:#( 34 37 ).
             self step.
-            (currentCharacter isXMLDigit 
+            (currentCharacter isNationalDigit 
                 or:[
                     (currentCharacter between:$A and:$Z) 
                         or:[
@@ -2921,7 +2961,7 @@
             (currentCharacter == $i) ifTrue:[
                 self recordMatch:#( 34 37 ).
                 self step.
-                (currentCharacter isXMLDigit 
+                (currentCharacter isNationalDigit 
                     or:[
                         (currentCharacter between:$A and:$Z) 
                             or:[
@@ -2945,7 +2985,7 @@
                 (currentCharacter == $o) ifTrue:[
                     self recordMatch:#( 34 37 ).
                     self step.
-                    ((currentCharacter between:$0 and:$9) 
+                    (currentCharacter isNationalDigit 
                         or:[
                             (currentCharacter between:$A and:$Z) 
                                 or:[
@@ -2984,14 +3024,17 @@
                         (currentCharacter == $-) ifTrue:[
                             self recordMatch:#( 37 ).
                             self step.
-                            ((currentCharacter between:$- and:$9) 
+                            (currentCharacter isNationalDigit 
                                 or:[
-                                    (currentCharacter between:$A and:$Z) 
+                                    (currentCharacter between:$- and:$/) 
                                         or:[
-                                            currentCharacter == $_ 
+                                            (currentCharacter between:$A and:$Z) 
                                                 or:[
-                                                    (currentCharacter between:$a and:$e) 
-                                                        or:[ (currentCharacter between:$g and:$z) ]
+                                                    currentCharacter == $_ 
+                                                        or:[
+                                                            (currentCharacter between:$a and:$e) 
+                                                                or:[ (currentCharacter between:$g and:$z) ]
+                                                        ]
                                                 ]
                                         ]
                                 ]) 
@@ -3007,7 +3050,7 @@
                             (currentCharacter == $f) ifTrue:[
                                 self recordMatch:#( 37 ).
                                 self step.
-                                (currentCharacter isXMLDigit 
+                                (currentCharacter isNationalDigit 
                                     or:[
                                         (currentCharacter between:$- and:$/) 
                                             or:[
@@ -3033,14 +3076,17 @@
                                 (currentCharacter == $o) ifTrue:[
                                     self recordMatch:#( 37 ).
                                     self step.
-                                    ((currentCharacter between:$- and:$9) 
+                                    (currentCharacter isNationalDigit 
                                         or:[
-                                            (currentCharacter between:$A and:$Z) 
+                                            (currentCharacter between:$- and:$/) 
                                                 or:[
-                                                    currentCharacter == $_ 
+                                                    (currentCharacter between:$A and:$Z) 
                                                         or:[
-                                                            (currentCharacter between:$a and:$q) 
-                                                                or:[ (currentCharacter between:$s and:$z) ]
+                                                            currentCharacter == $_ 
+                                                                or:[
+                                                                    (currentCharacter between:$a and:$q) 
+                                                                        or:[ (currentCharacter between:$s and:$z) ]
+                                                                ]
                                                         ]
                                                 ]
                                         ]) 
@@ -3056,7 +3102,7 @@
                                     (currentCharacter == $r) ifTrue:[
                                         self recordMatch:#( 37 ).
                                         self step.
-                                        (currentCharacter isXMLDigit 
+                                        (currentCharacter isNationalDigit 
                                             or:[
                                                 (currentCharacter between:$- and:$/) 
                                                     or:[
@@ -3082,7 +3128,7 @@
                                         (currentCharacter == $e) ifTrue:[
                                             self recordMatch:#( 37 ).
                                             self step.
-                                            (currentCharacter isXMLDigit 
+                                            (currentCharacter isNationalDigit 
                                                 or:[
                                                     (currentCharacter between:$- and:$/) 
                                                         or:[
@@ -3108,14 +3154,17 @@
                                             (currentCharacter == $i) ifTrue:[
                                                 self recordMatch:#( 37 ).
                                                 self step.
-                                                ((currentCharacter between:$- and:$9) 
+                                                (currentCharacter isNationalDigit 
                                                     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:$f) 
+                                                                                    or:[ (currentCharacter between:$h and:$z) ]
+                                                                            ]
                                                                     ]
                                                             ]
                                                     ]) 
@@ -3131,14 +3180,17 @@
                                                 (currentCharacter == $g) ifTrue:[
                                                     self recordMatch:#( 37 ).
                                                     self step.
-                                                    ((currentCharacter between:$- and:$9) 
+                                                    (currentCharacter isNationalDigit 
                                                         or:[
-                                                            (currentCharacter between:$A and:$Z) 
+                                                            (currentCharacter between:$- and:$/) 
                                                                 or:[
-                                                                    currentCharacter == $_ 
+                                                                    (currentCharacter between:$A and:$Z) 
                                                                         or:[
-                                                                            (currentCharacter between:$a and:$m) 
-                                                                                or:[ (currentCharacter between:$o and:$z) ]
+                                                                            currentCharacter == $_ 
+                                                                                or:[
+                                                                                    (currentCharacter between:$a and:$m) 
+                                                                                        or:[ (currentCharacter between:$o and:$z) ]
+                                                                                ]
                                                                         ]
                                                                 ]
                                                         ]) 
@@ -3152,7 +3204,7 @@
                                                                 ^ self reportLastMatch
                                                             ].
                                                     (currentCharacter == $n) ifTrue:[
-                                                        self recordMatch:#( 19 37 ).
+                                                        self recordMatch:#( 7 37 ).
                                                         self step.
                                                         (currentCharacter isLetterOrDigit 
                                                             or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ]) 
@@ -3192,22 +3244,16 @@
         ^ self reportLastMatch
     ].
     ^ self reportLastMatch
-
-    "Modified: / 09-09-2008 / 17:05:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
 !CDefinitionScanner methodsFor:'generated-tokens'!
 
 emptySymbolTokenId
-	^64
-
-    "Modified: / 09-09-2008 / 17:05:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
+	^40
 !
 
 errorTokenId
-	^65
-
-    "Modified: / 09-09-2008 / 17:05:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
+	^39
 ! !
 
 !CDefinitionScanner class methodsFor:'documentation'!