public Set<String> getBadWords() { if (badWords.isEmpty()) { addBadWords(); } return badWords; }
private String getLexerOrParserATNJson(Grammar g, String fileName) { ST extST = getTemplates().getInstanceOf("codeFileExtension"); String className = fileName.substring(0,fileName.lastIndexOf(extST.render())); String JSON = "class " + className + "ATN {\n" + " let jsonString: String = \"" + serializeTojson(g.atn).replaceAll("\"","\\\\\"") +"\"\n}" ; //.replaceAll("\"", "\\\\\""); return JSON; }
lexerAtnJSON = getLexerOrParserATNJson(g, fileName); parserAtnJSON = getLexerOrParserATNJson(g, fileName); writeFile(lexerAtnJSON,g,jsonFileName); writeFile(parserAtnJSON,g,jsonFileName);
@Override protected boolean visibleGrammarSymbolCausesIssueInGeneratedCode(GrammarAST idNode) { return getBadWords().contains(idNode.getText()); } @Override
private void writeFile(String content,Grammar g,String fileName) { try { Writer w = this.getCodeGenerator().tool.getOutputFileWriter(g, fileName); w.write(content); w.close(); } catch (IOException ioe) { this.getCodeGenerator().tool.errMgr.toolError(ErrorType.CANNOT_WRITE_FILE, ioe, fileName); } } @Override
private String getLexerOrParserATNJson(Grammar g, String fileName) { ST extST = getTemplates().getInstanceOf("codeFileExtension"); String className = fileName.substring(0,fileName.lastIndexOf(extST.render())); String JSON = "class " + className + "ATN {\n" + " let jsonString: String = \"" + serializeTojson(g.atn).replaceAll("\"","\\\\\"") +"\"\n}" ; //.replaceAll("\"", "\\\\\""); return JSON; }
lexerAtnJSON = getLexerOrParserATNJson(g, fileName); parserAtnJSON = getLexerOrParserATNJson(g, fileName); writeFile(lexerAtnJSON,g,jsonFileName); writeFile(parserAtnJSON,g,jsonFileName);
@Override protected boolean visibleGrammarSymbolCausesIssueInGeneratedCode(GrammarAST idNode) { return getBadWords().contains(idNode.getText()); } @Override
private void writeFile(String content,Grammar g,String fileName) { try { Writer w = this.getCodeGenerator().tool.getOutputFileWriter(g, fileName); w.write(content); w.close(); } catch (IOException ioe) { this.getCodeGenerator().tool.errMgr.toolError(ErrorType.CANNOT_WRITE_FILE, ioe, fileName); } } @Override
public Set<String> getBadWords() { if (badWords.isEmpty()) { addBadWords(); } return badWords; }