00001 /* 00002 * File: iparser.hh 00003 * $Id: iparser.hh,v 1.5 2002/06/26 20:46:56 alec Exp $ 00004 * 00005 * Author: Alec Panoviciu (alecu@email.com) 00006 * 00007 * Comments: 00008 * 00009 * Revision history: 00010 * 00011 * $Log: iparser.hh,v $ 00012 * Revision 1.5 2002/06/26 20:46:56 alec 00013 * g++ 3.x happy 00014 * 00015 * Revision 1.4 2002/05/04 17:39:22 alec 00016 * the scanner works (slightly tested) 00017 * 00018 * Revision 1.3 2002/04/29 09:34:10 alec 00019 * scanner ptree building compiles 00020 * 00021 */ 00022 00023 /* 00024 Copyright (C) 2002 Alexandru Panoviciu (alecu@email.com) 00025 00026 This program is free software; you can redistribute it and/or modify 00027 it under the terms of the GNU General Public License as published by 00028 the Free Software Foundation; either version 2 of the License, or 00029 (at your option) any later version. 00030 00031 This program is distributed in the hope that it will be useful, 00032 but WITHOUT ANY WARRANTY; without even the implied warranty of 00033 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00034 GNU General Public License for more details. 00035 00036 You should have received a copy of the GNU General Public License 00037 along with this program; if not, write to the Free Software 00038 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00039 00040 */ 00041 00042 00043 #ifndef __IPARSER_HH__ 00044 #define __IPARSER_HH__ 00045 00046 #include <string> 00047 using namespace std; 00048 00049 #include "prop_registry.hh" 00050 00051 class IScannerSpec; 00052 class IParserSpec; 00053 class ITokenSpec; 00054 00067 class IParser 00068 { 00069 public: 00070 00071 virtual bool parse (PropRegistry ®istry, 00072 ITokenSpec &tSpec, 00073 IScannerSpec &sSpec, IParserSpec &pSpec) = 0; 00074 }; 00075 00076 #endif /* #ifndef __IPARSER_HH__ */