protected static void parseArgs(String [] args) {
		if (args.length == 0) {
			System.out.println("Error: Missing input file argument!");
			printUsage();
			System.exit(-1);
		}
		else {
			file = args[0];
		}
		
		for (int i = 1; i < args.length; ++i) {
			if (args[i].equals("-printtokens")) {
					printtokens = true;
			}
			else if (args[i].equals("-printtokens")) {
				printtokens = true;
			}
			else if (args[i].equals("-printprog")) {
				printprog = true;
			}
			else if (args[i].equals("-stats")) {
				printStatistics = true;
			}
			else if (args[i].equals("-atnt")) {
				atntSemantics = true;
			}
			else if (args[i].startsWith("-verbose:")) {
				int colonIndex = args[i].indexOf(':');
				String levelString = args[i].substring(colonIndex+1, args[i].length());
				try {
					int level = Integer.parseInt(levelString);
					Interpreter.verbose = level;
				}
				catch (Exception e) {
					System.out.println("Erroneous verbosity level: " + levelString);
					System.exit(-1);
				}
			}
			else {
				System.out.println("Encountered unknown option: " + args[i]);
				printUsage();
				System.exit(-1);
			}
		}
	}