*
* @param args the command-line arguments
* @param grammar the grammar to use
*/
private static void writeJavaCode(String[] args, Grammar grammar) {
JavaParserGenerator gen = new JavaParserGenerator(grammar);
// Read command-line arguments
for (int i = 1; i < args.length; i++) {
if (args[i].equals("--javaoutput")) {
gen.setBaseDir(new File(args[++i]));
} else if (args[i].equals("--javapackage")) {
gen.setBasePackage(args[++i]);
} else if (args[i].equals("--javaclassname")) {
gen.setBaseName(args[++i]);
} else if (args[i].equals("--javapublic")) {
gen.setPublicAccess(true);
} else {
printHelp("unrecognized option: " + args[i]);
System.exit(1);
}
}
// Write parser source code
try {
System.out.println("Writing Java parser source code...");
gen.write();
System.out.println("Done.");
} catch (IOException e) {
printError(e);
System.exit(1);
}