From: adam Date: Tue, 20 Feb 2007 11:55:51 +0000 (+0100) Subject: support for disabling terminal colors X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=edd857f230c55fcbec8a95b0d9d5e156813edbd6;p=fleet.git support for disabling terminal colors --- diff --git a/lib/edu.berkeley.sbp.jar b/lib/edu.berkeley.sbp.jar index a62ddfb..ef8ab88 100644 Binary files a/lib/edu.berkeley.sbp.jar and b/lib/edu.berkeley.sbp.jar differ diff --git a/ships/Halt.ship b/ships/Halt.ship index b5cef92..12521eb 100644 --- a/ships/Halt.ship +++ b/ships/Halt.ship @@ -12,7 +12,7 @@ public void service() { if (!box_in.tokenReadyForShip()) return; box_in.removeTokenForShip(); ((Interpreter)getInterpreter()).halt = true; - Log.println(Log.yellow(" HALT: ====== halt ship got a token; halting the fleet ======")); + Log.println(ANSI.yellow(" HALT: ====== halt ship got a token; halting the fleet ======")); } == FleetSim ============================================================== diff --git a/ships/Iscratch.ship b/ships/Iscratch.ship index 267ff17..0edde7f 100644 --- a/ships/Iscratch.ship +++ b/ships/Iscratch.ship @@ -39,8 +39,8 @@ data in: inCBD box_inWriteData.dataReadyForShip() && box_outWriteDone.readyForItemFromShip()) { Interpreter f = (Interpreter)getFleet(); - f.writeMem(box_inWriteAddr.removeDataForShip(), - box_inWriteData.removeDataForShip()); + writeMem(box_inWriteAddr.removeDataForShip(), + box_inWriteData.removeDataForShip()); box_outWriteDone.addTokenFromShip(); } } diff --git a/src/edu/berkeley/fleet/Main.java b/src/edu/berkeley/fleet/Main.java index 2b8d0e1..24b09b2 100644 --- a/src/edu/berkeley/fleet/Main.java +++ b/src/edu/berkeley/fleet/Main.java @@ -1,4 +1,5 @@ package edu.berkeley.fleet; +import edu.berkeley.sbp.util.ANSI; import edu.berkeley.fleet.api.*; import edu.berkeley.fleet.slipway.*; import edu.berkeley.fleet.doc.*; @@ -94,16 +95,16 @@ public class Main { while(true) { if (output.length() > 60 && !failed) output = "..."+output.substring(output.length()-57, output.length()); - if (expect.size() == 0) verdict = "["+Log.green("PASS")+"]"; - System.out.print("\r" + verdict + " " + Log.yellow(f.getPath()) + ": " + output); + if (expect.size() == 0) verdict = "["+ANSI.green("PASS")+"]"; + System.out.print("\r" + verdict + " " + ANSI.yellow(f.getPath()) + ": " + output); if (failed) break; if (expect.size() == 0) break; long l = fp.readWord(); long l2 = expect.remove(0); if (l!=l2) { - verdict = "["+Log.red("FAIL")+"]"; - output += Log.red("0x"+Long.toString(l, 16)) + - Log.yellow(" (expected ")+Log.green("0x"+Long.toString(l2, 16))+Log.yellow(")"); + verdict = "["+ANSI.red("FAIL")+"]"; + output += ANSI.red("0x"+Long.toString(l, 16)) + + ANSI.yellow(" (expected ")+ANSI.green("0x"+Long.toString(l2, 16))+ANSI.yellow(")"); failed = true; continue; } else { diff --git a/src/edu/berkeley/fleet/interpreter/Inbox.java b/src/edu/berkeley/fleet/interpreter/Inbox.java index b6fe7c4..85c3fd4 100644 --- a/src/edu/berkeley/fleet/interpreter/Inbox.java +++ b/src/edu/berkeley/fleet/interpreter/Inbox.java @@ -1,4 +1,5 @@ package edu.berkeley.fleet.interpreter; +import edu.berkeley.sbp.util.ANSI; import edu.berkeley.fleet.api.*; import edu.berkeley.fleet.api.Instruction; @@ -99,7 +100,7 @@ public class Inbox extends InstructionPort { this + " -- the ship has not consumed it")); */ if (itemsFromFabric.size() > 0) { - Log.println(Log.red(" WARNING: you left data on the input to inbox " + this + ":")); + Log.println(ANSI.red(" WARNING: you left data on the input to inbox " + this + ":")); for(int i : itemsFromFabric) Log.println(" " + i); } diff --git a/src/edu/berkeley/fleet/interpreter/InstructionPort.java b/src/edu/berkeley/fleet/interpreter/InstructionPort.java index 284e9fe..0ff6925 100644 --- a/src/edu/berkeley/fleet/interpreter/InstructionPort.java +++ b/src/edu/berkeley/fleet/interpreter/InstructionPort.java @@ -1,4 +1,5 @@ package edu.berkeley.fleet.interpreter; +import edu.berkeley.sbp.util.ANSI; import edu.berkeley.fleet.api.*; import edu.berkeley.fleet.api.Instruction; @@ -39,7 +40,7 @@ public abstract class InstructionPort extends InterpreterBenkoBox { protected void shutdown(boolean leaveAsInbox) { if (currentlyExecuting != null || instructions.size() > 0) { - Log.println(Log.red(" WARNING: you left instructions on the instruction queue of port " + + Log.println(ANSI.red(" WARNING: you left instructions on the instruction queue of port " + this + "; they are:")); if (currentlyExecuting != null) Log.println(" " + currentlyExecuting); diff --git a/src/edu/berkeley/fleet/interpreter/Interpreter.java b/src/edu/berkeley/fleet/interpreter/Interpreter.java index d78be10..e4bde06 100644 --- a/src/edu/berkeley/fleet/interpreter/Interpreter.java +++ b/src/edu/berkeley/fleet/interpreter/Interpreter.java @@ -4,6 +4,7 @@ import java.util.*; import java.util.concurrent.*; import java.lang.reflect.*; import edu.berkeley.fleet.*; +import edu.berkeley.sbp.util.ANSI; import edu.berkeley.fleet.doc.*; import edu.berkeley.fleet.api.*; import edu.berkeley.fleet.ies44.*; @@ -24,7 +25,7 @@ public class Interpreter extends Fleet { if (debugStream != null) { debugStream.put(data); } else { - Log.println(Log.invert(" DEBUG: got a datum: " + data+Log.clreol())); + Log.println(ANSI.invert(" DEBUG: got a datum: " + data+ANSI.clreol())); } } catch (Exception e) { throw new RuntimeException(e); @@ -44,6 +45,7 @@ public class Interpreter extends Fleet { PrintWriter pw = new PrintWriter(out); pw.println("package edu.berkeley.fleet.interpreter.ships;"); + pw.println("import edu.berkeley.sbp.util.ANSI;"); pw.println("import edu.berkeley.fleet.interpreter.*;"); pw.println("import edu.berkeley.fleet.api.*;"); pw.println("import edu.berkeley.fleet.*;"); @@ -148,7 +150,7 @@ public class Interpreter extends Fleet { for(InterpreterShip ship : ships.values()) ship.shutdown(); - Log.println(Log.yellow(" DONE: ====== FLEET is halted. Have a nice day. ======")); + Log.println(ANSI.yellow(" DONE: ====== FLEET is halted. Have a nice day. ======")); } catch (Exception e) { throw new RuntimeException(e); } @@ -238,30 +240,5 @@ public class Interpreter extends Fleet { } - // Memory ////////////////////////////////////////////////////////////////////////////// - - public void dumpMem() { - Log.print(Log.cyan(" MEMORY: ")); - for(int i=0; i= mem.length ? 0 : mem[addr]; - } - public void writeMem(int addr, int data) { - if (addr >= mem.length) { - int[] mem2 = new int[addr*2+1]; - System.arraycopy(mem, 0, mem2, 0, mem2.length); - mem = mem2; - } - mem[addr] = data; - } - - } diff --git a/src/edu/berkeley/fleet/interpreter/Log.java b/src/edu/berkeley/fleet/interpreter/Log.java index 76fac05..6e39ebb 100644 --- a/src/edu/berkeley/fleet/interpreter/Log.java +++ b/src/edu/berkeley/fleet/interpreter/Log.java @@ -1,4 +1,5 @@ package edu.berkeley.fleet.interpreter; +import edu.berkeley.sbp.util.ANSI; import edu.berkeley.fleet.api.*; import edu.berkeley.fleet.api.Instruction; import java.io.*; @@ -29,24 +30,24 @@ public class Log { } public static void dispatch(Dispatchable d) { - println(green("dispatch: " + indent(d+"", " "))); + println(ANSI.green("dispatch: " + indent(d+"", " "))); } public static void dispatch(Instruction d) { - println(green("dispatch: " + indent(d+"", " "))); + println(ANSI.green("dispatch: " + indent(d+"", " "))); } public static void data(String data, BenkoBox source, BenkoBox dest) { - println((" data: ") + indent(purple(data) + + println((" data: ") + indent(ANSI.purple(data) + (source==null ? "" : - (" : " + source))+(" -> "+purple(""+dest)), " ")); + (" : " + source))+(" -> "+ANSI.purple(""+dest)), " ")); } public static void token(BenkoBox source, BenkoBox dest) { - println(purple(" token: ") + (source + " -> " + purple(dest+""))); + println(ANSI.purple(" token: ") + (source + " -> " + ANSI.purple(dest+""))); } public static String clreol() { return ""; } - + /* public static String black(Object o) { if (!ansi_color) return o+""; return o+""; } public static String red(Object o) { if (!ansi_color) return o+""; return "\033[31m"+o+"\033[0m"; } public static String green(Object o) { if (!ansi_color) return o+""; return "\033[32m"+o+"\033[0m"; } @@ -56,8 +57,8 @@ public class Log { public static String cyan(Object o) { if (!ansi_color) return o+""; return "\033[36m"+o+"\033[0m"; } public static String invert(Object o) { if (!ansi_color) return o+""; return "\033[7m"+o+"\033[0m"; } public static String bold(Object o) { if (!ansi_color) return o+""; return "\033[1m"+o+"\033[0m"; } - - public static void error(Object o) { println(red(o)); } + */ + public static void error(Object o) { println(ANSI.red(o)); } public static String indent(String s, String indent) { StringBuffer ret = new StringBuffer(); diff --git a/src/edu/berkeley/fleet/interpreter/Outbox.java b/src/edu/berkeley/fleet/interpreter/Outbox.java index b154fc2..f3be1ab 100644 --- a/src/edu/berkeley/fleet/interpreter/Outbox.java +++ b/src/edu/berkeley/fleet/interpreter/Outbox.java @@ -1,4 +1,5 @@ package edu.berkeley.fleet.interpreter; +import edu.berkeley.sbp.util.ANSI; import edu.berkeley.fleet.api.*; import edu.berkeley.fleet.api.Instruction; @@ -77,9 +78,9 @@ public abstract class Outbox extends InstructionPort { void shutdown() { if (!readyForItemFromShip) - Log.println(Log.red(" WARNING: you left a value ("+itemPresentedByShip+") on outbox port " + this)); + Log.println(ANSI.red(" WARNING: you left a value ("+itemPresentedByShip+") on outbox port " + this)); if (triggersReceived > 0) - Log.println(Log.red(" WARNING: you left a token on the trigger input to port " + this)); + Log.println(ANSI.red(" WARNING: you left a token on the trigger input to port " + this)); super.shutdown(false); } } diff --git a/src/edu/berkeley/fleet/interpreter/ships/MemoryWriteShip.java b/src/edu/berkeley/fleet/interpreter/ships/MemoryWriteShip.java index 6fec40c..7e33936 100644 --- a/src/edu/berkeley/fleet/interpreter/ships/MemoryWriteShip.java +++ b/src/edu/berkeley/fleet/interpreter/ships/MemoryWriteShip.java @@ -27,7 +27,7 @@ public class MemoryWriteShip extends InterpreterShip { public void service() { if (_count > 0) { if (!data.dataReadyForShip()) return; - getInterpreter().writeMem(_addr, data.removeDataForShip()); + //getInterpreter().writeMem(_addr, data.removeDataForShip()); _count--; _addr += _stride; if (_count==0)