public class TokenStream extends Object
| 构造器和说明 |
|---|
TokenStream(List<Token> tokens) |
| 限定符和类型 | 方法和说明 |
|---|---|
List<Span> |
comments()
获取全部注释
|
Token |
consume()
无条件消耗掉当前Token
|
Token |
expect(String text)
期待匹配字符串
|
Token |
expect(String text,
boolean ignoreCase)
期待匹配字符串
|
Token |
expect(TokenType... types)
期待下一个Token是给定的类型中之一
|
Token |
expect(TokenType type)
期待下一个Token为指定类型
|
Token |
getPrev()
获取前一个Token,不改变当前位置
|
boolean |
hasMore()
当前是否可读
|
boolean |
hasNext()
是否有下一个Token
|
boolean |
hasPrev()
是否有前一个Token
|
int |
makeIndex()
标记当前位置,和resetIndex搭配使用。
|
boolean |
match(boolean consume,
boolean ignoreCase,
String... tokenTexts)
匹配指定字符串
|
boolean |
match(boolean consume,
String... tokenTexts)
匹配指定字符串
|
boolean |
match(boolean consume,
TokenType... types)
匹配指定Token
|
boolean |
match(List<String> texts,
boolean consume)
匹配指定类型Token
|
boolean |
match(List<String> texts,
boolean consume,
boolean ignoreCase)
匹配指定字符串
|
boolean |
match(String text,
boolean consume)
匹配指定字符串
|
boolean |
match(String text,
boolean consume,
boolean ignoreCase)
匹配指定字符串
|
boolean |
match(TokenType type,
boolean consume)
匹配指定类型Token
|
Token |
next()
获取下一个Token并改变当前位置
|
Token |
prev()
获取前一个Token并改变当前位置
|
void |
resetIndex(int index)
重置当前位置,和makeIndex搭配使用
|
public boolean hasMore()
public boolean hasNext()
public boolean hasPrev()
public int makeIndex()
public void resetIndex(int index)
public Token consume()
public Token next()
public Token prev()
public Token getPrev()
public boolean match(TokenType type, boolean consume)
consume - 匹配成功后是否改变当前位置public boolean match(List<String> texts, boolean consume)
consume - 匹配成功后是否改变当前位置public boolean match(List<String> texts, boolean consume, boolean ignoreCase)
consume - 匹配成功后是否改变当前位置ignoreCase - 是否忽略大小写public boolean match(String text, boolean consume, boolean ignoreCase)
consume - 匹配成功后是否改变当前位置ignoreCase - 是否忽略大小写public boolean match(String text, boolean consume)
consume - 匹配成功后是否改变当前位置public boolean match(boolean consume,
TokenType... types)
consume - 匹配成功后是否改变当前位置public boolean match(boolean consume,
String... tokenTexts)
consume - 匹配成功后是否改变当前位置public boolean match(boolean consume,
boolean ignoreCase,
String... tokenTexts)
consume - 匹配成功后是否改变当前位置ignoreCase - 是否忽略大小写Copyright © 2020–2022. All rights reserved.