From 9f55757f68bc76321c3d2a785b1ac559fb81eeb3 Mon Sep 17 00:00:00 2001 From: adam Date: Tue, 3 Jul 2007 08:02:08 +0100 Subject: [PATCH 1/1] add Doc.java --- Makefile | 7 +++++-- src/edu/berkeley/fleet/Main.java | 3 +++ src/edu/berkeley/fleet/doc/Doc.java | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 src/edu/berkeley/fleet/doc/Doc.java diff --git a/Makefile b/Makefile index 29bdbf9..5af7ef1 100644 --- a/Makefile +++ b/Makefile @@ -92,8 +92,11 @@ synth: # $(xilinx)trce -intstyle ise -e 3 -l 3 -s 6 -xml main main.ncd -o main.twr main.pcf -doc: fleet.jar - $(java) $(cp) edu.berkeley.fleet.doc.Doc < ships/Alu2.ship +manual: fleet.jar + $(java) -jar fleet.jar doc + cd .tmp; TEXINPUTS=$$TEXINPUTS:../doc/ pdflatex *.tex + open .tmp/*.pdf + test: fleet.jar; $(java) -jar fleet.jar test tests/ testfpga: fleet.jar; $(java) -jar fleet.jar target=fpga test tests/ diff --git a/src/edu/berkeley/fleet/Main.java b/src/edu/berkeley/fleet/Main.java index c3a9323..65d53bf 100644 --- a/src/edu/berkeley/fleet/Main.java +++ b/src/edu/berkeley/fleet/Main.java @@ -69,6 +69,9 @@ public class Main { } else if (command.equals("expand")) { fleet.expand(new ShipDescription(new BufferedReader(new InputStreamReader(new FileInputStream(args.get(0)))))); + } else if (command.equals("doc")) { + Doc.print(); + } else if (command.equals("test")) { test(fleet, new File(args.get(0))); } else if (command.equals("asm")) { diff --git a/src/edu/berkeley/fleet/doc/Doc.java b/src/edu/berkeley/fleet/doc/Doc.java new file mode 100644 index 0000000..48ca5a5 --- /dev/null +++ b/src/edu/berkeley/fleet/doc/Doc.java @@ -0,0 +1,34 @@ +package edu.berkeley.fleet.doc; + +import java.io.*; +import java.util.*; + + +public class Doc { + + public static void print() throws Exception { + if (!new File(".tmp").exists()) + new File(".tmp").mkdirs(); + PrintWriter pw = new PrintWriter(new FileOutputStream(".tmp/FleetTwo.Manual.tex")); + BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("doc/archman.tex"))); + for(String s = br.readLine(); s!=null; s = br.readLine()) + pw.println(s); + for(String f : new File("ships").list()) { + print(pw, new ShipDescription(new BufferedReader(new InputStreamReader(new FileInputStream(new File("ships/"+f)))))); + } + pw.println("\\end{document}"); + pw.close(); + } + + private static void print(PrintWriter pw, ShipDescription sd) throws Exception { + pw.println("\\pagebreak"); + pw.println("\\section*{The {\\tt "+sd.getName()+"} Ship}"); + String tex = sd.getSection("tex"); + if (tex!=null) + pw.println(tex); + for(BenkoBoxDescription bbd : sd) { + pw.println("\\subsection*{"+(bbd.isInbox() ? "Inbox: " : "Outbox: ")+"{\\tt "+bbd.getName()+"}}"); + } + } + +} \ No newline at end of file -- 1.7.10.4