|
Class: XDRScanner (in SunRPC)
Object
|
+--Scanner
|
+--SunRPC::XDRScanner
- Package:
- stx:goodies/communication
- Category:
- Net-Communication-SunRPC-XDR_IDL
- Version:
- rev:
1.13
date: 2019/05/24 09:56:03
- user: cg
- file: SunRPC_XDRScanner.st directory: goodies/communication
- module: stx stc-classLibrary: communication
- Author:
- Claus Gittinger
scanner for XDR-definition files - provides token scanning functionality
for the XDRParser. (normally not used by its own).
XDR is the IDL of SunRPC.
initialization
-
initialize
-
(comment from inherited method)
initialize the classes defaults. Typically, these are changed
later in the 'private.rc' file.
-
setupActions
-
initialize the scanners actionTables - these are used to dispatch
into scanner methods as characters are read
usage example(s):
-
update: something with: parameter from: changedObject
-
bug work-around (compiled cheap blocks loose their code)
accessing
-
newSource: aStringOrStream
-
-
source
-
initialization
-
initialize
-
initialize the scanner
private
-
checkForKeyword: string
-
check if string is a keyword (as opposed to an identifier).
-
isCommentCharacter: ch
-
return true, if ch is the comment-start character
-
pushBack: aToken
-
-
skipForClosing: closingToken with: openingToken
-
reading next token
-
nextCharacter
-
a single quote has been scanned; scan the character-string (caring for quotes).
TODO: C-escapes; \0xx; \0xxx
-
nextEq
-
'=' has been read - look for another '='
-
nextGT
-
'>' has been read - look for another '>'
-
nextLT
-
'<' has been read - look for another '<'
-
nextMinus
-
'-' has been read - look for another '-'
-
nextNumber
-
a digit has been read; scan a number (0xfoo / 0octal / decimal or float).
if specialFloat is true, return float value as hi.low (for version numbers)
-
nextPlus
-
'+' has been read - look for another '+'
-
nextSlash
-
'/' has been read - next could be:
'/' - EOL comment
'*' - regular comment
-
nextString
-
a doubled quote has been scanned; scan the string (caring for doubled quotes
-
nextToken
-
return the next token from my source-stream
specials
-
readingStream: aStream do: aBlock
-
-
restOfLine
-
|