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 ==============================================================
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();
}
}
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.*;
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 {
package edu.berkeley.fleet.interpreter;
+import edu.berkeley.sbp.util.ANSI;
import edu.berkeley.fleet.api.*;
import edu.berkeley.fleet.api.Instruction;
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);
}
package edu.berkeley.fleet.interpreter;
+import edu.berkeley.sbp.util.ANSI;
import edu.berkeley.fleet.api.*;
import edu.berkeley.fleet.api.Instruction;
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);
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.*;
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);
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.*;");
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);
}
}
- // Memory //////////////////////////////////////////////////////////////////////////////
-
- public void dumpMem() {
- Log.print(Log.cyan(" MEMORY: "));
- for(int i=0; i<mem.length; i++) {
- if ((i%10)==0 && i!=0) Log.print(Log.cyan(" "));
- Log.print(Log.cyan(mem[i] + " "));
- if ((i%10)==9 && i!=mem.length-1) Log.println("");
- }
- Log.println();
- }
-
- public int readMem(int addr) {
- return addr >= 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;
- }
-
-
}
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.*;
}
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"; }
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();
package edu.berkeley.fleet.interpreter;
+import edu.berkeley.sbp.util.ANSI;
import edu.berkeley.fleet.api.*;
import edu.berkeley.fleet.api.Instruction;
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);
}
}
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)