Package gw.internal.gosu.parser
Class SourceCodeTokenizer
java.lang.Object
gw.internal.gosu.parser.SourceCodeTokenizer
- All Implemented Interfaces:
ISourceCodeTokenizer
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate SourceCodeTokenizerInternalprivate Stack<ITokenizerOffsetMarker>private intFields inherited from interface gw.lang.parser.ISourceCodeTokenizer
TT_COMMENT, TT_EOF, TT_EOL, TT_INTEGER, TT_KEYWORD, TT_NOTHING, TT_NUMBER, TT_OPERATOR, TT_WHITESPACE, TT_WORD -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateprivateSourceCodeTokenizer(boolean initForCopy) SourceCodeTokenizer(SourceCodeReader reader) SourceCodeTokenizer(SourceCodeReader reader, ITokenizerInstructor instructor) SourceCodeTokenizer(Reader reader) SourceCodeTokenizer(CharSequence sourceCode) -
Method Summary
Modifier and TypeMethodDescriptionvoidcommentChar(int ch) copy()intintcountMatches(String s, int tokenType) voideolIsSignificant(boolean bFlag) final TokenintintgetPriorToken(boolean bSkipWhitespace) getPriorToken(boolean bSkipWhitespace, boolean bSkipComments) intintgetState()getTokenAt(int iTokenIndex) getTokenAtPosition(int docPosition) intintintintgetType()(package private) voidgoToPosition(int iOffset) booleanbooleanbooleanbooleanisEOF()booleanbooleanisOperator(String strOperator) booleanbooleanbooleanbooleanbooleanbooleanintlookaheadType(int iTokens, boolean bSkipSpaces) voidlowerCaseMode(boolean bLowerCaseMode) intmark()private intmaybeSkipWhitespaceAndComments(int state, Stack<Token> tokens, int count) voidvoidoperatorChars(int iLow, int iHigh) voidvoidordinaryChar(int ch) voidordinaryChars(int iLow, int iHigh) voidvoidpopOffsetMarker(ITokenizerOffsetMarker offsetMarker) voidpushOffsetMarker(ITokenizerOffsetMarker offsetMarker) voidquoteChar(int ch) voidreset()voidreset(SourceCodeReader reader) private voidreset(SourceCodeReader reader, boolean bResetReader) voidvoidvoidrestoreToMark(int iMarkedOffset) voidsetCommentsSignificant(boolean bCommentsSignificant) voidsetInstructor(ITokenizerInstructor instructor) voidsetParseDotsAsOperators(boolean parseDotsAsOperators) voidsetSupportsKeywords(boolean supportsKeywords) voidsetWhitespaceSignificant(boolean bWhitespaceSignificant) private intskipSpaces(int iPos) toString()voidwhitespaceChars(int iLow, int iHigh) voidwordChars(int iLow, int iHigh)
-
Field Details
-
_state
private int _state -
_internal
-
_offsetMarkers
-
-
Constructor Details
-
SourceCodeTokenizer
private SourceCodeTokenizer() -
SourceCodeTokenizer
private SourceCodeTokenizer(boolean initForCopy) -
SourceCodeTokenizer
-
SourceCodeTokenizer
-
SourceCodeTokenizer
-
SourceCodeTokenizer
-
-
Method Details
-
copy
- Specified by:
copyin interfaceISourceCodeTokenizer
-
copyInto
- Specified by:
copyIntoin interfaceISourceCodeTokenizer
-
getInternal
-
lightweightRestore
- Specified by:
lightweightRestorein interfaceISourceCodeTokenizer- Returns:
- a very lightweight restored copy of this tokenizer, without deep cloning anything. This method should be used with care, as it does not clone internal state and cannot actually tokenize. It should be used only for offset information.
-
isPositioned
public boolean isPositioned()- Specified by:
isPositionedin interfaceISourceCodeTokenizer
-
reset
public void reset()- Specified by:
resetin interfaceISourceCodeTokenizer
-
reset
- Specified by:
resetin interfaceISourceCodeTokenizer
-
reset
- Specified by:
resetin interfaceISourceCodeTokenizer
-
reset
-
getReader
- Specified by:
getReaderin interfaceISourceCodeTokenizer
-
getSource
- Specified by:
getSourcein interfaceISourceCodeTokenizer
-
getInstructor
- Specified by:
getInstructorin interfaceISourceCodeTokenizer
-
setInstructor
- Specified by:
setInstructorin interfaceISourceCodeTokenizer
-
isWhitespaceSignificant
public boolean isWhitespaceSignificant()- Specified by:
isWhitespaceSignificantin interfaceISourceCodeTokenizer
-
setWhitespaceSignificant
public void setWhitespaceSignificant(boolean bWhitespaceSignificant) - Specified by:
setWhitespaceSignificantin interfaceISourceCodeTokenizer
-
isCommentsSignificant
public boolean isCommentsSignificant()- Specified by:
isCommentsSignificantin interfaceISourceCodeTokenizer
-
setCommentsSignificant
public void setCommentsSignificant(boolean bCommentsSignificant) - Specified by:
setCommentsSignificantin interfaceISourceCodeTokenizer
-
getCurrentToken
- Specified by:
getCurrentTokenin interfaceISourceCodeTokenizer
-
getTokenAt
- Specified by:
getTokenAtin interfaceISourceCodeTokenizer
-
getTokenAtPosition
- Specified by:
getTokenAtPositionin interfaceISourceCodeTokenizer
-
getLineNumber
public int getLineNumber()- Specified by:
getLineNumberin interfaceISourceCodeTokenizer
-
getLineOffset
public int getLineOffset()- Specified by:
getLineOffsetin interfaceISourceCodeTokenizer
-
getTokenColumn
public int getTokenColumn()- Specified by:
getTokenColumnin interfaceISourceCodeTokenizer
-
wordChars
public void wordChars(int iLow, int iHigh) - Specified by:
wordCharsin interfaceISourceCodeTokenizer
-
whitespaceChars
public void whitespaceChars(int iLow, int iHigh) - Specified by:
whitespaceCharsin interfaceISourceCodeTokenizer
-
ordinaryChars
public void ordinaryChars(int iLow, int iHigh) - Specified by:
ordinaryCharsin interfaceISourceCodeTokenizer
-
ordinaryChar
public void ordinaryChar(int ch) - Specified by:
ordinaryCharin interfaceISourceCodeTokenizer
-
operators
- Specified by:
operatorsin interfaceISourceCodeTokenizer
-
operatorChars
public void operatorChars(int iLow, int iHigh) - Specified by:
operatorCharsin interfaceISourceCodeTokenizer
-
isOperator
- Specified by:
isOperatorin interfaceISourceCodeTokenizer
-
commentChar
public void commentChar(int ch) - Specified by:
commentCharin interfaceISourceCodeTokenizer
-
quoteChar
public void quoteChar(int ch) - Specified by:
quoteCharin interfaceISourceCodeTokenizer
-
parseNumbers
public void parseNumbers()- Specified by:
parseNumbersin interfaceISourceCodeTokenizer
-
eolIsSignificant
public void eolIsSignificant(boolean bFlag) - Specified by:
eolIsSignificantin interfaceISourceCodeTokenizer
-
lowerCaseMode
public void lowerCaseMode(boolean bLowerCaseMode) - Specified by:
lowerCaseModein interfaceISourceCodeTokenizer
-
isUnterminatedString
public boolean isUnterminatedString()- Specified by:
isUnterminatedStringin interfaceISourceCodeTokenizer
-
isUnterminatedComment
public boolean isUnterminatedComment()- Specified by:
isUnterminatedCommentin interfaceISourceCodeTokenizer
-
setParseDotsAsOperators
public void setParseDotsAsOperators(boolean parseDotsAsOperators) - Specified by:
setParseDotsAsOperatorsin interfaceISourceCodeTokenizer
-
isParseDotsAsOperators
public boolean isParseDotsAsOperators()- Specified by:
isParseDotsAsOperatorsin interfaceISourceCodeTokenizer
-
popLastComment
-
getTokenStart
public int getTokenStart()- Specified by:
getTokenStartin interfaceISourceCodeTokenizer
-
getTokenEnd
public int getTokenEnd()- Specified by:
getTokenEndin interfaceISourceCodeTokenizer
-
getTokenAsString
- Specified by:
getTokenAsStringin interfaceISourceCodeTokenizer
-
mark
public int mark()- Specified by:
markin interfaceISourceCodeTokenizer
-
restoreToMark
public void restoreToMark(int iMarkedOffset) - Specified by:
restoreToMarkin interfaceISourceCodeTokenizer
-
getRestoreState
public int getRestoreState()- Specified by:
getRestoreStatein interfaceISourceCodeTokenizer
-
getTokens
- Specified by:
getTokensin interfaceISourceCodeTokenizer
-
nextToken
public void nextToken()- Specified by:
nextTokenin interfaceISourceCodeTokenizer
-
maybeSkipWhitespaceAndComments
-
getStringValue
- Specified by:
getStringValuein interfaceISourceCodeTokenizer
-
toString
-
getOffsetMarker
-
pushOffsetMarker
- Specified by:
pushOffsetMarkerin interfaceISourceCodeTokenizer
-
popOffsetMarker
- Specified by:
popOffsetMarkerin interfaceISourceCodeTokenizer
-
getState
public int getState()- Specified by:
getStatein interfaceISourceCodeTokenizer
-
countMatches
- Specified by:
countMatchesin interfaceISourceCodeTokenizer
-
countMatches
- Specified by:
countMatchesin interfaceISourceCodeTokenizer
-
getType
public int getType()- Specified by:
getTypein interfaceISourceCodeTokenizer
-
isEOF
public boolean isEOF()- Specified by:
isEOFin interfaceISourceCodeTokenizer
-
isNOTHING
public boolean isNOTHING() -
goToPosition
- Throws:
IOException
-
resetButKeepTokens
public void resetButKeepTokens() -
isAnalyzingSeparately
public boolean isAnalyzingSeparately()- Specified by:
isAnalyzingSeparatelyin interfaceISourceCodeTokenizer
-
isAnalyzingDirective
public boolean isAnalyzingDirective()- Specified by:
isAnalyzingDirectivein interfaceISourceCodeTokenizer
-
isSupportsKeywords
public boolean isSupportsKeywords()- Specified by:
isSupportsKeywordsin interfaceISourceCodeTokenizer
-
setSupportsKeywords
public void setSupportsKeywords(boolean supportsKeywords) - Specified by:
setSupportsKeywordsin interfaceISourceCodeTokenizer
-
getPriorToken
-
getPriorToken
-
getPriorToken
-
lookaheadType
public int lookaheadType(int iTokens, boolean bSkipSpaces) -
skipSpaces
private int skipSpaces(int iPos)
-