1 // Copyright (c) 1994 James Clark 2 // See the file COPYING for copying permission. 3 #pragma ident "%Z%%M% %I% %E% SMI" 4 5 #ifndef Recognizer_INCLUDED 6 #define Recognizer_INCLUDED 1 7 #ifdef __GNUG__ 8 #pragma interface 9 #endif 10 11 #include "Resource.h" 12 #include "Owner.h" 13 #include "XcharMap.h" 14 #include "types.h" 15 #include "Vector.h" 16 17 #ifdef SP_NAMESPACE 18 namespace SP_NAMESPACE { 19 #endif 20 21 class Messenger; 22 class InputSource; 23 class Trie; 24 25 class Recognizer : public Resource { 26 public: 27 Recognizer(Trie *, const XcharMap<EquivCode> &); 28 Recognizer(Trie *, const XcharMap<EquivCode> &, Vector<Token> &); 29 Token recognize(InputSource *, Messenger &) const; 30 private: 31 Recognizer(const Recognizer &); // undefined 32 void operator=(const Recognizer &); // undefined 33 Boolean multicode_; 34 Owner<Trie> trie_; 35 XcharMap<EquivCode> map_; 36 Vector<Token> suppressTokens_; 37 }; 38 39 #ifdef SP_NAMESPACE 40 } 41 #endif 42 43 #endif /* not Recognizer_INCLUDED */ 44