1 salcianu 1.1 // CompilerStage.java, created Sat Apr 12 12:52:09 2003 by salcianu
 2 salcianu 1.1 // Copyright (C) 2003 Alexandru Salcianu <salcianu@MIT.EDU>
 3 salcianu 1.1 // Licensed under the terms of the GNU GPL; see COPYING for details.
 4 salcianu 1.1 package harpoon.Main;
 5 salcianu 1.1 
 6 salcianu 1.1 import java.util.List;
 7 salcianu 1.1 import harpoon.Util.Options.Option;
 8 salcianu 1.1 
 9 salcianu 1.1 /**
10 salcianu 1.1  * <code>CompilerStage</code>
11 salcianu 1.1  * 
12 salcianu 1.1  * @author  Alexandru Salcianu <salcianu@MIT.EDU>
13 cananian 1.3  * @version $Id: CompilerStage.java,v 1.3 2003/07/09 21:11:16 cananian Exp $
14 salcianu 1.1  */
15 salcianu 1.1 public abstract class CompilerStage {
16 salcianu 1.1     public CompilerStage(String name) { this.name = name; }
17 salcianu 1.1     public String name() { return name; }
18 salcianu 1.1     private final String name;
19 salcianu 1.1 
20 cananian 1.3     public abstract List<Option> getOptions();
21 salcianu 1.2 
22 salcianu 1.2     public abstract boolean enabled();
23 salcianu 1.2 
24 salcianu 1.1     public abstract CompilerState action(CompilerState cs);
25 salcianu 1.1 }