package MCC;
-import java.util.Vector;
-import java.util.StringTokenizer;
+import java.util.*;
+import MCC.IR.DebugItem;
/**
* A generic command-line interface for 6.035 compilers. This class
* files.
*
* @author le01, 6.035 Staff (<tt>6.035-staff@mit.edu</tt>)
- * @version <tt>$Id: CLI.java,v 1.6 2004/05/17 22:04:32 bdemsky Exp $</tt>
+ * @version <tt>$Id: CLI.java,v 1.12 2004/08/16 20:53:53 bdemsky Exp $</tt>
*/
public class CLI {
/**
opts = new boolean[optnames.length];
+ if (args.length==0) {
+ System.out.println("-debugcompiler -- print out debug messages");
+ 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("-time");
+ System.exit(-1);
+ }
+
for (int i = 0; i < args.length; i++) {
- if (args[i].equals("-debug")) {
+ if (args[i].equals("-debugcompiler")) {
context = 0;
debug = true;
} else if (args[i].equals("-checkonly")) {
Compiler.REPAIR=false;
+ } else if (args[i].equals("-depth")) {
+ Compiler.debuggraphs.add(new DebugItem(Integer.parseInt(args[i+1]),Integer.parseInt(args[i+2])));
+ i+=2;
+ } else if (args[i].equals("-depthconj")) {
+ Compiler.debuggraphs.add(new DebugItem(Integer.parseInt(args[i+1]),Integer.parseInt(args[i+2]),Integer.parseInt(args[i+3])));
+ 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")) {
Compiler.AGGRESSIVESEARCH=true;
} else if (args[i].equals("-prunequantifiernodes")) {
Compiler.PRUNEQUANTIFIERS=true;
+ } else if (args[i].equals("-cplusplus")) {
+ Compiler.ALLOCATECPLUSPLUS=true;
} else if (args[i].equals("-verbose") || args[i].equals("-v")) {
context = 0;
verbose++;