Fix in class generator (MethofDefinitionChange>>classVariableNames: now takes collection, not string)
"{ Package: 'jv:cface' }"
"{ NameSpace: Cface }"
SmaCC::SmaCCScanner subclass:#CDefinitionScanner
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'Cface-Parser'
!
!CDefinitionScanner class methodsFor:'accessing'!
needsLineNumbers
^true
"Created: / 10-02-2008 / 10:17:03 / janfrog"
! !
!CDefinitionScanner class methodsFor:'generated-comments'!
scannerDefinitionComment
"<name> : [a-zA-Z_.] \w* ;
<number> : \-? [0-9]+ [a-zA-Z]* ;
<whitespace> : \s+ ;
<file> : [\w-_/] [\w-_/.]* ;
<comment> : \# [^\r\n]* ;
"
! !
!CDefinitionScanner class methodsFor:'generated-initialization'!
initializeKeywordMap
keywordMap := Dictionary new.
#( #(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
! !
!CDefinitionScanner methodsFor:'generated-scanner'!
scan1
[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ])
] whileTrue.
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
^ self reportLastMatch
!
scan2
[
self recordMatch:#( 35 37 ).
self step.
(currentCharacter isLetter) ifTrue:[
[
self recordMatch:#( 35 37 ).
self step.
(currentCharacter isLetter)
] whileTrue.
(currentCharacter isNationalDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter isNationalDigit)
] whileTrue.
((currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ]) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
^ self reportLastMatch
!
scan3
[
self recordMatch:#( 31 33 ).
self step.
(currentCharacter isLetter) ifTrue:[
[
self recordMatch:#( 31 33 ).
self step.
(currentCharacter isLetter)
] whileTrue.
(currentCharacter isXMLDigit
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
].
(currentCharacter isXMLDigit)
] whileTrue.
((currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ]) ifTrue:[
[
self recordMatch:#( 33 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
^ self reportLastMatch
"Modified: / 04-07-2008 / 12:09:01 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
scan4
self recordMatch:#( 29 32 ).
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 recordMatch:#( 29 32 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ])
] whileTrue.
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $p) ifTrue:[
^ self scan5
].
^ self reportLastMatch
"Modified: / 12-02-2008 / 23:05:21 / janfrog"
!
scan5
self recordMatch:#( 29 32 ).
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 recordMatch:#( 29 32 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ])
] whileTrue.
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
^ self scan6
].
^ self reportLastMatch
"Modified: / 12-02-2008 / 23:05:21 / janfrog"
!
scan6
self recordMatch:#( 29 32 ).
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 recordMatch:#( 29 32 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ])
] whileTrue.
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $d) ifTrue:[
^ self scan7
].
^ self reportLastMatch
"Modified: / 12-02-2008 / 23:05:21 / janfrog"
!
scan7
self recordMatch:#( 29 32 ).
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 recordMatch:#( 29 32 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ])
] whileTrue.
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 29 32 ).
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 recordMatch:#( 29 32 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ])
] whileTrue.
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $f) ifTrue:[
self recordMatch:#( 29 32 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
[
self recordMatch:#( 29 32 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ])
] whileTrue.
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter between:$. and:$/) ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $-) ifTrue:[
self recordMatch:#( 32 ).
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:$r)
or:[ currentCharacter == $t or:[ (currentCharacter between:$v and:$z) ] ]
]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 32 ).
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:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 32 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$t)
or:[ (currentCharacter between:$v and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $u) ifTrue:[
self recordMatch:#( 32 ).
self step.
((currentCharacter between:$- and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$l)
or:[ (currentCharacter between:$n and:$z) ]
]
]
])
ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $m) ifTrue:[
self recordMatch:#( 18 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter == $s) ifTrue:[
self recordMatch:#( 32 ).
self step.
((currentCharacter between:$- and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$s)
or:[ (currentCharacter between:$u and:$z) ]
]
]
])
ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 32 ).
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:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 32 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$t)
or:[ (currentCharacter between:$v and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $u) ifTrue:[
self recordMatch:#( 32 ).
self step.
((currentCharacter between:$- and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$b)
or:[ (currentCharacter between:$d and:$z) ]
]
]
])
ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $c) ifTrue:[
self recordMatch:#( 32 ).
self step.
((currentCharacter between:$- and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$s)
or:[ (currentCharacter between:$u and:$z) ]
]
]
])
ifTrue:[
[
self recordMatch:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 28 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
self recordMatch:#( 32 ).
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
].
(currentCharacter == $u) ifTrue:[
self recordMatch:#( 32 ).
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:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 32 ).
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:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 32 ).
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:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 32 ).
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:#( 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 21 32 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
self recordMatch:#( 32 ).
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
"Modified: / 12-02-2008 / 23:05:21 / janfrog"
!
scanForToken
self step.
((currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$d)
or:[
(currentCharacter between:$g and:$o)
or:[
(currentCharacter between:$q and:$r)
or:[ (currentCharacter between:$v and:$z) ]
]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter isNationalDigit) ifTrue:[
^ self scan2
].
(currentCharacter isSeparator
or:[ currentCharacter == (Character codePoint:16rB) ])
ifTrue:[
[
self recordMatch:#whitespace.
self step.
(currentCharacter isSeparator
or:[ currentCharacter == (Character codePoint:16rB) ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $#) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[
(currentCharacter between:(Character codePoint:16rE) and:$F)
or:[ currentCharacter >= $H ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[ currentCharacter >= (Character codePoint:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $G) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[
(currentCharacter between:(Character codePoint:16rE) and:$d)
or:[ currentCharacter >= $f ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[ currentCharacter >= (Character codePoint:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[
(currentCharacter between:(Character codePoint:16rE) and:$m)
or:[ currentCharacter >= $o ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[ currentCharacter >= (Character codePoint:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[
(currentCharacter between:(Character codePoint:16rE) and:$d)
or:[ currentCharacter >= $f ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[ currentCharacter >= (Character codePoint:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[
(currentCharacter between:(Character codePoint:16rE) and:$q)
or:[ currentCharacter >= $s ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[ currentCharacter >= (Character codePoint:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[
(currentCharacter between:(Character codePoint:16rE) and:$`)
or:[ currentCharacter >= $b ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[ currentCharacter >= (Character codePoint:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $a) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[
(currentCharacter between:(Character codePoint:16rE) and:$s)
or:[ currentCharacter >= $u ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[ currentCharacter >= (Character codePoint:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[
(currentCharacter between:(Character codePoint:16rE) and:$d)
or:[ currentCharacter >= $f ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[ currentCharacter >= (Character codePoint:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[
(currentCharacter between:(Character codePoint:16rE) and:$c)
or:[ currentCharacter >= $e ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[ currentCharacter >= (Character codePoint:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $d) ifTrue:[
self recordMatch:#( 33 38 ).
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[ currentCharacter >= (Character codePoint:16rE) ]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character codePoint:16rB)
and:(Character codePoint:16rC))
or:[ currentCharacter >= (Character codePoint:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter == $() ifTrue:[
^ self recordAndReportMatch:#( 31 ).
].
(currentCharacter == $)) ifTrue:[
^ self recordAndReportMatch:#( 29 ).
].
(currentCharacter == $-) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetter
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter isNationalDigit) ifTrue:[
^ self scan2
].
^ self reportLastMatch
].
(currentCharacter == $.) ifTrue:[
[
self recordMatch:#( 34 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $:) ifTrue:[
self step.
(currentCharacter == $o) ifTrue:[
self step.
(currentCharacter == $f) ifTrue:[
self step.
(currentCharacter == $f) ifTrue:[
self step.
(currentCharacter == $s) ifTrue:[
self step.
(currentCharacter == $e) ifTrue:[
self step.
(currentCharacter == $t) ifTrue:[
^ self recordAndReportMatch:#( 5 ).
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter == $s) ifTrue:[
self step.
(currentCharacter == $i) ifTrue:[
self step.
(currentCharacter == $z) ifTrue:[
self step.
(currentCharacter == $e) ifTrue:[
^ self recordAndReportMatch:#( 10 ).
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $u) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $m) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
^ self scan1
].
(currentCharacter between:$. and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $-) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$e)
or:[ (currentCharacter between:$g and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $f) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$q)
or:[ (currentCharacter between:$s and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$f)
or:[ (currentCharacter between:$h and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $g) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$m)
or:[ (currentCharacter between:$o and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 3 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
self recordMatch:#( 37 ).
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
].
(currentCharacter == $f) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$q)
or:[
(currentCharacter between:$s and:$t)
or:[ (currentCharacter between:$v and:$z) ]
]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $m) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
^ self scan1
].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $:) ifTrue:[
^ self recordAndReportMatch:#( 32 ).
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter == $u) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $c) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
^ self scan1
].
(currentCharacter between:$. and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $-) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$s)
or:[ (currentCharacter between:$u and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[ (currentCharacter between:$a and:$x) or:[ currentCharacter == $z ] ]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $y) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$o)
or:[ (currentCharacter between:$q and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $p) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 24 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
self recordMatch:#( 37 ).
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
].
(currentCharacter == $p) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
^ self scan1
].
(currentCharacter between:$. and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $-) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$s)
or:[ (currentCharacter between:$u and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 12 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
self recordMatch:#( 37 ).
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
].
(currentCharacter == $s) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $u) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $c) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
^ self scan1
].
(currentCharacter between:$. and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $-) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$e)
or:[ (currentCharacter between:$g and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $f) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$q)
or:[ (currentCharacter between:$s and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$f)
or:[ (currentCharacter between:$h and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $g) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$m)
or:[ (currentCharacter between:$o and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 9 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
self recordMatch:#( 37 ).
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:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $y) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $p) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $d) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $f) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
^ self scan1
].
(currentCharacter between:$. and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $-) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$e)
or:[ (currentCharacter between:$g and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $f) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$q)
or:[ (currentCharacter between:$s and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$f)
or:[ (currentCharacter between:$h and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $g) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$m)
or:[ (currentCharacter between:$o and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 1 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
self recordMatch:#( 37 ).
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:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isLetterOrDigit or:[ currentCharacter == $_ ]) ifTrue:[
^ self scan1
].
(currentCharacter between:$. and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $-) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$e)
or:[ (currentCharacter between:$g and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $f) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$q)
or:[ (currentCharacter between:$s and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$f)
or:[ (currentCharacter between:$h and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $g) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isNationalDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$m)
or:[ (currentCharacter between:$o and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 7 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
ifTrue:[
[
self recordMatch:#( 37 ).
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
! !
!CDefinitionScanner methodsFor:'generated-tokens'!
emptySymbolTokenId
^40
!
errorTokenId
^39
! !
!CDefinitionScanner class methodsFor:'documentation'!
version
^ '$Id$'
!
version_SVN
^ '$Id$'
! !