/**
* Parses while matching an AQL expression.
*
* @param expression
* the expression to parse
* @return the corresponding {@link AstResult}
*/
private AstResult parseWhileAqlExpression(String expression) {
final IQueryBuilderEngine.AstResult result;
if (expression != null && expression.length() > 0) {
AstBuilderListener astBuilder = AQL56Compatibility.createAstBuilderListener(queryEnvironment);
CharStream input = new UnbufferedCharStream(new StringReader(expression), expression.length());
QueryLexer lexer = new QueryLexer(input);
lexer.setTokenFactory(new CommonTokenFactory(true));
lexer.removeErrorListeners();
lexer.addErrorListener(astBuilder.getErrorListener());
TokenStream tokens = new UnbufferedTokenStream<CommonToken>(lexer);
QueryParser parser = new QueryParser(tokens);
parser.addParseListener(astBuilder);
parser.removeErrorListeners();
parser.addErrorListener(astBuilder.getErrorListener());
// parser.setTrace(true);
parser.expression();
result = astBuilder.getAstResult();
} else {
ErrorExpression errorExpression = (ErrorExpression) EcoreUtil
.create(AstPackage.eINSTANCE.getErrorExpression());
List<org.eclipse.acceleo.query.ast.Error> errors = new ArrayList<org.eclipse.acceleo.query.ast.Error>(1);
errors.add(errorExpression);
final Map<Object, Integer> positions = new HashMap<Object, Integer>();
if (expression != null) {
positions.put(errorExpression, Integer.valueOf(0));
}
final BasicDiagnostic diagnostic = new BasicDiagnostic();
diagnostic.add(new BasicDiagnostic(Diagnostic.ERROR, AstBuilderListener.PLUGIN_ID, 0,
"null or empty string.", new Object[] {errorExpression }));
result = new AstResult(errorExpression, positions, positions, errors, diagnostic);
}
return result;
}
java类org.antlr.v4.runtime.CommonToken的实例源码
M2DocParser.java 文件源码
项目:M2Doc
阅读 20
收藏 0
点赞 0
评论 0
TemplateCustomProperties.java 文件源码
项目:M2Doc
阅读 20
收藏 0
点赞 0
评论 0
/**
* Parses while matching an AQL expression.
*
* @param queryEnvironment
* the {@link IReadOnlyQueryEnvironment}
* @param type
* the type to parse
* @return the corresponding {@link AstResult}
*/
private AstResult parseWhileAqlTypeLiteral(IReadOnlyQueryEnvironment queryEnvironment, String type) {
final IQueryBuilderEngine.AstResult result;
if (type != null && type.length() > 0) {
AstBuilderListener astBuilder = AQL56Compatibility
.createAstBuilderListener((IQueryEnvironment) queryEnvironment);
CharStream input = new UnbufferedCharStream(new StringReader(type), type.length());
QueryLexer lexer = new QueryLexer(input);
lexer.setTokenFactory(new CommonTokenFactory(true));
lexer.removeErrorListeners();
lexer.addErrorListener(astBuilder.getErrorListener());
TokenStream tokens = new UnbufferedTokenStream<CommonToken>(lexer);
QueryParser parser = new QueryParser(tokens);
parser.addParseListener(astBuilder);
parser.removeErrorListeners();
parser.addErrorListener(astBuilder.getErrorListener());
// parser.setTrace(true);
parser.typeLiteral();
result = astBuilder.getAstResult();
} else {
ErrorTypeLiteral errorTypeLiteral = (ErrorTypeLiteral) EcoreUtil
.create(AstPackage.eINSTANCE.getErrorTypeLiteral());
List<org.eclipse.acceleo.query.ast.Error> errors = new ArrayList<org.eclipse.acceleo.query.ast.Error>(1);
errors.add(errorTypeLiteral);
final Map<Object, Integer> positions = new HashMap<Object, Integer>();
if (type != null) {
positions.put(errorTypeLiteral, Integer.valueOf(0));
}
final BasicDiagnostic diagnostic = new BasicDiagnostic();
diagnostic.add(new BasicDiagnostic(Diagnostic.ERROR, AstBuilderListener.PLUGIN_ID, 0, "null or empty type.",
new Object[] {errorTypeLiteral }));
result = new AstResult(errorTypeLiteral, positions, positions, errors, diagnostic);
}
return result;
}
CEFParserFunctionTest.java 文件源码
项目:graylog-plugin-cef
阅读 17
收藏 0
点赞 0
评论 0
@Test
public void evaluate_returns_null_for_empty_CEF_string() throws Exception {
final Map<String, Expression> arguments = Collections.singletonMap(
CEFParserFunction.VALUE, new StringExpression(new CommonToken(0), "")
);
final FunctionArgs functionArgs = new FunctionArgs(function, arguments);
final Message message = new Message("__dummy", "__dummy", DateTime.parse("2010-07-30T16:03:25Z"));
final EvaluationContext evaluationContext = new EvaluationContext(message);
final CEFParserResult result = function.evaluate(functionArgs, evaluationContext);
assertNull(result);
}
CEFParserFunctionTest.java 文件源码
项目:graylog-plugin-cef
阅读 15
收藏 0
点赞 0
评论 0
@Test
public void evaluate_returns_null_for_invalid_CEF_string() throws Exception {
final Map<String, Expression> arguments = ImmutableMap.of(
CEFParserFunction.VALUE, new StringExpression(new CommonToken(0), "CEF:0|Foobar"),
CEFParserFunction.USE_FULL_NAMES, new BooleanExpression(new CommonToken(0), false)
);
final FunctionArgs functionArgs = new FunctionArgs(function, arguments);
final Message message = new Message("__dummy", "__dummy", DateTime.parse("2010-07-30T16:03:25Z"));
final EvaluationContext evaluationContext = new EvaluationContext(message);
final CEFParserResult result = function.evaluate(functionArgs, evaluationContext);
assertNull(result);
}
CodeBuffTokenStream.java 文件源码
项目:codebuff
阅读 15
收藏 0
点赞 0
评论 0
public CodeBuffTokenStream(CommonTokenStream stream) {
super(stream.getTokenSource());
this.fetchedEOF = false;
for (Token t : stream.getTokens()) {
tokens.add(new CommonToken(t));
}
reset();
}
Select_or_valuesGenerator.java 文件源码
项目:antsdb
阅读 19
收藏 0
点赞 0
评论 0
private static RuleContext createColumnName_(Expr_functionContext rule, OutputField field) {
Column_name_Context column_name_ = new Column_name_Context(rule.getParent(), rule.invokingState);
Column_nameContext column_name = new Column_nameContext(column_name_.getParent(), rule.invokingState);
IdentifierContext identifier = new IdentifierContext(column_name, rule.invokingState);
CommonToken token = CommonTokenFactory.DEFAULT.create(
MysqlParser.BACKTICK_QUOTED_IDENTIFIER,
'`' + field.name + '`' );
TerminalNode term = new TerminalNodeImpl(token);
identifier.addChild(term);
column_name.addChild(identifier);
column_name_.addChild(column_name);
return column_name_;
}
IndexRQL.java 文件源码
项目:indexr
阅读 21
收藏 0
点赞 0
评论 0
private static ParseTree parseSQL(String sql) {
CharStream charStream = new ANTLRInputStream(sql);
RQLLexer lexer = new RQLLexer(charStream);
lexer.setTokenFactory(new CommonTokenFactory(true));
TokenStream tokenStream = new UnbufferedTokenStream<CommonToken>(lexer);
RQLParser parser = new RQLParser(tokenStream);
parser.setErrorHandler(new BailErrorStrategy());
return parser.root();
}
DenterHelper.java 文件源码
项目:newton
阅读 26
收藏 0
点赞 0
评论 0
private Token createToken(int tokenType, Token copyFrom) {
String tokenTypeStr;
if (tokenType == nlToken) {
tokenTypeStr = "newline";
} else if (tokenType == indentToken) {
tokenTypeStr = "indent";
} else if (tokenType == dedentToken) {
tokenTypeStr = "dedent";
} else {
tokenTypeStr = null;
}
CommonToken r = new InjectedToken(copyFrom, tokenTypeStr);
r.setType(tokenType);
return r;
}
MplInterpreter.java 文件源码
项目:MPL
阅读 15
收藏 0
点赞 0
评论 0
@Override
public void exitScriptFile(ScriptFileContext ctx) {
process = new MplProcess(toSource(new CommonToken(MplLexer.PROCESS)));
process.setChainParts(chainBuffer.getChainParts());
program.addProcess(process);
process = null;
popChainBuffer();
}
MplTestBase.java 文件源码
项目:MPL
阅读 15
收藏 0
点赞 0
评论 0
protected MplSourceBuilder $MplSource() {
return new MplSourceBuilder()//
.withFile(new File(""))//
.withToken(new CommonToken(MplLexer.PROCESS))//
.withLine($String())//
;
}