Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

nci/suif/suif2b/basesuif/suifpasses/drivers.h

Go to the documentation of this file.
00001 #ifndef SUIFPASSES__DRIVERS_H
00002 #define SUIFPASSES__DRIVERS_H
00003 
00004 #include "suifkernel/module.h"
00005 
00006 // executes a series of Modules whose names
00007 // are passed to it in the command_line_stream
00008 class Driver : public Module {
00009 public:
00010   Driver( SuifEnv* suif_env );
00011   virtual ~Driver();
00012 
00013   virtual void initialize();
00014 
00015   virtual Module* clone() const;
00016 
00017   virtual bool parse_command_line( TokenStream* command_line_stream );
00018 
00019   virtual void execute();
00020 
00021   virtual bool delete_me() const;
00022 
00023   static const LString get_class_name();
00024 
00025 protected:
00026   OptionSelection* _arguments;
00027   OptionLiteral* _f;
00028   OptionLiteral* _e;
00029   OptionString* _file;
00030   OptionList* _f_file;
00031 
00032   OptionString* _istring;
00033   OptionList* _i_string;
00034 
00035   OptionStream* _stream;
00036   istream* _istream;
00037   sf_owned TokenStream* _token_stream;
00038   String _file_name;
00039   String _input_string;
00040 
00041   bool _isInteractive;
00042 };
00043 
00044 
00045 // executes a series of PipelinablePasses whose
00046 // names are passed to it in the command_line_stream
00047 // The PipelinablePasses are executed in a pipelined
00048 // fashion.
00049 class Pipeliner : public Driver {
00050 public:
00051   Pipeliner( SuifEnv* suif_env );
00052   virtual ~Pipeliner();
00053 
00054   virtual Module* clone() const;
00055 
00056   virtual void execute();
00057 
00058   static const LString get_class_name();
00059 };
00060 
00061 
00062 #endif
00063 

Generated at Mon Jul 31 13:41:36 2000 for NCI SUIF by doxygen 1.1.2 written by Dimitri van Heesch, © 1997-2000