X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Ffleet%2FFleetParser.java;h=209889c221fc8a584bd1ddd290e51fd01911e5c5;hb=87bd51d5edeabaa859421441ee01c9d1cdd6c0df;hp=0448252a74437d66bb564b542d90f240f6628a22;hpb=5ae5525fa9e040d3570c5a5124959e60d210fb88;p=fleet.git diff --git a/src/edu/berkeley/fleet/FleetParser.java b/src/edu/berkeley/fleet/FleetParser.java index 0448252..209889c 100644 --- a/src/edu/berkeley/fleet/FleetParser.java +++ b/src/edu/berkeley/fleet/FleetParser.java @@ -8,7 +8,6 @@ import edu.berkeley.sbp.bind.*; import edu.berkeley.sbp.util.*; import java.util.*; import java.io.*; -import static edu.berkeley.fleet.Instruction.IgnoreCopyTake.*; /** * @author Adam Megacz @@ -37,16 +36,6 @@ public class FleetParser { dump_code = true; continue; - } else if (s[i].startsWith("--inboxes=")) { - String val = s[i].substring(s[i].indexOf('=')+1); - if (val.equals("configured")) { - DataInbox.defaultInstruction = - new Instruction(null, null, Integer.MAX_VALUE, TAKE, false, false, true); - continue; - } else if (val.equals("unconfigured")) { - DataInbox.defaultInstruction = null; - continue; - } } else if (s[i].startsWith("--memory=")) { String val = s[i].substring(s[i].indexOf('=')+1); if (val.equals("hide")) { @@ -184,19 +173,42 @@ public class FleetParser { for(Tree statement : t.child(1)) fillCodeBag(statement, cb2); - } else if (t.head().equals("Instruction")) { - Tree opcode = t.child(0); - boolean trigger = opcode != null && opcode.size()>0 && "Triggered".equals(opcode.child(0).head()); + } else if (t.head().equals("Literal")) { + int literal = Integer.parseInt(string(t.child(0))); + PortReference benkobox = portReference(t.child(1)); + cb.add(new Literal.LiteralDatum(literal, benkobox, false, 1)); - int count = 0; - Tree arrow = t.child(2); - if (arrow.head().equals("->")) count = 1; - else if (arrow.head().equals("-[*]->")) count = Integer.MAX_VALUE; - else if (arrow.head().equals("-[")) count = Integer.parseInt(string(arrow.child(0))); - - Tree opcodebody = opcode.size()==0 ? null : opcode.child(0).child(opcode.size()-1); + } else if (t.head().equals("Fiber")) { + PortReference benkobox = portReference(t.child(0)); - PortReference d = portReference(t.child(3)); + for(Tree tt : t.child(1)) { + int count = 1; + Tree ttx = null; + if (tt.size() > 1 && tt.child(0).size()>0) { + System.out.println(tt.child(0)); + if (tt.child(0).size() > 0 && "Star".equals(tt.child(0).child(0).head())) count=Integer.MAX_VALUE; + else count = Integer.parseInt(string(tt.child(0))); + } + ttx = tt.child(1); + boolean tokenIn = false; + boolean dataIn = false; + boolean latch = false; + boolean dataOut = false; + boolean tokenOut = false; + PortReference dest = null; + for(int i=0; i