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

nci/suif/suif2b/j2s/utils/module.h

Go to the documentation of this file.
00001 /* -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
00002 // $Id: module.h,v 1.2 2000/07/24 00:33:33 brm Exp $
00003 
00004 #ifndef J2S_UTILS__MODULE_H
00005 #define J2S_UTILS__MODULE_H
00006 
00007 #include "suifkernel/suifkernel_forwarders.h"
00008 #include "suifkernel/module.h"
00009 #include "suifpasses/passes.h"
00010 
00019 class j2s_Program : public Module {
00020 protected:
00021   char* _usage_str;
00022 
00024   String _class_file_name;
00025 
00026 public:
00027   // Flags
00028   String _classnames_file;
00029 
00031   OptionSelection* _opt_flags;
00032 
00033   j2s_Program (SuifEnv* suif_env, const LString& moduleName);
00034   virtual ~j2s_Program() { };
00035 
00036   virtual void set_usage_str(char* str) { _usage_str= str; }
00037   virtual void usage_info();
00038 
00039   virtual Module* clone() const { return (Module*) this; }
00040 
00041   virtual void initialize();
00042   virtual bool parse_command_line( TokenStream* command_line_stream );
00043   virtual void execute() { };
00044 };
00045 
00046 
00054 class j2s_FrontEndPass : public FrontendPass {
00055 protected:
00056   static String _dir_separator;
00057 
00059   String _class_file_name;
00060 
00062   String _outfile_name;
00063 
00064 public:
00065   // Flags
00066   String _classnames_file;
00067   String _output_dir;
00068   bool _output_to_classfile_dir;
00069   bool _print_suif;
00070   bool _init_fsb;
00071   bool _help;
00072 
00074   OptionSelection* _opt_flags;
00075   
00076 public:
00077   j2s_FrontEndPass(SuifEnv *env, const LString &name) 
00078     : FrontendPass(env, name){ }
00079   virtual ~j2s_FrontEndPass(void)  { }
00080 
00082   virtual String class_file_name();
00083 
00085   virtual String outfile_name();
00086 
00089   virtual String default_outfile_name() = 0;
00090 
00092   static String default_file_suffix();
00093 
00096   virtual String file_suffix();
00097 
00098   virtual void initialize() = 0;
00099   virtual bool parse_command_line(TokenStream *command_line_stream);
00100 
00102   virtual FileSetBlock *build_file_set_block() = 0;
00103 };
00104 
00105 #endif /* J2S_UTILS__MODULE_H */

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