use of org.antlr.runtime.CharStream in project coffeescript-eclipse by adamschmideg.
the class FirstCommentIncludingXtextTokenStream method toString.
@Override
public String toString() {
if (p == -1) {
fillBuffer();
}
if (tokenSource instanceof Lexer) {
if (tokens.isEmpty())
return "";
Token lastToken = (Token) tokens.get(tokens.size() - 1);
if (lastToken instanceof CommonToken) {
CommonToken commonStop = (CommonToken) lastToken;
CharStream charStream = ((Lexer) tokenSource).getCharStream();
String result = charStream.substring(0, commonStop.getStopIndex());
return result;
}
}
return super.toString();
}
use of org.antlr.runtime.CharStream in project antlr4 by antlr.
the class GrammarAST method dupTree.
public GrammarAST dupTree() {
GrammarAST t = this;
CharStream input = this.token.getInputStream();
GrammarASTAdaptor adaptor = new GrammarASTAdaptor(input);
return (GrammarAST) adaptor.dupTree(t);
}
use of org.antlr.runtime.CharStream 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.CharStream 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.CharStream 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();
}
}
Aggregations