Quantifiers use relations!!!
[repair.git] / Repair / RepairCompiler / MCC / CLI.java
index 28ecc2973c0ff7bf06b2a02693e60ec2521e1c4e..7a38d83066ff4a605133cdf2ccefcb1e78e4769c 100755 (executable)
@@ -11,7 +11,7 @@ import MCC.IR.DebugItem;
  * files.
  *
  * @author  le01, 6.035 Staff (<tt>6.035-staff@mit.edu</tt>)
- * @version <tt>$Id: CLI.java,v 1.11 2004/08/13 19:22:23 bdemsky Exp $</tt>
+ * @version <tt>$Id: CLI.java,v 1.16 2005/10/02 05:13:26 bdemsky Exp $</tt>
  */
 public class CLI {
     /**
@@ -21,13 +21,13 @@ public class CLI {
      * should be performed.
      */
     public boolean opts[];
-  
+
     /**
      * Vector of String containing the command-line arguments which could
      * not otherwise be parsed.
      */
     public Vector extras;
-  
+
     /**
      * Vector of String containing the optimizations which could not be
      * parsed.  It is okay to complain about anything in this list, even
@@ -39,7 +39,7 @@ public class CLI {
      * Name of the file to put the output in.
      */
     public String outfile;
-  
+
     /**
      * Name of the file to get input from.  This is null if the user didn't
      * provide a file name.
@@ -103,9 +103,13 @@ public class CLI {
            System.out.println("-depth depthnum constraintnum -- generate dependency graph from constraintnum with depth of depthnum");
            System.out.println("-depthconj depthnum constraintnum conjunctionnum -- generate dependency graph from constraintnum with depth of depthnum");
            System.out.println("-instrument -- generate instrumentation code");
-           System.out.println("-aggressivesearch");
-           System.out.println("-prunequantifiernodes");
-           System.out.println("-cplusplus");
+           System.out.println("-aggressivesearch -- search for one repair per constraint");
+           System.out.println("-prunequantifiernodes -- prune nodes that satisfy constraint by decreasing scope");
+           System.out.println("-cplusplus -- properly set up c++ classes");
+           System.out.println("-time -- generate timing code");
+           System.out.println("-omitcomp -- omit compensation updates");
+           System.out.println("-mergenodes -- omit nodes for simpler role dependence graphs");
+           System.out.println("-debuggraph -- add edge labels and support to debug graph");
            System.exit(-1);
        }
 
@@ -115,6 +119,12 @@ public class CLI {
                 debug = true;
            } else if (args[i].equals("-checkonly")) {
                 Compiler.REPAIR=false;
+           } else if (args[i].equals("-omitcomp")) {
+                Compiler.OMITCOMP=true;
+           } else if (args[i].equals("-debuggraph")) {
+                Compiler.DEBUGGRAPH=true;
+           } else if (args[i].equals("-mergenodes")) {
+                Compiler.MERGENODES=true;
            } else if (args[i].equals("-depth")) {
                Compiler.debuggraphs.add(new DebugItem(Integer.parseInt(args[i+1]),Integer.parseInt(args[i+2])));
                i+=2;
@@ -123,6 +133,8 @@ public class CLI {
                i+=3;
            } else if (args[i].equals("-debug")) {
                 Compiler.GENERATEDEBUGHOOKS=true;
+           } else if (args[i].equals("-time")) {
+                Compiler.TIME=true;
            } else if (args[i].equals("-instrument")) {
                 Compiler.GENERATEINSTRUMENT=true;
            } else if (args[i].equals("-aggressivesearch")) {
@@ -174,7 +186,7 @@ public class CLI {
         int i = 0;
         while (infile == null && i < extras.size()) {
             String fn = (String) extras.elementAt(i);
-         
+
             if (fn.charAt(0) != '-')
            {
                 infile = fn;