Random small changes...
authorbdemsky <bdemsky>
Thu, 6 May 2004 06:09:55 +0000 (06:09 +0000)
committerbdemsky <bdemsky>
Thu, 6 May 2004 06:09:55 +0000 (06:09 +0000)
Repair/RepairCompiler/MCC/IR/Sources.java
Repair/RepairCompiler/MCC/IR/Termination.java
Repair/RepairCompiler/MCC/TDL.cup

index e119936aef078f8345fcaa5016efbecba5de5b20..bde5cc90ed0a300b985f7d5d7fc94249b32df820 100755 (executable)
@@ -10,11 +10,12 @@ public class Sources {
     }
 
     public boolean setSource(SetDescriptor sd) {
-       if (sd.getSymbol().equals("InodeBitmapBlock"))
-           return true;
-       if (sd.getSymbol().equals("InodeTableBlock"))
+       SetDescriptor usedblock=(SetDescriptor)state.stSets.get("UsedBlock");
+       SetDescriptor usedinode=(SetDescriptor)state.stSets.get("UsedInode");
+
+       if (usedblock.isSubset(sd))
            return true;
-       if (sd.getSymbol().equals("RootDirectoryInode"))
+       if (usedinode.isSubset(sd))
            return true;
 
        return false;
@@ -23,12 +24,14 @@ public class Sources {
        return !setSource(sd);
     }
     public SetDescriptor getSourceSet(SetDescriptor sd) {
-       if (sd.getSymbol().equals("InodeBitmapBlock"))
-           return (SetDescriptor)state.stSets.get("FreeBlock");
-       if (sd.getSymbol().equals("InodeTableBlock"))
+       SetDescriptor usedblock=(SetDescriptor)state.stSets.get("UsedBlock");
+       SetDescriptor usedinode=(SetDescriptor)state.stSets.get("UsedInode");
+
+       if (usedblock.isSubset(sd))
            return (SetDescriptor)state.stSets.get("FreeBlock");
-       if (sd.getSymbol().equals("RootDirectoryInode"))
+       if (usedinode.isSubset(sd))
            return (SetDescriptor)state.stSets.get("FreeInode");
+
        return null;
     }
 
index da03dac5d3a3ac8db8a2a495c762b6980fa487db..24617a3e243d7962a80d165bb4e87b797ab188b9 100755 (executable)
@@ -882,7 +882,7 @@ public class Termination {
                // We have an ArrayDescriptor!
                Expr index=de.getIndex();
                if (!index.isValue()) {/* Not assignable */
-                   System.out.println("ERROR:Index is assignable");
+                   System.out.println("ERROR:Index isn't assignable");
                    return false;
                }
                Updates updates=new Updates(index,i,ap,lexpr,slotnumber);
index 25ba2dd3e9e850ac635e2e45135be25f7f4114ce..5fbed22b42544fdce28ea296166925329303559b 100755 (executable)
@@ -454,7 +454,7 @@ expr ::=
        RESULT = expr;
        :}     
     
-       | LITERAL OPENPAREN literal:literal CLOSEPAREN       
+       | literal:literal
        {:
        debugMessage(PRODSTRING);
        ParseNode expr = new ParseNode("expr", parser.curLine(4));
@@ -534,7 +534,7 @@ literal ::=
        RESULT = (new ParseNode("literal", parser.curLine(1))).addChild("char").addChild(chr).getRoot();
        :}
         
-       | ID:literal
+       | LITERAL OPENPAREN ID:literal CLOSEPAREN
        {:
        debugMessage(PRODSTRING);
        RESULT = (new ParseNode("literal", parser.curLine(1))).addChild("token").addChild(literal).getRoot();