librime 1.2
Rime Input Method Engine, the core library
script_translator.h
Go to the documentation of this file.
1//
2// Copyright RIME Developers
3// Distributed under the BSD License
4//
5// 2011-08-07 GONG Chen <chen.sst@gmail.com>
6//
7#ifndef RIME_SCRIPT_TRANSLATOR_H_
8#define RIME_SCRIPT_TRANSLATOR_H_
9
10#include <rime/common.h>
11#include <rime/translation.h>
12#include <rime/translator.h>
13#include <rime/algo/algebra.h>
14#include <rime/gear/memory.h>
16
17namespace rime {
18
19class Code;
20class Corrector;
21struct DictEntry;
22class Dictionary;
23class Poet;
24class UserDictionary;
25struct SyllableGraph;
26
28 public Memory,
29 public TranslatorOptions {
30 public:
31 ScriptTranslator(const Ticket& ticket);
32
33 virtual an<Translation> Query(const string& input,
34 const Segment& segment) override;
35 virtual bool Memorize(const CommitEntry& commit_entry) override;
36 virtual bool ProcessSegmentOnCommit(CommitEntry& commit_entry,
37 const Segment& seg) override;
38
39 string FormatPreedit(const string& preedit);
40 string Spell(const Code& code);
41 string GetPrecedingText(size_t start) const;
42 bool UpdateElements(const CommitEntry& commit_entry);
43
44 bool ConcatenatePhrases(CommitEntry& commit_entry,
45 const vector<an<Phrase>>& phrases);
46 bool SaveCommitEntry(CommitEntry& commit_entry);
47
48 // options
49 int max_homophones() const { return max_homophones_; }
50 int spelling_hints() const { return spelling_hints_; }
53 int max_word_length() const { return max_word_length_; }
54 int core_word_length() const;
55
56 protected:
62 bool enable_correction_ = false;
66 vector<an<Phrase>> queue_;
67};
68
69} // namespace rime
70
71#endif // RIME_SCRIPT_TRANSLATOR_H_
Definition algebra.cc:12
std::shared_ptr< T > an
Definition common.h:60
std::unique_ptr< T > the
Definition common.h:58
Definition syllabifier.h:39
Definition corrector.h:56
Definition dictionary.h:62
Definition user_dictionary.h:49
Definition vocabulary.h:21
Definition vocabulary.h:46
Definition memory.h:24
Memory(const Ticket &ticket)
Definition memory.cc:58
Definition poet.h:26
virtual an< Translation > Query(const string &input, const Segment &segment) override
Definition script_translator.cc:207
int max_word_length() const
Definition script_translator.h:53
int max_word_length_
Definition script_translator.h:59
bool always_show_comments_
Definition script_translator.h:61
bool ConcatenatePhrases(CommitEntry &commit_entry, const vector< an< Phrase > > &phrases)
Definition script_translator.cc:257
virtual bool Memorize(const CommitEntry &commit_entry) override
Definition script_translator.cc:344
int max_homophones_
Definition script_translator.h:57
bool UpdateElements(const CommitEntry &commit_entry)
Definition script_translator.cc:324
int core_word_length() const
Definition script_translator.cc:237
string FormatPreedit(const string &preedit)
Definition script_translator.cc:302
string Spell(const Code &code)
Definition script_translator.cc:308
bool enable_word_completion_
Definition script_translator.h:63
ScriptTranslator(const Ticket &ticket)
Definition script_translator.cc:182
int spelling_hints() const
Definition script_translator.h:50
vector< an< Phrase > > queue_
Definition script_translator.h:66
the< Poet > poet_
Definition script_translator.h:65
bool enable_word_completion() const
Definition script_translator.h:52
string GetPrecedingText(size_t start) const
Definition script_translator.cc:318
the< Corrector > corrector_
Definition script_translator.h:64
virtual bool ProcessSegmentOnCommit(CommitEntry &commit_entry, const Segment &seg) override
Definition script_translator.cc:285
bool always_show_comments() const
Definition script_translator.h:51
bool enable_correction_
Definition script_translator.h:62
bool SaveCommitEntry(CommitEntry &commit_entry)
Definition script_translator.cc:248
int spelling_hints_
Definition script_translator.h:58
int core_word_length_
Definition script_translator.h:60
int max_homophones() const
Definition script_translator.h:49
TranslatorOptions(const Ticket &ticket)
Definition translator_commons.cc:115
Definition segmentation.h:18
Definition ticket.h:17
Translator(const Ticket &ticket)
Definition translator.h:24