"{ Package: 'jv:tea/compiler' }"
"{ NameSpace: Smalltalk }"
RBScanner subclass:#TScanner
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'Languages-Tea-Compiler-AST'
!
!TScanner methodsFor:'private-scanning'!
scanSpecialCharacter
| character |
currentCharacter == $: ifTrue:
[self step.
currentCharacter == $=
ifTrue:
[self step.
^ RBAssignmentToken start: tokenStart]
ifFalse: [^ RBSpecialCharacterToken value: $: start: tokenStart]].
currentCharacter == $% ifTrue:[
RBParser isSmalltalkX ifTrue:[
self step.
currentCharacter == ${ ifTrue:[
self step.
^ self scanSTXPrimitiveCode.
].
currentCharacter == $[ ifTrue:[
self step.
^ TInlineAssemblyBeginToken new
lineNumber: tokenLineNumber;
start: tokenStart;
yourself.
].
currentCharacter == $] ifTrue:[
self step.
^ TInlineAssemblyEndToken new
lineNumber: tokenLineNumber;
start: tokenStart;
yourself.
].
characterType := #binary.
^ self scanBinary:RBBinarySelectorToken alreadyRead:$%.
].
^ self scanBinary: RBBinarySelectorToken
].
character := currentCharacter.
self step.
^RBSpecialCharacterToken value: character start: tokenStart lineNumber: tokenLineNumber
"Created: / 02-09-2015 / 06:00:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!TScanner class methodsFor:'documentation'!
version_HG
^ '$Changeset: <not expanded> $'
! !