xref: /onnv-gate/usr/src/cmd/man/src/util/nsgmls.src/lib/Recognizer.h (revision 0:68f95e015346)
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