use of org.antlr.runtime.CommonTokenStream in project binnavi by google.
the class CFilterRuleParser method parse.
/**
* Parses a filter string.
*
* @param filterString The filter string to parse.
*
* @return The root node of the parsed AST.
*
* @throws RecognitionException Thrown if parsing the filter string failed.
*/
public static IAbstractNode parse(final String filterString) throws RecognitionException {
final CharStream charStream = new ANTLRStringStream(filterString);
final FilterLexer lexer = new FilterLexer(charStream);
final CommonTokenStream tokens = new CommonTokenStream();
tokens.setTokenSource(lexer);
final FilterParser parser = new FilterParser(tokens);
parser.setTreeAdaptor(adaptor);
final FilterParser.prog_return parserResult = parser.prog();
final CommonTree ast = (CommonTree) parserResult.getTree();
return convert(ast);
}
use of org.antlr.runtime.CommonTokenStream in project binnavi by google.
the class BreakpointConditionParser method parse.
/**
* Parses a breakpoint condition string.
*
* @param conditionString The condition string to parse.
*
* @return The parsed breakpoint condition tree.
*
* @throws RecognitionException Thrown if the condition string could not be parsed.
* @throws MaybeNullException Thrown if an empty condition string is passed to the function.
*/
public static ConditionNode parse(final String conditionString) throws RecognitionException, MaybeNullException {
if (conditionString.trim().isEmpty()) {
throw new MaybeNullException();
}
final CharStream charStream = new ANTLRStringStream(conditionString);
final ConditionLexer lexer = new ConditionLexer(charStream);
final CommonTokenStream tokens = new CommonTokenStream();
tokens.setTokenSource(lexer);
final ConditionParser parser = new ConditionParser(tokens);
parser.setTreeAdaptor(adaptor);
try {
final ConditionParser.prog_return parserResult = parser.prog();
final CommonTree ast = (CommonTree) parserResult.getTree();
if (parser.input.index() < parser.input.size()) {
throw new RecognitionException();
}
return convert(ast);
} catch (final IllegalArgumentException e) {
throw new RecognitionException();
}
}
use of org.antlr.runtime.CommonTokenStream in project cassandra by apache.
the class CqlParserTest method testRemoveErrorListener.
@Test
public void testRemoveErrorListener() throws Exception {
SyntaxErrorCounter firstCounter = new SyntaxErrorCounter();
SyntaxErrorCounter secondCounter = new SyntaxErrorCounter();
CharStream stream = new ANTLRStringStream("SELECT * FORM test;");
CqlLexer lexer = new CqlLexer(stream);
TokenStream tokenStream = new CommonTokenStream(lexer);
CqlParser parser = new CqlParser(tokenStream);
parser.addErrorListener(firstCounter);
parser.addErrorListener(secondCounter);
parser.removeErrorListener(secondCounter);
parser.query();
assertEquals(1, firstCounter.count);
assertEquals(0, secondCounter.count);
}
use of org.antlr.runtime.CommonTokenStream in project cassandra by apache.
the class CQLFragmentParser method parseAnyUnhandled.
/**
* Just call a parser method in {@link CqlParser} - does not do any error handling.
*/
public static <R> R parseAnyUnhandled(CQLParserFunction<R> parserFunction, String input) throws RecognitionException {
// Lexer and parser
ErrorCollector errorCollector = new ErrorCollector(input);
CharStream stream = new ANTLRStringStream(input);
CqlLexer lexer = new CqlLexer(stream);
lexer.addErrorListener(errorCollector);
TokenStream tokenStream = new CommonTokenStream(lexer);
CqlParser parser = new CqlParser(tokenStream);
parser.addErrorListener(errorCollector);
// Parse the query string to a statement instance
R r = parserFunction.parse(parser);
// The errorCollector has queue up any errors that the lexer and parser may have encountered
// along the way, if necessary, we turn the last error into exceptions here.
errorCollector.throwFirstSyntaxError();
return r;
}
use of org.antlr.runtime.CommonTokenStream in project freud by LMAX-Exchange.
the class JavaSourceJdomParser method parseJavaSourceToDocument.
private static Document parseJavaSourceToDocument(final Reader javaSourceReader) throws RecognitionException, IOException {
JavaParser parser = new JavaParser(new CommonTokenStream(new JavaLexer(new ANTLRReaderStream(javaSourceReader))));
final JdomTreeAdaptor treeAdaptor = new JdomTreeAdaptor(JAVA_SOURCE_ROOT_ELEMENT_NAME, JAVA_SOURCE_TOKEN_TYPES);
parser.setTreeAdaptor(treeAdaptor);
parser.compilationUnit();
return treeAdaptor.getDocument();
}
Aggregations