add Doc.java
authoradam <adam@megacz.com>
Tue, 3 Jul 2007 07:02:08 +0000 (08:02 +0100)
committeradam <adam@megacz.com>
Tue, 3 Jul 2007 07:02:08 +0000 (08:02 +0100)
Makefile
src/edu/berkeley/fleet/Main.java
src/edu/berkeley/fleet/doc/Doc.java [new file with mode: 0644]

index 29bdbf9..5af7ef1 100644 (file)
--- 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/
index c3a9323..65d53bf 100644 (file)
@@ -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 (file)
index 0000000..48ca5a5
--- /dev/null
@@ -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