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

compiler.h

Go to the documentation of this file.
00001 
00002 //
00003 //  Borland C++ 5.5, GNU C++ 3.0
00004 //  Compiler Backend Library
00005 //  $Id: compiler_8h-source.html,v 1.1 2002/07/18 14:58:45 cparpart Exp $
00006 //
00007 //  Copyright (c) 2002 SurakWare Corp.
00008 //
00010 #ifndef sw_cbl_compiler_h
00011 #define sw_cbl_compiler_h
00012 
00013 #include 
00014 #include 
00015 #include 
00016 
00017 namespace swl {
00018     class IErrorMgr;
00019 }
00020 
00021 namespace cbl {
00022 
00023 namespace codetree {
00024     namespace symbols {
00025         class TModuleSym;
00026     }
00027 }
00028 
00032 /*class ICompiler : public swl::IInterface {
00033 public:
00035     virtual codetree::symbols::TModuleSym *parse(const std::string& ASourceFile) = 0;
00036 
00038     virtual ICompiler *clone() const = 0;
00039 };*/
00040 
00046 class TCompiler { //: public ICompiler {
00047 private:
00049     std::string FID;
00050 
00051     std::string FCopyright;
00052 
00054     std::deque FSourceExts;
00055 
00056 public:
00057     TCompiler(const std::string& AID, const std::string& ACopyright, 
00058         const std::string& ASourceExt);
00059 
00060     virtual ~TCompiler();
00061 
00063     std::string languageId() const;
00064 
00066     std::string copyright() const;
00067 
00069     std::deque& sourceExtensions();
00070 
00072     const std::deque& sourceExtensions() const;
00073 
00075     virtual codetree::symbols::TModuleSym *parse(const std::string& ASourceFile) = 0;
00076 
00078     virtual TCompiler *clone() const = 0;
00079 };
00080 
00081 } // namespace cbl
00082 
00083 extern "C" {
00089     typedef cbl::TCompiler *(*TCreateCompiler)();
00090 }
00091 
00092 #endif
00093 

Generated on Sat Apr 6 19:07:25 2002 for Compiler Backend Library by doxygen1.2.14 written by , © 1997-2002