Recognizer.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
// Copyright (c) 1994 James Clark
// See the file COPYING for copying permission.
#pragma ident "%Z%%M% %I% %E% SMI"
#ifndef Recognizer_INCLUDED
#define Recognizer_INCLUDED 1
#ifdef __GNUG__
#pragma interface
#endif
#include "Resource.h"
#include "Owner.h"
#include "XcharMap.h"
#include "types.h"
#include "Vector.h"
#ifdef SP_NAMESPACE
namespace SP_NAMESPACE {
#endif
class Messenger;
class InputSource;
class Trie;
class Recognizer : public Resource {
public:
Recognizer(Trie *, const XcharMap<EquivCode> &);
Recognizer(Trie *, const XcharMap<EquivCode> &, Vector<Token> &);
Token recognize(InputSource *, Messenger &) const;
private:
Recognizer(const Recognizer &); // undefined
void operator=(const Recognizer &); // undefined
Boolean multicode_;
Owner<Trie> trie_;
XcharMap<EquivCode> map_;
Vector<Token> suppressTokens_;
};
#ifdef SP_NAMESPACE
}
#endif
#endif /* not Recognizer_INCLUDED */