Package gw.internal.gosu.parser
Class SourceCodeTokenizer
- java.lang.Object
-
- gw.internal.gosu.parser.SourceCodeTokenizer
-
- All Implemented Interfaces:
ISourceCodeTokenizer
public final class SourceCodeTokenizer extends java.lang.Object implements ISourceCodeTokenizer
-
-
Field Summary
Fields Modifier and Type Field Description private SourceCodeTokenizerInternal_internalprivate Stack<ITokenizerOffsetMarker>_offsetMarkersprivate int_state-
Fields 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
Constructors Modifier Constructor Description privateSourceCodeTokenizer()privateSourceCodeTokenizer(boolean initForCopy)SourceCodeTokenizer(SourceCodeReader reader)SourceCodeTokenizer(SourceCodeReader reader, ITokenizerInstructor instructor)SourceCodeTokenizer(java.io.Reader reader)SourceCodeTokenizer(java.lang.CharSequence sourceCode)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcommentChar(int ch)ITokencopy()ITokencopyInto(IToken t)intcountMatches(java.lang.String s)intcountMatches(java.lang.String s, int tokenType)voideolIsSignificant(boolean bFlag)TokengetCurrentToken()ITokenizerInstructorgetInstructor()SourceCodeTokenizerInternalgetInternal()intgetLineNumber()intgetLineOffset()ITokenizerOffsetMarkergetOffsetMarker()TokengetPriorToken()TokengetPriorToken(boolean bSkipWhitespace)TokengetPriorToken(boolean bSkipWhitespace, boolean bSkipComments)SourceCodeReadergetReader()intgetRestoreState()java.lang.StringgetSource()intgetState()java.lang.StringgetStringValue()java.lang.StringgetTokenAsString()TokengetTokenAt(int iTokenIndex)ITokengetTokenAtPosition(int docPosition)intgetTokenColumn()intgetTokenEnd()Stack<Token>getTokens()intgetTokenStart()intgetType()(package private) voidgoToPosition(int iOffset)booleanisAnalyzingDirective()booleanisAnalyzingSeparately()booleanisCommentsSignificant()booleanisEOF()booleanisNOTHING()booleanisOperator(java.lang.String strOperator)booleanisParseDotsAsOperators()booleanisPositioned()booleanisSupportsKeywords()booleanisUnterminatedComment()booleanisUnterminatedString()booleanisWhitespaceSignificant()SourceCodeTokenizerlightweightRestore()intlookaheadType(int iTokens, boolean bSkipSpaces)voidlowerCaseMode(boolean bLowerCaseMode)intmark()private intmaybeSkipWhitespaceAndComments(int state, Stack<Token> tokens, int count)voidnextToken()voidoperatorChars(int iLow, int iHigh)voidoperators(java.lang.String[] astrOperators)voidordinaryChar(int ch)voidordinaryChars(int iLow, int iHigh)voidparseNumbers()DocCommentBlockpopLastComment()voidpopOffsetMarker(ITokenizerOffsetMarker offsetMarker)voidpushOffsetMarker(ITokenizerOffsetMarker offsetMarker)voidquoteChar(int ch)voidreset()voidreset(SourceCodeReader reader)private voidreset(SourceCodeReader reader, boolean bResetReader)voidreset(java.io.Reader reader)voidresetButKeepTokens()voidrestoreToMark(int iMarkedOffset)voidsetCommentsSignificant(boolean bCommentsSignificant)voidsetInstructor(ITokenizerInstructor instructor)voidsetParseDotsAsOperators(boolean parseDotsAsOperators)voidsetSupportsKeywords(boolean supportsKeywords)voidsetWhitespaceSignificant(boolean bWhitespaceSignificant)private intskipSpaces(int iPos)java.lang.StringtoString()voidwhitespaceChars(int iLow, int iHigh)voidwordChars(int iLow, int iHigh)
-
-
-
Field Detail
-
_state
private int _state
-
_internal
private SourceCodeTokenizerInternal _internal
-
_offsetMarkers
private Stack<ITokenizerOffsetMarker> _offsetMarkers
-
-
Constructor Detail
-
SourceCodeTokenizer
private SourceCodeTokenizer()
-
SourceCodeTokenizer
private SourceCodeTokenizer(boolean initForCopy)
-
SourceCodeTokenizer
public SourceCodeTokenizer(java.lang.CharSequence sourceCode)
-
SourceCodeTokenizer
public SourceCodeTokenizer(java.io.Reader reader)
-
SourceCodeTokenizer
public SourceCodeTokenizer(SourceCodeReader reader)
-
SourceCodeTokenizer
public SourceCodeTokenizer(SourceCodeReader reader, ITokenizerInstructor instructor)
-
-
Method Detail
-
copy
public IToken copy()
- Specified by:
copyin interfaceISourceCodeTokenizer
-
copyInto
public IToken copyInto(IToken t)
- Specified by:
copyIntoin interfaceISourceCodeTokenizer
-
getInternal
public SourceCodeTokenizerInternal getInternal()
-
lightweightRestore
public SourceCodeTokenizer 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
public void reset(java.io.Reader reader)
- Specified by:
resetin interfaceISourceCodeTokenizer
-
reset
public void reset(SourceCodeReader reader)
- Specified by:
resetin interfaceISourceCodeTokenizer
-
reset
private void reset(SourceCodeReader reader, boolean bResetReader)
-
getReader
public SourceCodeReader getReader()
- Specified by:
getReaderin interfaceISourceCodeTokenizer
-
getSource
public java.lang.String getSource()
- Specified by:
getSourcein interfaceISourceCodeTokenizer
-
getInstructor
public ITokenizerInstructor getInstructor()
- Specified by:
getInstructorin interfaceISourceCodeTokenizer
-
setInstructor
public void setInstructor(ITokenizerInstructor instructor)
- 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
public final Token getCurrentToken()
- Specified by:
getCurrentTokenin interfaceISourceCodeTokenizer
-
getTokenAt
public Token getTokenAt(int iTokenIndex)
- Specified by:
getTokenAtin interfaceISourceCodeTokenizer
-
getTokenAtPosition
public IToken getTokenAtPosition(int docPosition)
- 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
public void operators(java.lang.String[] astrOperators)
- Specified by:
operatorsin interfaceISourceCodeTokenizer
-
operatorChars
public void operatorChars(int iLow, int iHigh)- Specified by:
operatorCharsin interfaceISourceCodeTokenizer
-
isOperator
public boolean isOperator(java.lang.String strOperator)
- 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
public DocCommentBlock popLastComment()
-
getTokenStart
public int getTokenStart()
- Specified by:
getTokenStartin interfaceISourceCodeTokenizer
-
getTokenEnd
public int getTokenEnd()
- Specified by:
getTokenEndin interfaceISourceCodeTokenizer
-
getTokenAsString
public java.lang.String 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
public final Stack<Token> getTokens()
- Specified by:
getTokensin interfaceISourceCodeTokenizer
-
nextToken
public void nextToken()
- Specified by:
nextTokenin interfaceISourceCodeTokenizer
-
maybeSkipWhitespaceAndComments
private int maybeSkipWhitespaceAndComments(int state, Stack<Token> tokens, int count)
-
getStringValue
public java.lang.String getStringValue()
- Specified by:
getStringValuein interfaceISourceCodeTokenizer
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getOffsetMarker
public ITokenizerOffsetMarker getOffsetMarker()
-
pushOffsetMarker
public void pushOffsetMarker(ITokenizerOffsetMarker offsetMarker)
- Specified by:
pushOffsetMarkerin interfaceISourceCodeTokenizer
-
popOffsetMarker
public void popOffsetMarker(ITokenizerOffsetMarker offsetMarker)
- Specified by:
popOffsetMarkerin interfaceISourceCodeTokenizer
-
getState
public int getState()
- Specified by:
getStatein interfaceISourceCodeTokenizer
-
countMatches
public int countMatches(java.lang.String s)
- Specified by:
countMatchesin interfaceISourceCodeTokenizer
-
countMatches
public int countMatches(java.lang.String s, int tokenType)- 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
void goToPosition(int iOffset) throws java.io.IOException- Throws:
java.io.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
public Token getPriorToken()
-
getPriorToken
public Token getPriorToken(boolean bSkipWhitespace)
-
getPriorToken
public Token getPriorToken(boolean bSkipWhitespace, boolean bSkipComments)
-
lookaheadType
public int lookaheadType(int iTokens, boolean bSkipSpaces)
-
skipSpaces
private int skipSpaces(int iPos)
-
-