harpoon.Main
Class SAMain

java.lang.Object
  extended by harpoon.IR.Registration
      extended by harpoon.Main.SAMain

public class SAMain
extends Registration

SAMain is the entry point for most of the analyses and optimizations implemented in Flex. Originally, this file was started by Felix S. Klock II as an entry point for the StrongArm native compilation; hence the name. However, it gradually grew up to include invocations for all the important compiler stanges. The whole file was reorganized into a pipeline of CompilerStages by Alex Salcianu in the Spring of 2003. It has been used as the main entry pointy for Flex ever since. Today, its name stands more for Static Analysis Main than for any StrongArm specificity; however, there are many non-analysis compiler stages inside.

The very numerous compiler stages are controlled by the (command line) options passed into the String[] parameter of the main method. To learn about these options, invoke this class with the -h command line option.

Needless to say, this is a research prototype. There is no guarantee that any combination of modules (controlled by a combination of command line options) works together well; also, there is no guarantee that Flex will identify and report any inconsistent combination of options.

For an example of programmatic use of SAMain, please see the Purity class.

Version:
$Id: SAMain.java,v 1.73 2006/01/07 15:18:12 salcianu Exp $
Author:
Felix S. Klock II <pnkfelix@mit.edu>, Alexandru Salcianu <salcianu@alum.mit.edu>

Constructor Summary
SAMain()
           
 
Method Summary
static void main(String[] args)
           
protected static void message(String msg)
           
protected static void messageln(String msg)
           
protected static void printHelp()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SAMain

public SAMain()
Method Detail

main

public static void main(String[] args)

printHelp

protected static void printHelp()

message

protected static void message(String msg)

messageln

protected static void messageln(String msg)