00001 package edu.ksu.cis.bandera.abstraction.specification;
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 import java.io.*;
00036 import java.util.*;
00037 public class BASL2Java {
00038
00039
00040
00041
00042 public static void main(java.lang.String[] args) throws Exception {
00043 if ((args.length != 2) && (args.length != 1)) {
00044 System.out.println("Usage: java edu.ksu.cis.bandera.abstraction.specification.BASL2Java <basl-file> [<package-name>]");
00045 return;
00046 }
00047 String packageName = (args.length == 1) ? null : args[1];
00048 AbstractionGenerator ag = new AbstractionGenerator(new FileReader(args[0]));
00049 String code = ag.generate(packageName);
00050 if (ag.getErrors().size() > 0) {
00051 System.out.println("Errors:");
00052 System.out.println("=======");
00053 for (Iterator i = ag.getErrors().iterator(); i.hasNext();) {
00054 System.out.println("- " + i.next());
00055 }
00056 if (ag.getWarnings().size() > 0) {
00057 System.out.println();
00058 System.out.println("Warnings:");
00059 System.out.println("=========");
00060 for (Iterator i = ag.getWarnings().iterator(); i.hasNext();) {
00061 System.out.println("- " + i.next());
00062 }
00063 }
00064 return;
00065 }
00066 if (ag.getWarnings().size() > 0) {
00067 System.out.println("Warnings:");
00068 System.out.println("=========");
00069 for (Iterator i = ag.getWarnings().iterator(); i.hasNext();) {
00070 System.out.println("- " + i.next());
00071 }
00072 System.out.println();
00073 }
00074
00075 FileWriter w = new FileWriter(ag.getAbstractionName() + ".java");
00076 w.write(code);
00077 w.flush();
00078 w.close();
00079
00080 System.out.println(code);
00081 }
00082 }