simplifyUnorderedGroupPredicatesIfRequired(grammar, absoluteParserFileName, charset);
splitParserAndLexerIfEnabled(absoluteLexerFileName, absoluteParserFileName, charset);
suppressWarnings(absoluteLexerFileName, absoluteParserFileName, charset);
normalizeLineDelimiters(absoluteLexerFileName, absoluteParserFileName, charset);
normalizeTokens(absoluteParserFileName, charset);
MutableTokenDefProvider provider = createLexerTokensProvider(lexerBaseFileName, helper, charset);
for(Map.Entry<Integer, String> entry: provider.getTokenDefMap().entrySet()) {
String value = entry.getValue();
if(helper.isKeywordRule(value)) {
String keywordAsAntlrString = AntlrGrammarGenUtil.toAntlrString(helper.getKeywordValue(value));
entry.setValue("'" + keywordAsAntlrString + "'");
} else if (value.startsWith("'")) {
value = AntlrGrammarGenUtil.toAntlrString(value);
entry.setValue("'" + value + "'");
}
}
try {
provider.writeTokenFile(new PrintWriter(new File(srcGenPath+"/"+getFragmentHelper().getParserGrammarFileName(grammar).replace('.', '/') + ".tokens"), encoding));
}
catch (IOException e) {
throw new RuntimeException(e);
}
normalizeTokens(absoluteLexerFileName, charset);