|
Class: JavaScriptScanner
Object
|
+--Scanner
|
+--JavaScriptScanner
|
+--JavaScriptParser
- Package:
- stx:libjavascript
- Category:
- Languages-JavaScript-Compiling & Parsing
- Version:
- rev:
1.56
date: 2018/04/24 19:33:25
- user: cg
- file: JavaScriptScanner.st directory: libjavascript
- module: stx stc-classLibrary: libjavascript
initialization
-
setupActions
-
initialize the scanners actionTables - these are used to dispatch
into scanner methods as characters are read
usage example(s):
JavaScriptScanner setupActions
|
accessing
-
tokenType
-
initialization
-
initialize
-
initialize the scanner
private
-
checkForKeyword: string
-
check if string is a keyword (as opposed to an identifier).
-
handleCategoryDirective: categoryString
-
called when encountering a /** category: xxxx **/ comment;
categoryString will be xxxx.
Can be redefined in subclasses
-
handleCommentDirectivesIn: commentText
-
called for the text after the initial "/*"
-
isCommentCharacter: ch
-
return true, if ch is the comment-start character
reading next token
-
hex2CharacterEscape
-
-
hex4CharacterEscape
-
-
nextCharacter
-
-
nextMulti: list after: firstChar
-
a char has been read - peek ahead in list
-
nextNumber
-
nextChar == (Character cr) ifTrue:[
-
nextString
-
-
nextStringOrCharacter: asCharacter
-
-
nextToken
-
Verbose := true
-
skipComment
-
* has already been read"
-
skipEOLComment
-
/ has already been read"
|s in|
in := '
function scalefactor(value) {
scalevector[0]=value;
scalevector[1]=1.;
scalevector[2]=1.;
}
'.
s := JavaScriptScanner for:in readStream.
s nextToken
|s in|
in := '
function scalefactor(value) {
scalevector[0]=value;
scalevector[1]=1.;
scalevector[2]=1.;
}
'.
s := JavaScriptScanner new.
s scanTokens:(in readStream).
|