/*
* generated by Xtext
*/
package gr.upatras.ece.wcl.parser.antlr;
import org.antlr.runtime.CharStream;
import org.antlr.runtime.TokenSource;
import org.eclipse.xtext.parser.IParseResult;
import org.eclipse.xtext.parser.ParseException;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import com.google.inject.Inject;
import gr.upatras.ece.wcl.services.RadlGrammarAccess;
public class RadlParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
@Inject
private RadlGrammarAccess grammarAccess;
@Override
protected IParseResult parse(String ruleName, CharStream in) {
TokenSource tokenSource = createLexer(in);
XtextTokenStream tokenStream = createTokenStream(tokenSource);
tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
gr.upatras.ece.wcl.parser.antlr.internal.InternalRadlParser parser = createParser(tokenStream);
parser.setTokenTypeMap(getTokenDefProvider().getTokenDefMap());
parser.setSyntaxErrorProvider(getSyntaxErrorProvider());
parser.setUnorderedGroupHelper(getUnorderedGroupHelper().get());
try {
if(ruleName != null)
return parser.parse(ruleName);
return parser.parse();
} catch (Exception re) {
throw new ParseException(re.getMessage(),re);
}
}
protected gr.upatras.ece.wcl.parser.antlr.internal.InternalRadlParser createParser(XtextTokenStream stream) {
return new gr.upatras.ece.wcl.parser.antlr.internal.InternalRadlParser(stream, getElementFactory(), getGrammarAccess());
}
@Override
protected String getDefaultRuleName() {
return "RADL";
}
public RadlGrammarAccess getGrammarAccess() {
return this.grammarAccess;
}
public void setGrammarAccess(RadlGrammarAccess grammarAccess) {
this.grammarAccess = grammarAccess;
}
}