Blame view

morfeusz/Dictionary.hpp 1.13 KB
Michał Lenart authored
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* 
 * File:   Dictionary.hpp
 * Author: lennyn
 *
 * Created on August 8, 2014, 3:15 PM
 */

#ifndef DICTIONARY_HPP
#define	DICTIONARY_HPP

#include <string>
#include <vector>
#include <map>
#include <set>
#include "IdResolverImpl.hpp"
#include "fsa/fsa.hpp"
#include "segrules/segrules.hpp"
#include "const.hpp"
#include "deserialization/InterpsGroupsReader.hpp"

namespace morfeusz {

    typedef FSA<InterpsGroupsReader> FSAType;

    struct Dictionary {
        Dictionary(const unsigned char* ptr, MorfeuszProcessorType processorType);
Michał Lenart authored
27
Michał Lenart authored
28
29
        Dictionary();
Michał Lenart authored
30
31
        bool isCompatibleWith(const Dictionary& other) const;
Michał Lenart authored
32
33
        static Dictionary* getEmpty();
Michał Lenart authored
34
        FSAType* fsa;
Michał Lenart authored
35
36
        std::string id;
        std::string copyright;
Michał Lenart authored
37
        IdResolverImpl idResolver;
Michał Lenart authored
38
39
40
        std::vector<uint32_t> separatorsList;
        std::map<SegrulesOptions, SegrulesFSA*> segrulesFSAsMap;
        SegrulesOptions defaultSegrulesOptions;
Michał Lenart authored
41
        SegrulesFSA* defaultSegrulesFSA;
Michał Lenart authored
42
43
44
45
46
47
48
        std::set<std::string> availableAgglOptions;
        std::set<std::string> availablePraetOptions;
    };
}

#endif	/* DICTIONARY_HPP */