Main | License | Installation | FAQ | Screenshots | Contact | Links | Sf.net | Freshmeat.net | KDE-Apps.org
Requirements | Design | Modules | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

compiler.hpp

Go to the documentation of this file.
00001 /* Copyright (C) 2002, 2003, 2004, 2005, 2006 Jan Wedekind.
00002    This file is part of the recipe database application AnyMeal.
00003 
00004    AnyMeal is free software; you can redistribute it and/or modify it under
00005    the terms of the GNU GENERAL PUBLIC LICENSE as published by the Free
00006    Software Foundation; either version 3 of the License, or (at your option)
00007    any later version.
00008 
00009    AnyMeal is distributed in the hope that it will be useful, but WITHOUT ANY
00010    WARRANTY; without even the implied warranty of MERCHANTIBILITY or FITNESS
00011    FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
00012    details.
00013 
00014    You should have received a copy of the GNU General Public License
00015    along with this program.  If not, see <http://www.gnu.org/licenses/>. */
00016 #ifndef __COMPILER_HPP
00017 #define __COMPILER_HPP
00018 
00019 #include <boost/shared_ptr.hpp>
00020 #include <iostream>
00021 #include <string>
00022 #include "error.hpp"
00023 #include "object.hpp"
00024 
00031 class Compiler: public Object
00032 {
00033 public:
00035   Compiler(void) {}
00037   virtual void translate( std::istream &inputStream,
00038                           std::ostream &outputStream ) const
00039     throw (Error) = 0;
00041   std::string translate( const std::string &input ) const;
00042 };
00043 
00045 typedef boost::shared_ptr< Compiler > CompilerPtr;
00046 
00048 
00049 #endif


anymeal 0.30 - recipe management software - Make the most of your food! - © Jan Wedekind Sun Sep 14 16:01:26 2008 - GNU Free Documentation License