本文整理了Java中org.antlr.v4.runtime.Parser.createErrorNode()
方法的一些代码示例,展示了Parser.createErrorNode()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Parser.createErrorNode()
方法的具体详情如下:
包路径:org.antlr.v4.runtime.Parser
类名称:Parser
方法名:createErrorNode
[英]How to create an error node, given a token, associated with a parent. Typically, the error node to create is not a function of the parent.
[中]如何在给定令牌的情况下创建与父节点关联的错误节点。通常,要创建的错误节点不是父节点的函数。
代码示例来源:origin: apache/incubator-shardingsphere
/**
* Get matched token by token type.
*
* @param tokenType token type
* @return matched token
* @throws RecognitionException mismatch throw exception
*/
public Token getMatchedToken(final int tokenType) throws RecognitionException {
Token result = parser.getCurrentToken();
boolean isIdentifierCompatible = false;
if (identifierTokenIndex == tokenType && identifierTokenIndex > result.getType()) {
isIdentifierCompatible = true;
}
if (result.getType() == tokenType || isIdentifierCompatible) {
if (Token.EOF != tokenType && isIdentifierCompatible && result instanceof CommonToken) {
((CommonToken) result).setType(identifierTokenIndex);
}
parser.getErrorHandler().reportMatch(parser);
parser.consume();
} else {
result = parser.getErrorHandler().recoverInline(parser);
if (parser.getBuildParseTree() && -1 == result.getTokenIndex()) {
parser.getContext().addErrorNode(parser.createErrorNode(parser.getContext(), result));
}
}
return result;
}
}
代码示例来源:origin: org.antlr/antlr4-runtime
_ctx.addErrorNode(createErrorNode(_ctx,t));
代码示例来源:origin: org.antlr/antlr4-runtime
_ctx.addErrorNode(createErrorNode(_ctx,t));
代码示例来源:origin: org.antlr/antlr4-runtime
if (_buildParseTrees || hasListener) {
if ( _errHandler.inErrorRecoveryMode(this) ) {
ErrorNode node = _ctx.addErrorNode(createErrorNode(_ctx,o));
if (_parseListeners != null) {
for (ParseTreeListener listener : _parseListeners) {
代码示例来源:origin: io.virtdata/virtdata-lib-realer
_ctx.addErrorNode(createErrorNode(_ctx,t));
代码示例来源:origin: batfish/batfish
/**
* Create an error node with the text of the current line and insert it into parse tree
*
* @param recognizer The recognizer with which to create the error node
* @param separator The token that ends the unrecognized link. This is also used to determine the
* index of the line to return in error messages.
* @return The token contained in the error node
*/
private Token createErrorNode(Parser recognizer, ParserRuleContext ctx, Token separator) {
if (_recoveredAtEof) {
_recoveredAtEof = false;
throw new BatfishRecognitionException(recognizer, recognizer.getInputStream(), ctx);
}
if (separator.getType() == Lexer.EOF) {
_recoveredAtEof = true;
}
String lineText = _lines[separator.getLine() - 1] + separator.getText();
Token lineToken =
new UnrecognizedLineToken(lineText, separator.getLine(), _parserStateAtRecovery);
ErrorNode errorNode = recognizer.createErrorNode(ctx, lineToken);
ctx.addErrorNode(errorNode);
return lineToken;
}
代码示例来源:origin: io.virtdata/virtdata-lib-realer
_ctx.addErrorNode(createErrorNode(_ctx,t));
代码示例来源:origin: com.tunnelvisionlabs/antlr4-runtime
_ctx.addErrorNode(createErrorNode(_ctx,t));
代码示例来源:origin: com.tunnelvisionlabs/antlr4-runtime
_ctx.addErrorNode(createErrorNode(_ctx,t));
代码示例来源:origin: io.virtdata/virtdata-lib-realer
if (_buildParseTrees || hasListener) {
if ( _errHandler.inErrorRecoveryMode(this) ) {
ErrorNode node = _ctx.addErrorNode(createErrorNode(_ctx,o));
if (_parseListeners != null) {
for (ParseTreeListener listener : _parseListeners) {
代码示例来源:origin: com.tunnelvisionlabs/antlr4-runtime
if (_buildParseTrees || hasListener) {
if ( _errHandler.inErrorRecoveryMode(this) ) {
ErrorNode node = _ctx.addErrorNode(createErrorNode(_ctx,o));
if (_parseListeners != null) {
for (ParseTreeListener listener : _parseListeners) {
内容来源于网络,如有侵权,请联系作者删除!