}
String target = options.get("target");
- Fleet fleet;
- if ("fpga".equals(target)) {
- String bitfile = options.get("bitfile");
- fleet = new Fpga();
- } else if ("sim".equals(target) || "fleetsim".equals(target)) {
- fleet = (Fleet)Class.forName("com.sunlabs.fleetsim.fleet.FleetDescription").newInstance();
- } else {
- fleet = new Interpreter();
- }
+ Fleet fleet = Fleet.getDefaultImpl();
if (!"yes".equals(options.get("verbose")))
Log.log = null;
if (name.endsWith(".ship"))
name = name.substring(0, name.length() - ".ship".length());
if (fleet instanceof edu.berkeley.fleet.fpga.Fpga) {
- ((edu.berkeley.fleet.fpga.Fpga)fleet).expand(new ShipDescription(name, new BufferedReader(new InputStreamReader(new FileInputStream(args.get(0))))));
+ ((edu.berkeley.fleet.fpga.Fpga)fleet).expand(new ShipDescription(fleet, name, new BufferedReader(new InputStreamReader(new FileInputStream(args.get(0))))));
} else {
- ((Interpreter)fleet).expand(new ShipDescription(name, new BufferedReader(new InputStreamReader(new FileInputStream(args.get(0))))));
+ ((Interpreter)fleet).expand(new ShipDescription(fleet, name, new BufferedReader(new InputStreamReader(new FileInputStream(args.get(0))))));
}
} else if (command.equals("doc")) {
for(String ss = br.readLine(); ss!=null; ss = br.readLine())
pw.println(ss);
for(String f : new File("ships").list()) {
- new ShipDescription(f, new BufferedReader(new InputStreamReader(new FileInputStream(new File("ships/"+f))))).printTeX(pw);
+ new ShipDescription(fleet, f, new BufferedReader(new InputStreamReader(new FileInputStream(new File("ships/"+f))))).printTeX(pw);
}
pw.println("\\end{document}");
pw.close();
} else if (f.getPath().endsWith(".fleet") || f.getPath().endsWith(".test")) {
runTest(fleet, new InputStreamReader(new FileInputStream(f)), f.getPath());
} else if (f.getPath().endsWith(".ship")) {
- ShipDescription sd = new ShipDescription(f.getName(), new BufferedReader(new InputStreamReader(new FileInputStream(f))));
+ ShipDescription sd = new ShipDescription(fleet, f.getName(), new BufferedReader(new InputStreamReader(new FileInputStream(f))));
String testsection = sd.getSection("test");
if (testsection == null)
System.out.println("no test for " + sd.getName() + "!");