"{ Package: 'cvut:fel/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]* ;
"
"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) )
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'!
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
"Modified: / 09-09-2008 / 17:05:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
scan2
[
self recordMatch:#( 35 37 ).
self step.
(currentCharacter isLetter) ifTrue:[
[
self recordMatch:#( 35 37 ).
self step.
(currentCharacter isLetter)
] whileTrue.
(currentCharacter isXMLDigit
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 isXMLDigit)
] 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
"Modified: / 09-09-2008 / 17:05:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
!
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 isXMLDigit) ifTrue:[
^ self scan2
].
(currentCharacter isSeparator
or:[ currentCharacter == (Character value:16rB) ])
ifTrue:[
[
self recordMatch:#whitespace.
self step.
(currentCharacter isSeparator
or:[ currentCharacter == (Character value:16rB) ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $#) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[
(currentCharacter between:(Character value:16rE) and:$F)
or:[ currentCharacter >= $H ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[ currentCharacter >= (Character value:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $G) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[
(currentCharacter between:(Character value:16rE) and:$d)
or:[ currentCharacter >= $f ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[ currentCharacter >= (Character value:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[
(currentCharacter between:(Character value:16rE) and:$m)
or:[ currentCharacter >= $o ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[ currentCharacter >= (Character value:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[
(currentCharacter between:(Character value:16rE) and:$d)
or:[ currentCharacter >= $f ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[ currentCharacter >= (Character value:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[
(currentCharacter between:(Character value:16rE) and:$q)
or:[ currentCharacter >= $s ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[ currentCharacter >= (Character value:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[
(currentCharacter between:(Character value:16rE) and:$`)
or:[ currentCharacter >= $b ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[ currentCharacter >= (Character value:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $a) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[
(currentCharacter between:(Character value:16rE) and:$s)
or:[ currentCharacter >= $u ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[ currentCharacter >= (Character value:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[
(currentCharacter between:(Character value:16rE) and:$d)
or:[ currentCharacter >= $f ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[ currentCharacter >= (Character value:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[
(currentCharacter between:(Character value:16rE) and:$c)
or:[ currentCharacter >= $e ]
]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[ currentCharacter >= (Character value:16rE) ]
])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $d) ifTrue:[
self recordMatch:#( 11 38 ).
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[ currentCharacter >= (Character value:16rE) ]
])
ifTrue:[
[
self recordMatch:#comment.
self step.
(currentCharacter <= (Character tab)
or:[
(currentCharacter between:(Character value:16rB)
and:(Character value:16rC))
or:[ currentCharacter >= (Character value: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:#( 13 ).
].
(currentCharacter == $)) ifTrue:[
^ self recordAndReportMatch:#( 15 ).
].
(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 isXMLDigit) 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:#( 21 ).
].
^ 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:#( 30 ).
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$m)
or:[ (currentCharacter between:$o and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$t)
or:[ (currentCharacter between:$v and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $u) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$l)
or:[ (currentCharacter between:$n and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 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 between:$- and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$e)
or:[ (currentCharacter between:$g and:$z) ]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $f) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$d)
or:[ (currentCharacter between:$f and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 37 ).
self step.
((currentCharacter between:$- and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$f)
or:[ (currentCharacter between:$h and:$z) ]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $g) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 23 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 isXMLDigit
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 isXMLDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$n)
or:[ (currentCharacter between:$p and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$l)
or:[ (currentCharacter between:$n and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 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:#( 10 ).
].
^ self reportLastMatch
].
^ self reportLastMatch
].
^ self reportLastMatch
].
(currentCharacter == $u) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$m)
or:[ (currentCharacter between:$o and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$b)
or:[ (currentCharacter between:$d and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $c) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$s)
or:[ (currentCharacter between:$u and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$h)
or:[ (currentCharacter between:$j and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$n)
or:[ (currentCharacter between:$p and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$m)
or:[ (currentCharacter between:$o and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 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 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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 37 ).
self step.
((currentCharacter between:$- and:$9)
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 between:$- 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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $p) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$d)
or:[ (currentCharacter between:$f and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 2 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 isXMLDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$n)
or:[ (currentCharacter between:$p and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$h)
or:[ (currentCharacter between:$j and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$m)
or:[ (currentCharacter between:$o and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$s)
or:[ (currentCharacter between:$u and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$d)
or:[ (currentCharacter between:$f and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$q)
or:[ (currentCharacter between:$s and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 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 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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 33 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 between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$s)
or:[ (currentCharacter between:$u and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $t) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$q)
or:[ (currentCharacter between:$s and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$t)
or:[ (currentCharacter between:$v and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $u) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$b)
or:[ (currentCharacter between:$d and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $c) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$s)
or:[ (currentCharacter between:$u and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 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 between:$- and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$e)
or:[ (currentCharacter between:$g and:$z) ]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $f) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$d)
or:[ (currentCharacter between:$f and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 37 ).
self step.
((currentCharacter between:$- and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$f)
or:[ (currentCharacter between:$h and:$z) ]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $g) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 25 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 between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[ (currentCharacter between:$a and:$x) or:[ currentCharacter == $z ] ]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $y) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$o)
or:[ (currentCharacter between:$q and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $p) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$d)
or:[ (currentCharacter between:$f and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$c)
or:[ (currentCharacter between:$e and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $d) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$d)
or:[ (currentCharacter between:$f and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$e)
or:[ (currentCharacter between:$g and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 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 between:$- and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$e)
or:[ (currentCharacter between:$g and:$z) ]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $f) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$d)
or:[ (currentCharacter between:$f and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 37 ).
self step.
((currentCharacter between:$- and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$f)
or:[ (currentCharacter between:$h and:$z) ]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $g) ifTrue:[
self recordMatch:#( 37 ).
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:#( 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
].
^ self reportLastMatch
].
(currentCharacter == $u) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$m)
or:[ (currentCharacter between:$o and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$h)
or:[ (currentCharacter between:$j and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$n)
or:[ (currentCharacter between:$p and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 34 37 ).
self step.
((currentCharacter between:$0 and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$m)
or:[ (currentCharacter between:$o and:$z) ]
]
]
])
ifTrue:[ ^ self scan1 ].
(currentCharacter between:$- and:$/) ifTrue:[
[
self recordMatch:#( 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 between:$- and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$e)
or:[ (currentCharacter between:$g and:$z) ]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $f) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $o) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $r) ifTrue:[
self recordMatch:#( 37 ).
self step.
(currentCharacter isXMLDigit
or:[
(currentCharacter between:$- and:$/)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$d)
or:[ (currentCharacter between:$f and:$z) ]
]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $e) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $i) ifTrue:[
self recordMatch:#( 37 ).
self step.
((currentCharacter between:$- and:$9)
or:[
(currentCharacter between:$A and:$Z)
or:[
currentCharacter == $_
or:[
(currentCharacter between:$a and:$f)
or:[ (currentCharacter between:$h and:$z) ]
]
]
])
ifTrue:[
[
self recordMatch:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $g) ifTrue:[
self recordMatch:#( 37 ).
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:#( 37 ).
self step.
(currentCharacter isLetterOrDigit
or:[ (currentCharacter between:$- and:$/) or:[ currentCharacter == $_ ] ])
] whileTrue.
^ self reportLastMatch
].
(currentCharacter == $n) ifTrue:[
self recordMatch:#( 19 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
"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>"
!
errorTokenId
^65
"Modified: / 09-09-2008 / 17:05:05 / Jan Vrany <vranyj1@fel.cvut.cz>"
! !
!CDefinitionScanner class methodsFor:'documentation'!
version
^ '$Id$'
!
version_SVN
^ '$Id$'
! !