use of org.antlr.runtime.ANTLRStringStream in project xtext-xtend by eclipse.
the class AbstractSmokeTest method testSkipTokensInBetweenWithoutResourceSet.
@Test
public void testSkipTokensInBetweenWithoutResourceSet() throws Exception {
for (String string : smokeTestModels) {
List<CommonToken> tokenList = Lists.newArrayList();
{
Lexer lexer = lexerProvider.get();
lexer.setCharStream(new ANTLRStringStream(string));
Token token = lexer.nextToken();
while (token != Token.EOF_TOKEN) {
tokenList.add((CommonToken) token);
token = lexer.nextToken();
}
}
for (CommonToken token : tokenList) {
int start = token.getStartIndex();
int length = token.getText().length();
logProgress(token);
doParseAndCheckForSmokeWithoutResourceSet(string.substring(0, start) + string.substring(start + length));
}
}
}
use of org.antlr.runtime.ANTLRStringStream in project xtext-xtend by eclipse.
the class SmokeTest method testResourceUpdateSkipTokensInBetween.
@Test
public void testResourceUpdateSkipTokensInBetween() throws Exception {
for (String string : smokeTestModels) {
List<CommonToken> tokenList = Lists.newArrayList();
{
Lexer lexer = lexerProvider.get();
lexer.setCharStream(new ANTLRStringStream(string));
Token token = lexer.nextToken();
while (token != Token.EOF_TOKEN) {
tokenList.add((CommonToken) token);
token = lexer.nextToken();
}
}
LazyLinkingResource resource = createResource(string);
CommonToken prev = null;
for (CommonToken token : tokenList) {
logProgress(token);
if (prev == null) {
compareWithNewResource(resource, 0, token.getText().length(), "");
} else {
int offset = prev.getStartIndex();
int length = token.getText().length();
if (offset + length < string.length())
compareWithNewResource(resource, offset, length, prev.getText());
}
prev = token;
}
}
}
use of org.antlr.runtime.ANTLRStringStream in project xtext-xtend by eclipse.
the class LexingTest method assertLexing.
protected void assertLexing(String input, Pair<String, String>... expectedTokens) {
Lexer lexer = new InternalXtendLexer(null);
CharStream stream = new ANTLRStringStream(input);
lexer.setCharStream(stream);
XtextTokenStream tokenStream = new XtextTokenStream(lexer, tokenDefProvider);
List<?> tokens = tokenStream.getTokens();
assertEquals(input + " / " + tokens, expectedTokens.length, tokens.size());
for (int i = 0; i < tokens.size(); i++) {
Token token = (Token) tokens.get(i);
assertEquals(token.toString(), expectedTokens[i].getFirst(), token.getText());
final String expected = expectedTokens[i].getSecond();
String actual = tokenDefProvider.getTokenDefMap().get(token.getType());
assertEquals("expected " + expected + " but was " + actual, expected, actual);
}
}
use of org.antlr.runtime.ANTLRStringStream in project SQLWindowing by hbutani.
the class WindowingShell method checkQuery.
public void checkQuery(String query) throws WindowingException {
Windowing2Lexer lexer;
CommonTokenStream tokens;
Windowing2Parser parser = null;
@SuppressWarnings("unused") CommonTree t;
// CommonTreeNodeStream nodes;
String err;
try {
lexer = new Windowing2Lexer(new ANTLRStringStream(query));
tokens = new CommonTokenStream(lexer);
parser = new Windowing2Parser(tokens);
parser.setTreeAdaptor(TranslateUtils.adaptor);
t = (CommonTree) parser.query().getTree();
err = parser.getWindowingParseErrors();
if (err != null) {
throw new WindowingException(err);
}
} catch (Throwable te) {
err = parser.getWindowingParseErrors();
if (err != null) {
throw new WindowingException(err);
}
throw new WindowingException("Parse Error:" + te.toString(), te);
}
}
use of org.antlr.runtime.ANTLRStringStream in project Palladio-Editors-Sirius by PalladioSimulator.
the class PCMServices method validExpression.
/**
* Parses an stochastic expression to determine whether it is valid.
*
* @param the
* expressionString
* @return the validity
*/
private boolean validExpression(final String expressionString) {
final MyPCMStoExLexer lexer = new MyPCMStoExLexer(new ANTLRStringStream(expressionString));
final MyPCMStoExParser parser = new MyPCMStoExParser(new CommonTokenStream(lexer));
try {
parser.expression();
} catch (final RecognitionException e1) {
return false;
}
if (lexer.hasErrors() || parser.hasErrors()) {
return false;
}
return true;
}
Aggregations