summary refs log tree commit diff stats
path: root/lib/part.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/part.h')
-rw-r--r--lib/part.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/lib/part.h b/lib/part.h index 7180f57..450db3d 100644 --- a/lib/part.h +++ b/lib/part.h
@@ -5,7 +5,6 @@
5#include <vector> 5#include <vector>
6#include <set> 6#include <set>
7#include <list> 7#include <list>
8#include "selrestr.h"
9#include "field.h" 8#include "field.h"
10#include "filter.h" 9#include "filter.h"
11#include "enums.h" 10#include "enums.h"
@@ -21,7 +20,7 @@ namespace verbly {
21 20
22 // Static factories 21 // Static factories
23 22
24 static part createNounPhrase(std::string role, selrestr selrestrs, std::set<std::string> synrestrs); 23 static part createNounPhrase(std::string role, std::set<std::string> selrestrs, std::set<std::string> synrestrs);
25 24
26 static part createVerb(); 25 static part createVerb();
27 26
@@ -77,7 +76,7 @@ namespace verbly {
77 76
78 std::string getNounRole() const; 77 std::string getNounRole() const;
79 78
80 selrestr getNounSelrestrs() const; 79 std::set<std::string> getNounSelrestrs() const;
81 80
82 std::set<std::string> getNounSynrestrs() const; 81 std::set<std::string> getNounSynrestrs() const;
83 82
@@ -110,8 +109,21 @@ namespace verbly {
110 109
111 static const field frames; 110 static const field frames;
112 111
113 // Noun synrestr relationship 112 // Noun selrestr and synrestr relationships
114 113
114 class selrestr_field {
115 public:
116
117 filter operator%=(std::string selrestr) const;
118
119 private:
120
121 static const field selrestrJoin;
122 static const field selrestrField;
123 };
124
125 static const selrestr_field selrestrs;
126
115 class synrestr_field { 127 class synrestr_field {
116 public: 128 public:
117 129
@@ -138,7 +150,7 @@ namespace verbly {
138 union { 150 union {
139 struct { 151 struct {
140 std::string role; 152 std::string role;
141 selrestr selrestrs; 153 std::set<std::string> selrestrs;
142 std::set<std::string> synrestrs; 154 std::set<std::string> synrestrs;
143 } noun_phrase_; 155 } noun_phrase_;
144 struct { 156 struct {