From: adam Date: Sat, 25 Aug 2007 15:17:06 +0000 (+0100) Subject: allow constants in literal clauses X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=55e5b2e58cb6fc5b8002f90a7710c0557b8e96be;p=fleet.git allow constants in literal clauses --- diff --git a/src/edu/berkeley/fleet/assembler/Parser.java b/src/edu/berkeley/fleet/assembler/Parser.java index fbca63d..29fe1ad 100644 --- a/src/edu/berkeley/fleet/assembler/Parser.java +++ b/src/edu/berkeley/fleet/assembler/Parser.java @@ -212,6 +212,26 @@ public class Parser { throw new RuntimeException("no more ships of type \""+shipType+"\""); } + private long parseSSL(Tree t) { + String shipType = name(t.child(0)); + String portName = name(t.child(1)); + Ship chosenship = null; + for(Ship ship : fleet) { + if (ship.getType().equals(shipType)) { + chosenship = ship; + break; + } + } + Pump chosenport = chosenship.getPump(portName); + Tree specs = t.child(2); + long literal = 0; + for(int i=0; i t, CodeBag cb) { if (t.head()==null) return; else if (t.head().equals("NamedCodeBag")) { @@ -220,22 +240,7 @@ public class Parser { fillCodeBag(statement, cb2); } else if (t.head().equals("ShipSpecificLiteral")) { - String shipType = name(t.child(0).child(0)); - String portName = name(t.child(0).child(1)); - Ship chosenship = null; - for(Ship ship : fleet) { - if (ship.getType().equals(shipType)) { - chosenship = ship; - break; - } - } - Pump chosenport = chosenship.getPump(portName); - Tree specs = t.child(0).child(2); - long literal = 0; - for(int i=0; i