use of org.eclipse.xtext.generator.parser.antlr.AntlrOptions in project xtext-eclipse by eclipse.
the class XtextAntlrIDEAGeneratorFragment method generate.
@Override
protected void generate(final Grammar grammar, final List<Object> parameters, final Xtend2ExecutionContext ctx) {
this._xtextIDEAGeneratorExtensions.installOutlets(ctx, this.ideaProjectPath, this.encoding, this.getNaming().getLineDelimiter());
final Object options = IterableExtensions.<Object>head(parameters);
if ((options instanceof AntlrOptions)) {
this._psiAntlrGrammarGenerator.generate(grammar, ((AntlrOptions) options), ctx);
final Outlet srcGenOutlet = this._xtextIDEAGeneratorExtensions.getSrcGenOutlet(ctx);
final String srcGenPath = srcGenOutlet.getPath();
final String encoding = srcGenOutlet.getFileEncoding();
StringConcatenation _builder = new StringConcatenation();
_builder.append(srcGenPath);
_builder.append("/");
String _asPath = this._naming.asPath(this._psiAntlrGrammarGenerator.getGrammarFileName(grammar));
_builder.append(_asPath);
_builder.append(".g");
final String absoluteGrammarFileName = _builder.toString();
this.addAntlrParam("-fo");
this.addAntlrParam(absoluteGrammarFileName.substring(0, absoluteGrammarFileName.lastIndexOf("/")));
this.getAntlrTool().runWithEncodingAndParams(absoluteGrammarFileName, encoding, this.getAntlrParams());
final Charset charset = Charset.forName(encoding);
this.simplifyUnorderedGroupPredicatesIfRequired(grammar, absoluteGrammarFileName, charset);
this.splitParserAndLexerIfEnabled(absoluteGrammarFileName, charset);
this.suppressWarnings(absoluteGrammarFileName, charset);
this.normalizeLineDelimiters(absoluteGrammarFileName, charset);
this.normalizeTokens(absoluteGrammarFileName, charset);
}
}
Aggregations