--- parser3/src/include/pa_dictionary.h 2001/08/01 12:08:39 1.1 +++ parser3/src/include/pa_dictionary.h 2001/12/15 21:28:19 1.8 @@ -2,16 +2,14 @@ Parser: dictionary class decl. Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) + Author: Alexander Petrosyan (http://paf.design.ru) - Author: Alexander Petrosyan (http://design.ru/paf) - - $Id: pa_dictionary.h,v 1.1 2001/08/01 12:08:39 parser Exp $ + $Id: pa_dictionary.h,v 1.8 2001/12/15 21:28:19 paf Exp $ */ #ifndef PA_DICTIONARY_H #define PA_DICTIONARY_H -#include "pa_config_includes.h" #include "pa_table.h" /// simple dictionary, speding up lookups on contained two columned table @@ -19,22 +17,27 @@ class Dictionary : public Pooled { public: /// construct wrapper, grabbing first letters of first column into @b first - Dictionary(Table& atable); + Dictionary(Table& atable, double amin_ratio=1); + + /// get max ratio + double max_ratio() { return fmax_ratio; } /// find first row that contains string in first column which starts @b src - void* first_that_starts(const char *src) const; + void* first_that_starts(const char *src, size_t src_size=0) const; /// where this table came from, may be NULL. proxy to Table const String *origin_string() { return table.origin_string(); } -public: +private: - bool first[0x100]; + Table& table; + double fmax_ratio; private: - Table& table; + int starting_line_of[0x100]; int constructor_line; + static void add_first(Array::Item *value, void *info); }; #endif