Skip to content
Snippets Groups Projects
Commit 6dc3d9ec authored by hansen's avatar hansen
Browse files

added a static test method

parent e418d4b7
Branches
Tags
No related merge requests found
......@@ -93,46 +93,74 @@ public class Translator implements TranslationGlobals {
}
}
// Used for Testing
// used to for external use
public static String translateModuleString(String moduleName,
String moduleString, String configString) throws TLA2BException {
Translator translator = new Translator(moduleName, moduleString,
configString);
Start bAST = translator.getBAST();
Renamer renamer = new Renamer(bAST);
ASTPrettyPrinter aP = new ASTPrettyPrinter(bAST, renamer);
bAST.apply(aP);
return aP.getResultString();
}
public Translator(String moduleName, String moduleString,
String configString) throws TLA2BException {
createTLATempFile(moduleString, moduleName);
createCfgFile(configString, moduleName);
parse();
translate();
}
// Used for Testing in tla2bAST project
public Translator(String moduleString, String configString)
throws FrontEndException {
String moduleName = "Testing";
File dir = new File("temp/");
dir.mkdirs();
createTLATempFile(moduleString, moduleName);
createCfgFile(configString, moduleName);
parse();
}
private void createCfgFile(String configString, String moduleName) {
modelConfig = null;
if (configString != null) {
configFile = new File("temp/" + moduleName + ".cfg");
try {
moduleFile = new File("temp/" + moduleName + ".tla");
moduleFile.createNewFile();
configFile.createNewFile();
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(moduleFile), "UTF-8"));
new FileOutputStream(configFile), "UTF-8"));
try {
out.write(moduleString);
out.write(configString);
} finally {
out.close();
}
moduleFileName = moduleFile.getAbsolutePath();
} catch (IOException e) {
e.printStackTrace();
}
modelConfig = null;
if (configString != null) {
configFile = new File("temp/" + moduleName + ".cfg");
}
}
private void createTLATempFile(String moduleString, String moduleName) {
File dir = new File("temp/");
dir.mkdirs();
dir.deleteOnExit();
try {
configFile.createNewFile();
moduleFile = new File("temp/" + moduleName + ".tla");
moduleFile.createNewFile();
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(configFile), "UTF-8"));
new FileOutputStream(moduleFile), "UTF-8"));
try {
out.write(configString);
out.write(moduleString);
} finally {
out.close();
}
moduleFileName = moduleFile.getAbsolutePath();
} catch (IOException e) {
e.printStackTrace();
}
}
dir.deleteOnExit();
parse();
}
public ModuleNode parseModule()
throws de.tla2b.exceptions.FrontEndException {
......@@ -263,7 +291,8 @@ public class Translator implements TranslationGlobals {
PrologPrinter prologPrinter = new PrologPrinter(rml, bParser,
moduleFile, moduleName, typeTable);
// prologPrinter.printAsProlog(new PrintWriter(probFile), false);
prologPrinter.printAsProlog(new PrintWriter(probFile, "UTF-8"), false);
prologPrinter.printAsProlog(new PrintWriter(probFile, "UTF-8"),
false);
System.out.println(probFile.getAbsolutePath() + " created.");
// prologPrinter.printAsProlog(new PrintWriter(System.out), false);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment