Package gw.internal.gosu.parser
Class SourceCodeTokenizerInternal
java.lang.Object
gw.internal.gosu.parser.SourceCodeTokenizerInternal
This class is adapted from java.io.SourceCodeTokenizer. It adds the notion
of operator to the mix. You can define your own operators or use the
default set of operators, which are taken from the Java Language Spec.
It also captures state information for use by our parser e.g., current token
location, line number and column.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate booleanprivate booleanprivate booleanbooleanbooleanprivate booleanprivate int[]private Tokenprivate intintprivate intprivate intprivate ITokenizerInstructorprivate intprivate intprivate intintprivate DocCommentBlock(package private) intprivate SourceCodeReaderprivate booleanprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intprotected static final int -
Constructor Summary
ConstructorsConstructorDescriptionSourceCodeTokenizerInternal(boolean initForCopy) SourceCodeTokenizerInternal(SourceCodeReader reader, ITokenizerInstructor instructor) SourceCodeTokenizerInternal(Reader reader) SourceCodeTokenizerInternal(CharSequence sourceCode) -
Method Summary
Modifier and TypeMethodDescriptionprivate intvoidbitshiftOperatorChars(int iLow, int iHigh) voidcharQuoteChar(int ch) voidcommentChar(int ch) private voidcopy()voideolIsSignificant(boolean bFlag) static String[]static String[]intintintintintintgetType()(package private) voidgoToPosition(int iOffset) protected voidprivate void(package private) Tokenbooleanbooleanprivate booleanbooleanbooleanisEOF()private booleanisHexDigit(int c) private booleanisLeftOpenIntervalOp(String strOpTest) booleanbooleanisOperator(String strOperator) booleanprivate booleanbooleanbooleanbooleanbooleanvoidlowerCaseMode(boolean bLowerCaseMode) intvoidoperatorChars(int iLow, int iHigh) voidvoidordinaryChar(int ch) voidordinaryChars(int iLow, int iHigh) voidprivate voidprivate voidprivate voidpushWhitespaceToken(StringBuilder sbWhitespace) voidquoteChar(int ch) private intread()private intreadOne()protected intreadWithInstructions(int c) voidreset()voidreset(SourceCodeReader reader) (package private) voidreset(SourceCodeReader reader, boolean bResetReader) void(package private) voidrip()private voidsetBitshiftOperatorChars(Set<String> operators) voidsetCommentsSignificant(boolean bCommentsSignificant) voidsetInstructor(ITokenizerInstructor instructor) private voidsetOperatorChars(Set<String> operators) voidsetParseDotsAsOperators(boolean parseDotsAsOperators) voidsetSupportsKeywords(boolean supportsKeywords) (package private) voidvoidsetWhitespaceSignificant(boolean bWhitespaceSignificant) private booleanstopOnDot(int c) toString()voidwhitespaceChars(int iLow, int iHigh) voidwordChars(int iLow, int iHigh)
-
Field Details
-
CT_WHITESPACE
protected static final int CT_WHITESPACE- See Also:
-
CT_DIGIT
protected static final int CT_DIGIT- See Also:
-
CT_ALPHA
protected static final int CT_ALPHA- See Also:
-
CT_QUOTE
protected static final int CT_QUOTE- See Also:
-
CT_COMMENT
protected static final int CT_COMMENT- See Also:
-
CT_OPERATOR
protected static final int CT_OPERATOR- See Also:
-
CT_BITSHIFT_OPERATOR
protected static final int CT_BITSHIFT_OPERATOR- See Also:
-
CT_CHARQUOTE
protected static final int CT_CHARQUOTE- See Also:
-
DEFAULT_OPERATORS
-
BITSHIFT_OPERATORS
-
_reader
-
_peekc
int _peekc -
_bForceLower
private boolean _bForceLower -
_bEOLIsSignificantP
private boolean _bEOLIsSignificantP -
_ctype
private int[] _ctype -
_operators
-
_iPos
private int _iPos -
_iLineNum
private int _iLineNum -
_iColumn
private int _iColumn -
_iTokenStart
private int _iTokenStart -
_iTokenColumn
private int _iTokenColumn -
_bWhitespaceSignificant
private boolean _bWhitespaceSignificant -
_bCommentsSignificant
private boolean _bCommentsSignificant -
_iType
public int _iType -
_keyword
-
_strValue
-
_iInvalidCharPos
public int _iInvalidCharPos -
_bUnterminatedString
public boolean _bUnterminatedString -
_bUnterminatedComment
public boolean _bUnterminatedComment -
_instructor
-
_lastComment
-
_bParseDotsAsOperators
private boolean _bParseDotsAsOperators -
_iLineOffset
private int _iLineOffset -
_tokens
-
_eof
-
_supportsKeywords
private boolean _supportsKeywords
-
-
Constructor Details
-
SourceCodeTokenizerInternal
SourceCodeTokenizerInternal(boolean initForCopy) -
SourceCodeTokenizerInternal
-
SourceCodeTokenizerInternal
-
SourceCodeTokenizerInternal
-
SourceCodeTokenizerInternal
-
-
Method Details
-
copy
-
reset
public void reset() -
reset
-
reset
-
reset
-
getReader
-
getSource
-
getInstructor
-
setInstructor
-
isWhitespaceSignificant
public boolean isWhitespaceSignificant() -
setWhitespaceSignificant
public void setWhitespaceSignificant(boolean bWhitespaceSignificant) -
isCommentsSignificant
public boolean isCommentsSignificant() -
setCommentsSignificant
public void setCommentsSignificant(boolean bCommentsSignificant) -
getLineNumber
public int getLineNumber() -
getLineOffset
public int getLineOffset() -
incrementLineNumber
protected void incrementLineNumber() -
getTokenColumn
public int getTokenColumn() -
wordChars
public void wordChars(int iLow, int iHigh) -
whitespaceChars
public void whitespaceChars(int iLow, int iHigh) -
ordinaryChars
public void ordinaryChars(int iLow, int iHigh) -
ordinaryChar
public void ordinaryChar(int ch) -
getDefaultOperators
-
getDefaultBindingOperators
-
getBitshiftOperators
-
operators
-
setOperatorChars
-
operatorChars
public void operatorChars(int iLow, int iHigh) -
setBitshiftOperatorChars
-
bitshiftOperatorChars
public void bitshiftOperatorChars(int iLow, int iHigh) -
isOperator
-
commentChar
public void commentChar(int ch) -
quoteChar
public void quoteChar(int ch) -
charQuoteChar
public void charQuoteChar(int ch) -
parseNumbers
public void parseNumbers() -
eolIsSignificant
public void eolIsSignificant(boolean bFlag) -
lowerCaseMode
public void lowerCaseMode(boolean bLowerCaseMode) -
isUnterminatedString
public boolean isUnterminatedString() -
isUnterminatedComment
public boolean isUnterminatedComment() -
setParseDotsAsOperators
public void setParseDotsAsOperators(boolean parseDotsAsOperators) -
isParseDotsAsOperators
public boolean isParseDotsAsOperators() -
popLastComment
-
getTokenStart
public int getTokenStart() -
getTokenEnd
public int getTokenEnd() -
read
- Throws:
IOException
-
readOne
- Throws:
IOException
-
readWithInstructions
- Throws:
IOException
-
pushWhitespaceToken
-
pushToken
private void pushToken() -
initEofToken
private void initEofToken() -
initToken
-
pushToken
-
isAnalyzingSeparately
public boolean isAnalyzingSeparately() -
isAnalyzingDirective
public boolean isAnalyzingDirective() -
getTokens
-
rip
void rip() -
nextToken
- Throws:
IOException
-
_nextTokenImpl
- Throws:
IOException
-
consumeBlockComment
- Throws:
IOException
-
isReserved
private boolean isReserved() -
isAtIgnorePos
private boolean isAtIgnorePos() -
isHexDigit
private boolean isHexDigit(int c) -
isLeftOpenIntervalOp
-
stopOnDot
private boolean stopOnDot(int c) -
toString
-
getType
public int getType() -
isEOF
public boolean isEOF() -
isNOTHING
public boolean isNOTHING() -
goToPosition
- Throws:
IOException
-
setTokens
-
getEofToken
-
isSupportsKeywords
public boolean isSupportsKeywords() -
setSupportsKeywords
public void setSupportsKeywords(boolean supportsKeywords)
-