summary refs log tree commit diff stats
path: root/verb.h
diff options
context:
space:
mode:
Diffstat (limited to 'verb.h')
-rw-r--r--verb.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/verb.h b/verb.h new file mode 100644 index 0000000..42c8dc2 --- /dev/null +++ b/verb.h
@@ -0,0 +1,67 @@
1#ifndef VERB_H_BCC929AD
2#define VERB_H_BCC929AD
3
4#include <vector>
5
6namespace verbly {
7
8 /*class frame_part {
9
10 };
11
12 class frame {
13 private:
14 std::list<frame_part> content;
15 std::map<std::string, std::vector<std::list<frame_part>::iterator>> predicates;
16
17 public:
18 frame(std::list<frame_part> content) : content(content)
19 {
20
21 }
22
23 std::unique_ptr<token> make_utterance() const
24 {
25
26 }
27 };*/
28
29 enum class conjugation {
30 present_participle,
31 past_participle,
32 infinitive
33 };
34
35 class verb {
36 private:
37 int id;
38
39 public:
40 verb(int id) : id(id)
41 {
42
43 }
44
45 std::string infinitive;
46 std::string past_tense;
47 std::string past_participle;
48 std::string ing_form;
49 std::string s_form;
50 //std::vector<frame> frames;
51
52 std::string conjugate(conjugation infl) const
53 {
54 switch (infl)
55 {
56 case conjugation::infinitive: return infinitive;
57 case conjugation::past_participle: return past_participle;
58 case conjugation::present_participle: return ing_form;
59 }
60 }
61 };
62
63};
64
65#include "token.h"
66
67#endif /* end of include guard: VERB_H_BCC929AD */