00001 /* 00002 * File: basic_dfa_generator.hh 00003 * $Id: basic_dfa_generator.hh,v 1.4 2002/05/27 02:58:24 alec Exp $ 00004 * 00005 * Author: Alec Panovici (alecu@email.com) 00006 * 00007 * Comments: 00008 * 00009 * Revision history: 00010 * 00011 * $Log: basic_dfa_generator.hh,v $ 00012 * Revision 1.4 2002/05/27 02:58:24 alec 00013 * doc update 00014 * 00015 * Revision 1.3 2002/05/04 17:39:22 alec 00016 * the scanner works (slightly tested) 00017 * 00018 * Revision 1.2 2002/05/01 09:18:26 alec 00019 * - vBitset fixes 00020 * - FOLLOWPOS written (not tested yet) 00021 * 00022 * Revision 1.1 2002/04/30 16:26:38 alec 00023 * my big endian will eat your little endian 00024 * 00025 */ 00026 00027 00028 /* 00029 Copyright (C) 2002 Alexandru Panoviciu (alecu@email.com) 00030 00031 This program is free software; you can redistribute it and/or modify 00032 it under the terms of the GNU General Public License as published by 00033 the Free Software Foundation; either version 2 of the License, or 00034 (at your option) any later version. 00035 00036 This program is distributed in the hope that it will be useful, 00037 but WITHOUT ANY WARRANTY; without even the implied warranty of 00038 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00039 GNU General Public License for more details. 00040 00041 You should have received a copy of the GNU General Public License 00042 along with this program; if not, write to the Free Software 00043 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00044 00045 */ 00046 00047 #ifndef __BASIC_DFA_GENERATOR_HH__ 00048 #define __BASIC_DFA_GENERATOR_HH__ 00049 00050 #include <vector> 00051 00052 #include "debug.h" 00053 00054 class LexicalStateSpec; 00055 class PropRegistry; 00056 class ITokenSpec; 00057 class BasicDfaSpec; 00058 00064 class BasicDfaGenerator 00065 { 00066 public: 00067 00071 BasicDfaGenerator (ITokenSpec &tokens_, PropRegistry ®istry_); 00072 00073 00089 BasicDfaSpec& createBasicDfa(const LexicalStateSpec &state); 00090 00091 private: 00092 00096 ITokenSpec &tokens; 00097 00103 PropRegistry ®istry; 00104 }; 00105 00106 #endif /* #ifndef __BASIC_DFA_GENERATOR_HH__ */