automat.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00028
00029 #ifndef _AUTOMAT
00030 #define _AUTOMAT
00031
00032 #include <set>
00033
00034 #include "fries/language.h"
00035
00036 #define MAX_STATES 100
00037 #define MAX_TOKENS 50
00038
00085
00086 class automat {
00087 private:
00090 virtual int ComputeToken(int, sentence::iterator &, sentence &) =0;
00093 virtual void ResetActions() =0;
00097 virtual void StateActions(int, int, int, sentence::const_iterator) =0;
00100 virtual void SetMultiwordAnalysis(sentence::iterator, int) =0;
00103 virtual bool ValidMultiWord(const word &);
00104
00106 virtual sentence::iterator BuildMultiword(sentence &,sentence::iterator,sentence::iterator, int, bool &);
00107
00108 protected:
00110 int initialState;
00112 int stopState;
00114 int trans[MAX_STATES][MAX_TOKENS];
00116 std::set<int> Final;
00117
00118 public:
00120 automat();
00122 virtual ~automat() {};
00123
00125 void annotate(sentence &);
00127 bool annotate(sentence &, sentence::iterator &);
00128 };
00129
00130 #endif
00131