quantities_modules.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 _QUANTITIES_MOD
00030 #define _QUANTITIES_MOD
00031
00032 #include <map>
00033
00034 #include "fries/language.h"
00035 #include "freeling/automat.h"
00036 #include "freeling/locutions.h"
00037
00043
00044 class quantities_module: public automat {
00045
00046 protected:
00048 std::map<std::string,int> tok;
00050 std::map<std::string,long double> fract;
00052 std::map<std::string,std::string> units;
00054 locutions measures;
00055
00057 long double value1, value2;
00059 std::string currency_key;
00060 std::string unitType;
00062 std::string unitCode;
00063
00064 public:
00066 quantities_module();
00067 };
00068
00069
00074
00075 class quantities_default: public quantities_module {
00076
00077 private:
00078 int ComputeToken(int,sentence::iterator&,sentence &);
00079 void ResetActions();
00080 void StateActions(int, int, int, sentence::const_iterator);
00081 void SetMultiwordAnalysis(sentence::iterator, int);
00082
00083 public:
00085 quantities_default(const std::string &);
00086 };
00087
00088
00093
00094 class quantities_es: public quantities_module {
00095
00096 private:
00097 int ComputeToken(int,sentence::iterator&, sentence &);
00098 void ResetActions();
00099 void StateActions(int, int, int, sentence::const_iterator);
00100 void SetMultiwordAnalysis(sentence::iterator, int);
00101
00102 public:
00104 quantities_es(const std::string &);
00105 };
00106
00111
00112 class quantities_ca: public quantities_module {
00113
00114 private:
00115 int ComputeToken(int,sentence::iterator&, sentence &);
00116 void ResetActions();
00117 void StateActions(int, int, int, sentence::const_iterator);
00118 void SetMultiwordAnalysis(sentence::iterator, int);
00119
00120 public:
00122 quantities_ca(const std::string &);
00123 };
00124
00125
00130
00131 class quantities_gl: public quantities_module {
00132
00133 private:
00134 int ComputeToken(int,sentence::iterator&, sentence &);
00135 void ResetActions();
00136 void StateActions(int, int, int, sentence::const_iterator);
00137 void SetMultiwordAnalysis(sentence::iterator, int);
00138
00139 public:
00141 quantities_gl(const std::string &);
00142 };
00143
00148
00149 class quantities_en: public quantities_module {
00150
00151 private:
00152 int ComputeToken(int,sentence::iterator&, sentence &);
00153 void ResetActions();
00154 void StateActions(int, int, int, sentence::const_iterator);
00155 void SetMultiwordAnalysis(sentence::iterator, int);
00156
00157 public:
00159 quantities_en(const std::string &);
00160 };
00161
00162
00163 #endif
00164