Class Tokenizer
java.lang.Object
com.igormaznitsa.prologparser.tokenizer.Tokenizer
Internal tokenizer to extract next token from reader.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate final StringBuilderExprivate TokenizerResultprivate intprivate intprivate intprivate final Koi7CharOpMapprivate final PrologParserprivate intprivate intprivate intprivate intprivate intprivate final Readerprivate final StringBuilderExprivate final StringBuilderExprivate final booleanprivate final boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcalcDiffAndPushResultBack(String etalon, StringBuilderEx buffer) voidclose(boolean closeReader) private intfindOperatorForName(String operatorName) findOperatorForSingleChar(char c) void(package private) TokenizerResultintintintgetLine()intgetPos()booleanhasOperatorStartsWith(String operatorNameStartSubstring) static booleanisCharAllowedForRadix(char chr, int radix) makeTermFromString(String str, int radix, Quotation quotingType, TokenizerState state) peek()pop()voidpush(char ch) voidpush(TokenizerResult object) Read next tokenprivate voidprivate void
-
Field Details
-
strBuf
-
specCharBuf
-
insideCharBuffer
-
blockCommentsAllowed
private final boolean blockCommentsAllowed -
zeroSingleQuotationAllowed
private final boolean zeroSingleQuotationAllowed -
zeroQuotationAllowsWhitespaceChar
private final boolean zeroQuotationAllowsWhitespaceChar -
reader
-
parser
-
metaOperators
-
lastPushedTerm
-
prevTokenLine
private int prevTokenLine -
prevTokenPos
private int prevTokenPos -
lastTokenLine
private int lastTokenLine -
lastTokenPos
private int lastTokenPos -
prevPos
private int prevPos -
prevLine
private int prevLine -
pos
private int pos -
line
private int line
-
-
Constructor Details
-
Tokenizer
-
-
Method Details
-
isCharAllowedForRadix
public static boolean isCharAllowedForRadix(char chr, int radix) -
getLastPushed
TokenizerResult getLastPushed() -
doReadChar
- Throws:
IOException
-
calcDiffAndPushResultBack
-
push
public void push(char ch) -
close
- Throws:
IOException
-
hasOperatorStartsWith
-
findOperatorForName
-
findOperatorForSingleChar
-
push
-
peek
-
getLastTokenPos
public int getLastTokenPos() -
getLastTokenLine
public int getLastTokenLine() -
fixPosition
public void fixPosition() -
skipUntilBlockCommentEnd
- Throws:
IOException
-
skipUntilNextString
- Throws:
IOException
-
pop
-
readNextToken
Read next token- Returns:
- next token or null if not found or stream ended
-
makeTermFromString
public PrologTerm makeTermFromString(String str, int radix, Quotation quotingType, TokenizerState state) -
getLine
public int getLine() -
getPos
public int getPos()
-