diff options
Diffstat (limited to 'generator')
| -rw-r--r-- | generator/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | generator/frame.h | 1 | ||||
| -rw-r--r-- | generator/generator.cpp | 82 | ||||
| -rw-r--r-- | generator/generator.h | 3 | ||||
| -rw-r--r-- | generator/group.cpp | 27 | ||||
| -rw-r--r-- | generator/group.h | 1 | ||||
| -rw-r--r-- | generator/part.cpp | 18 | ||||
| -rw-r--r-- | generator/part.h | 7 | ||||
| -rw-r--r-- | generator/role.h | 8 | ||||
| -rw-r--r-- | generator/schema.sql | 8 | ||||
| -rw-r--r-- | generator/vn.diff | 340 |
11 files changed, 396 insertions, 103 deletions
| diff --git a/generator/CMakeLists.txt b/generator/CMakeLists.txt index 5bbd82d..95a11b5 100644 --- a/generator/CMakeLists.txt +++ b/generator/CMakeLists.txt | |||
| @@ -5,8 +5,8 @@ find_package(PkgConfig) | |||
| 5 | pkg_check_modules(sqlite3 sqlite3 REQUIRED) | 5 | pkg_check_modules(sqlite3 sqlite3 REQUIRED) |
| 6 | find_package(libxml2 REQUIRED) | 6 | find_package(libxml2 REQUIRED) |
| 7 | 7 | ||
| 8 | include_directories(${sqlite3_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR} ../vendor/json) | 8 | include_directories(${sqlite3_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR}) |
| 9 | add_executable(generator notion.cpp word.cpp lemma.cpp form.cpp pronunciation.cpp group.cpp frame.cpp part.cpp ../lib/selrestr.cpp database.cpp field.cpp generator.cpp main.cpp) | 9 | add_executable(generator notion.cpp word.cpp lemma.cpp form.cpp pronunciation.cpp group.cpp frame.cpp part.cpp database.cpp field.cpp generator.cpp main.cpp) |
| 10 | set_property(TARGET generator PROPERTY CXX_STANDARD 11) | 10 | set_property(TARGET generator PROPERTY CXX_STANDARD 11) |
| 11 | set_property(TARGET generator PROPERTY CXX_STANDARD_REQUIRED ON) | 11 | set_property(TARGET generator PROPERTY CXX_STANDARD_REQUIRED ON) |
| 12 | target_link_libraries(generator ${sqlite3_LIBRARIES} ${LIBXML2_LIBRARIES}) | 12 | target_link_libraries(generator ${sqlite3_LIBRARIES} ${LIBXML2_LIBRARIES}) |
| diff --git a/generator/frame.h b/generator/frame.h index ba266f0..d26d500 100644 --- a/generator/frame.h +++ b/generator/frame.h | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | #define FRAME_H_26770FF1 | 2 | #define FRAME_H_26770FF1 |
| 3 | 3 | ||
| 4 | #include <list> | 4 | #include <list> |
| 5 | #include <vector> | ||
| 5 | #include "part.h" | 6 | #include "part.h" |
| 6 | 7 | ||
| 7 | namespace verbly { | 8 | namespace verbly { |
| diff --git a/generator/generator.cpp b/generator/generator.cpp index 4cc9f64..e125b4a 100644 --- a/generator/generator.cpp +++ b/generator/generator.cpp | |||
| @@ -7,7 +7,6 @@ | |||
| 7 | #include <fstream> | 7 | #include <fstream> |
| 8 | #include "../lib/enums.h" | 8 | #include "../lib/enums.h" |
| 9 | #include "progress.h" | 9 | #include "progress.h" |
| 10 | #include "../lib/selrestr.h" | ||
| 11 | #include "role.h" | 10 | #include "role.h" |
| 12 | #include "part.h" | 11 | #include "part.h" |
| 13 | #include "field.h" | 12 | #include "field.h" |
| @@ -1303,12 +1302,20 @@ namespace verbly { | |||
| 1303 | std::string roleName = reinterpret_cast<const char*>(key); | 1302 | std::string roleName = reinterpret_cast<const char*>(key); |
| 1304 | xmlFree(key); | 1303 | xmlFree(key); |
| 1305 | 1304 | ||
| 1306 | selrestr roleSelrestrs; | 1305 | std::set<std::string> roleSelrestrs; |
| 1307 | for (xmlNodePtr rolenode = roletopnode->xmlChildrenNode; rolenode != nullptr; rolenode = rolenode->next) | 1306 | for (xmlNodePtr rolenode = roletopnode->xmlChildrenNode; rolenode != nullptr; rolenode = rolenode->next) |
| 1308 | { | 1307 | { |
| 1309 | if (!xmlStrcmp(rolenode->name, reinterpret_cast<const xmlChar*>("SELRESTRS"))) | 1308 | if (!xmlStrcmp(rolenode->name, reinterpret_cast<const xmlChar*>("SELRESTRS"))) |
| 1310 | { | 1309 | { |
| 1311 | roleSelrestrs = parseSelrestr(rolenode); | 1310 | for (xmlNodePtr selrestrnode = rolenode->xmlChildrenNode; selrestrnode != nullptr; selrestrnode = selrestrnode->next) |
| 1311 | { | ||
| 1312 | if (!xmlStrcmp(selrestrnode->name, reinterpret_cast<const xmlChar*>("SELRESTR"))) | ||
| 1313 | { | ||
| 1314 | key = xmlGetProp(selrestrnode, reinterpret_cast<const xmlChar*>("type")); | ||
| 1315 | roleSelrestrs.insert(std::string(reinterpret_cast<const char*>(key))); | ||
| 1316 | xmlFree(key); | ||
| 1317 | } | ||
| 1318 | } | ||
| 1312 | } | 1319 | } |
| 1313 | } | 1320 | } |
| 1314 | 1321 | ||
| @@ -1335,7 +1342,7 @@ namespace verbly { | |||
| 1335 | std::string partRole = reinterpret_cast<const char*>(key); | 1342 | std::string partRole = reinterpret_cast<const char*>(key); |
| 1336 | xmlFree(key); | 1343 | xmlFree(key); |
| 1337 | 1344 | ||
| 1338 | selrestr partSelrestrs; | 1345 | std::set<std::string> partSelrestrs; |
| 1339 | std::set<std::string> partSynrestrs; | 1346 | std::set<std::string> partSynrestrs; |
| 1340 | 1347 | ||
| 1341 | for (xmlNodePtr npnode = syntaxnode->xmlChildrenNode; npnode != nullptr; npnode = npnode->next) | 1348 | for (xmlNodePtr npnode = syntaxnode->xmlChildrenNode; npnode != nullptr; npnode = npnode->next) |
| @@ -1351,11 +1358,17 @@ namespace verbly { | |||
| 1351 | xmlFree(key); | 1358 | xmlFree(key); |
| 1352 | } | 1359 | } |
| 1353 | } | 1360 | } |
| 1354 | } | 1361 | } else if (!xmlStrcmp(npnode->name, reinterpret_cast<const xmlChar*>("SELRESTRS"))) |
| 1355 | |||
| 1356 | if (!xmlStrcmp(npnode->name, reinterpret_cast<const xmlChar*>("SELRESTRS"))) | ||
| 1357 | { | 1362 | { |
| 1358 | partSelrestrs = parseSelrestr(npnode); | 1363 | for (xmlNodePtr selrestrnode = npnode->xmlChildrenNode; selrestrnode != nullptr; selrestrnode = selrestrnode->next) |
| 1364 | { | ||
| 1365 | if (!xmlStrcmp(selrestrnode->name, reinterpret_cast<const xmlChar*>("SELRESTR"))) | ||
| 1366 | { | ||
| 1367 | key = xmlGetProp(selrestrnode, reinterpret_cast<const xmlChar*>("type")); | ||
| 1368 | partSelrestrs.insert(std::string(reinterpret_cast<const char*>(key))); | ||
| 1369 | xmlFree(key); | ||
| 1370 | } | ||
| 1371 | } | ||
| 1359 | } | 1372 | } |
| 1360 | } | 1373 | } |
| 1361 | 1374 | ||
| @@ -1434,58 +1447,5 @@ namespace verbly { | |||
| 1434 | } | 1447 | } |
| 1435 | } | 1448 | } |
| 1436 | 1449 | ||
| 1437 | selrestr generator::parseSelrestr(xmlNodePtr top) | ||
| 1438 | { | ||
| 1439 | xmlChar* key; | ||
| 1440 | |||
| 1441 | if (!xmlStrcmp(top->name, reinterpret_cast<const xmlChar*>("SELRESTRS"))) | ||
| 1442 | { | ||
| 1443 | if (xmlChildElementCount(top) == 0) | ||
| 1444 | { | ||
| 1445 | return {}; | ||
| 1446 | } else if (xmlChildElementCount(top) == 1) | ||
| 1447 | { | ||
| 1448 | return parseSelrestr(xmlFirstElementChild(top)); | ||
| 1449 | } else { | ||
| 1450 | bool orlogic = false; | ||
| 1451 | if (xmlHasProp(top, reinterpret_cast<const xmlChar*>("logic"))) | ||
| 1452 | { | ||
| 1453 | key = xmlGetProp(top, reinterpret_cast<const xmlChar*>("logic")); | ||
| 1454 | if (!xmlStrcmp(key, reinterpret_cast<const xmlChar*>("or"))) | ||
| 1455 | { | ||
| 1456 | orlogic = true; | ||
| 1457 | } | ||
| 1458 | |||
| 1459 | xmlFree(key); | ||
| 1460 | } | ||
| 1461 | |||
| 1462 | std::list<selrestr> children; | ||
| 1463 | for (xmlNodePtr selrestr = top->xmlChildrenNode; selrestr != nullptr; selrestr = selrestr->next) | ||
| 1464 | { | ||
| 1465 | if (!xmlStrcmp(selrestr->name, reinterpret_cast<const xmlChar*>("SELRESTRS")) | ||
| 1466 | || !xmlStrcmp(selrestr->name, reinterpret_cast<const xmlChar*>("SELRESTR"))) | ||
| 1467 | { | ||
| 1468 | children.push_back(parseSelrestr(selrestr)); | ||
| 1469 | } | ||
| 1470 | } | ||
| 1471 | |||
| 1472 | return selrestr(children, orlogic); | ||
| 1473 | } | ||
| 1474 | } else if (!xmlStrcmp(top->name, reinterpret_cast<const xmlChar*>("SELRESTR"))) | ||
| 1475 | { | ||
| 1476 | key = xmlGetProp(top, reinterpret_cast<const xmlChar*>("Value")); | ||
| 1477 | bool selPos = (std::string(reinterpret_cast<const char*>(key)) == "+"); | ||
| 1478 | xmlFree(key); | ||
| 1479 | |||
| 1480 | key = xmlGetProp(top, reinterpret_cast<const xmlChar*>("type")); | ||
| 1481 | std::string selRestriction = reinterpret_cast<const char*>(key); | ||
| 1482 | xmlFree(key); | ||
| 1483 | |||
| 1484 | return selrestr(selRestriction, selPos); | ||
| 1485 | } else { | ||
| 1486 | throw std::logic_error("Badly formatted selrestr"); | ||
| 1487 | } | ||
| 1488 | } | ||
| 1489 | |||
| 1490 | }; | 1450 | }; |
| 1491 | }; | 1451 | }; |
| diff --git a/generator/generator.h b/generator/generator.h index bc9b3c7..43b3272 100644 --- a/generator/generator.h +++ b/generator/generator.h | |||
| @@ -18,7 +18,6 @@ | |||
| 18 | namespace verbly { | 18 | namespace verbly { |
| 19 | 19 | ||
| 20 | enum class part_of_speech; | 20 | enum class part_of_speech; |
| 21 | class selrestr; | ||
| 22 | 21 | ||
| 23 | namespace generator { | 22 | namespace generator { |
| 24 | 23 | ||
| @@ -107,8 +106,6 @@ namespace verbly { | |||
| 107 | 106 | ||
| 108 | void createGroup(xmlNodePtr top, const group* parent = nullptr); | 107 | void createGroup(xmlNodePtr top, const group* parent = nullptr); |
| 109 | 108 | ||
| 110 | selrestr parseSelrestr(xmlNodePtr top); | ||
| 111 | |||
| 112 | // Input | 109 | // Input |
| 113 | 110 | ||
| 114 | std::string verbNetPath_; | 111 | std::string verbNetPath_; |
| diff --git a/generator/group.cpp b/generator/group.cpp index aa28d42..5b23578 100644 --- a/generator/group.cpp +++ b/generator/group.cpp | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | #include "group.h" | 1 | #include "group.h" |
| 2 | #include <stdexcept> | 2 | #include <stdexcept> |
| 3 | #include <list> | 3 | #include <list> |
| 4 | #include <json.hpp> | ||
| 5 | #include "database.h" | 4 | #include "database.h" |
| 6 | #include "field.h" | 5 | #include "field.h" |
| 7 | #include "frame.h" | 6 | #include "frame.h" |
| 7 | #include "../lib/util.h" | ||
| 8 | 8 | ||
| 9 | namespace verbly { | 9 | namespace verbly { |
| 10 | namespace generator { | 10 | namespace generator { |
| @@ -83,16 +83,22 @@ namespace verbly { | |||
| 83 | { | 83 | { |
| 84 | fields.emplace_back("role", p.getNounRole()); | 84 | fields.emplace_back("role", p.getNounRole()); |
| 85 | 85 | ||
| 86 | selrestr partSelrestr; | 86 | // Short interlude to serialize the selrestrs |
| 87 | if (p.getNounSelrestrs().getType() != selrestr::type::empty) | 87 | std::set<std::string> partSelrestrs = p.getNounSelrestrs(); |
| 88 | if (partSelrestrs.empty() && arg.hasRole(p.getNounRole())) | ||
| 88 | { | 89 | { |
| 89 | partSelrestr = p.getNounSelrestrs(); | 90 | partSelrestrs = arg.getRole(p.getNounRole()).getSelrestrs(); |
| 90 | } else if (arg.hasRole(p.getNounRole())) | ||
| 91 | { | ||
| 92 | partSelrestr = arg.getRole(p.getNounRole()).getSelrestrs(); | ||
| 93 | } | 91 | } |
| 94 | 92 | ||
| 95 | fields.emplace_back("selrestrs", partSelrestr.toJson().dump()); | 93 | for (const std::string& s : partSelrestrs) |
| 94 | { | ||
| 95 | std::list<field> selrestrFields; | ||
| 96 | |||
| 97 | selrestrFields.emplace_back("part_id", p.getId()); | ||
| 98 | selrestrFields.emplace_back("selrestr", s); | ||
| 99 | |||
| 100 | db.insertIntoTable("selrestrs", std::move(selrestrFields)); | ||
| 101 | } | ||
| 96 | 102 | ||
| 97 | // Short interlude to serialize the synrestrs | 103 | // Short interlude to serialize the synrestrs |
| 98 | for (const std::string& s : p.getNounSynrestrs()) | 104 | for (const std::string& s : p.getNounSynrestrs()) |
| @@ -110,7 +116,10 @@ namespace verbly { | |||
| 110 | 116 | ||
| 111 | case part::type::preposition: | 117 | case part::type::preposition: |
| 112 | { | 118 | { |
| 113 | fields.emplace_back("prepositions", nlohmann::json(p.getPrepositionChoices()).dump()); | 119 | std::set<std::string> setChoices = p.getPrepositionChoices(); |
| 120 | std::string serializedChoices = implode(std::begin(setChoices), std::end(setChoices), ","); | ||
| 121 | |||
| 122 | fields.emplace_back("prepositions", std::move(serializedChoices)); | ||
| 114 | fields.emplace_back("preposition_literality", p.isPrepositionLiteral() ? 1 : 0); | 123 | fields.emplace_back("preposition_literality", p.isPrepositionLiteral() ? 1 : 0); |
| 115 | 124 | ||
| 116 | break; | 125 | break; |
| diff --git a/generator/group.h b/generator/group.h index 5486fbe..a7f3a17 100644 --- a/generator/group.h +++ b/generator/group.h | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | #include <set> | 5 | #include <set> |
| 6 | #include <string> | 6 | #include <string> |
| 7 | #include <cassert> | 7 | #include <cassert> |
| 8 | #include <list> | ||
| 8 | #include "role.h" | 9 | #include "role.h" |
| 9 | 10 | ||
| 10 | namespace verbly { | 11 | namespace verbly { |
| diff --git a/generator/part.cpp b/generator/part.cpp index 07618a8..d3e6656 100644 --- a/generator/part.cpp +++ b/generator/part.cpp | |||
| @@ -6,12 +6,12 @@ namespace verbly { | |||
| 6 | 6 | ||
| 7 | int part::nextId_ = 0; | 7 | int part::nextId_ = 0; |
| 8 | 8 | ||
| 9 | part part::createNounPhrase(std::string role, selrestr selrestrs, std::set<std::string> synrestrs) | 9 | part part::createNounPhrase(std::string role, std::set<std::string> selrestrs, std::set<std::string> synrestrs) |
| 10 | { | 10 | { |
| 11 | part p(type::noun_phrase); | 11 | part p(type::noun_phrase); |
| 12 | 12 | ||
| 13 | new(&p.noun_phrase_.role) std::string(std::move(role)); | 13 | new(&p.noun_phrase_.role) std::string(std::move(role)); |
| 14 | new(&p.noun_phrase_.selrestrs) selrestr(std::move(selrestrs)); | 14 | new(&p.noun_phrase_.selrestrs) std::set<std::string>(std::move(selrestrs)); |
| 15 | new(&p.noun_phrase_.synrestrs) std::set<std::string>(std::move(synrestrs)); | 15 | new(&p.noun_phrase_.synrestrs) std::set<std::string>(std::move(synrestrs)); |
| 16 | 16 | ||
| 17 | return p; | 17 | return p; |
| @@ -60,7 +60,7 @@ namespace verbly { | |||
| 60 | case type::noun_phrase: | 60 | case type::noun_phrase: |
| 61 | { | 61 | { |
| 62 | new(&result.noun_phrase_.role) std::string(other.noun_phrase_.role); | 62 | new(&result.noun_phrase_.role) std::string(other.noun_phrase_.role); |
| 63 | new(&result.noun_phrase_.selrestrs) selrestr(other.noun_phrase_.selrestrs); | 63 | new(&result.noun_phrase_.selrestrs) std::set<std::string>(other.noun_phrase_.selrestrs); |
| 64 | new(&result.noun_phrase_.synrestrs) std::set<std::string>(other.noun_phrase_.synrestrs); | 64 | new(&result.noun_phrase_.synrestrs) std::set<std::string>(other.noun_phrase_.synrestrs); |
| 65 | 65 | ||
| 66 | break; | 66 | break; |
| @@ -103,7 +103,7 @@ namespace verbly { | |||
| 103 | case type::noun_phrase: | 103 | case type::noun_phrase: |
| 104 | { | 104 | { |
| 105 | new(&noun_phrase_.role) std::string(other.noun_phrase_.role); | 105 | new(&noun_phrase_.role) std::string(other.noun_phrase_.role); |
| 106 | new(&noun_phrase_.selrestrs) selrestr(other.noun_phrase_.selrestrs); | 106 | new(&noun_phrase_.selrestrs) std::set<std::string>(other.noun_phrase_.selrestrs); |
| 107 | new(&noun_phrase_.synrestrs) std::set<std::string>(other.noun_phrase_.synrestrs); | 107 | new(&noun_phrase_.synrestrs) std::set<std::string>(other.noun_phrase_.synrestrs); |
| 108 | 108 | ||
| 109 | break; | 109 | break; |
| @@ -153,7 +153,7 @@ namespace verbly { | |||
| 153 | type tempType = first.type_; | 153 | type tempType = first.type_; |
| 154 | int tempId = first.id_; | 154 | int tempId = first.id_; |
| 155 | std::string tempRole; | 155 | std::string tempRole; |
| 156 | selrestr tempSelrestrs; | 156 | std::set<std::string> tempSelrestrs; |
| 157 | std::set<std::string> tempSynrestrs; | 157 | std::set<std::string> tempSynrestrs; |
| 158 | std::set<std::string> tempChoices; | 158 | std::set<std::string> tempChoices; |
| 159 | bool tempPrepLiteral; | 159 | bool tempPrepLiteral; |
| @@ -204,7 +204,7 @@ namespace verbly { | |||
| 204 | case type::noun_phrase: | 204 | case type::noun_phrase: |
| 205 | { | 205 | { |
| 206 | new(&first.noun_phrase_.role) std::string(std::move(second.noun_phrase_.role)); | 206 | new(&first.noun_phrase_.role) std::string(std::move(second.noun_phrase_.role)); |
| 207 | new(&first.noun_phrase_.selrestrs) selrestr(std::move(second.noun_phrase_.selrestrs)); | 207 | new(&first.noun_phrase_.selrestrs) std::set<std::string>(std::move(second.noun_phrase_.selrestrs)); |
| 208 | new(&first.noun_phrase_.synrestrs) std::set<std::string>(std::move(second.noun_phrase_.synrestrs)); | 208 | new(&first.noun_phrase_.synrestrs) std::set<std::string>(std::move(second.noun_phrase_.synrestrs)); |
| 209 | 209 | ||
| 210 | break; | 210 | break; |
| @@ -244,7 +244,7 @@ namespace verbly { | |||
| 244 | case type::noun_phrase: | 244 | case type::noun_phrase: |
| 245 | { | 245 | { |
| 246 | new(&second.noun_phrase_.role) std::string(std::move(tempRole)); | 246 | new(&second.noun_phrase_.role) std::string(std::move(tempRole)); |
| 247 | new(&second.noun_phrase_.selrestrs) selrestr(std::move(tempSelrestrs)); | 247 | new(&second.noun_phrase_.selrestrs) std::set<std::string>(std::move(tempSelrestrs)); |
| 248 | new(&second.noun_phrase_.synrestrs) std::set<std::string>(std::move(tempSynrestrs)); | 248 | new(&second.noun_phrase_.synrestrs) std::set<std::string>(std::move(tempSynrestrs)); |
| 249 | 249 | ||
| 250 | break; | 250 | break; |
| @@ -285,7 +285,7 @@ namespace verbly { | |||
| 285 | using set_type = std::set<std::string>; | 285 | using set_type = std::set<std::string>; |
| 286 | 286 | ||
| 287 | noun_phrase_.role.~string_type(); | 287 | noun_phrase_.role.~string_type(); |
| 288 | noun_phrase_.selrestrs.~selrestr(); | 288 | noun_phrase_.selrestrs.~set_type(); |
| 289 | noun_phrase_.synrestrs.~set_type(); | 289 | noun_phrase_.synrestrs.~set_type(); |
| 290 | 290 | ||
| 291 | break; | 291 | break; |
| @@ -329,7 +329,7 @@ namespace verbly { | |||
| 329 | } | 329 | } |
| 330 | } | 330 | } |
| 331 | 331 | ||
| 332 | selrestr part::getNounSelrestrs() const | 332 | std::set<std::string> part::getNounSelrestrs() const |
| 333 | { | 333 | { |
| 334 | if (type_ == type::noun_phrase) | 334 | if (type_ == type::noun_phrase) |
| 335 | { | 335 | { |
| diff --git a/generator/part.h b/generator/part.h index 39ba1e7..01791f5 100644 --- a/generator/part.h +++ b/generator/part.h | |||
| @@ -3,7 +3,6 @@ | |||
| 3 | 3 | ||
| 4 | #include <string> | 4 | #include <string> |
| 5 | #include <set> | 5 | #include <set> |
| 6 | #include "../lib/selrestr.h" | ||
| 7 | #include "../lib/enums.h" | 6 | #include "../lib/enums.h" |
| 8 | 7 | ||
| 9 | namespace verbly { | 8 | namespace verbly { |
| @@ -17,7 +16,7 @@ namespace verbly { | |||
| 17 | 16 | ||
| 18 | // Static factories | 17 | // Static factories |
| 19 | 18 | ||
| 20 | static part createNounPhrase(std::string role, selrestr selrestrs, std::set<std::string> synrestrs); | 19 | static part createNounPhrase(std::string role, std::set<std::string> selrestrs, std::set<std::string> synrestrs); |
| 21 | 20 | ||
| 22 | static part createVerb(); | 21 | static part createVerb(); |
| 23 | 22 | ||
| @@ -67,7 +66,7 @@ namespace verbly { | |||
| 67 | 66 | ||
| 68 | std::string getNounRole() const; | 67 | std::string getNounRole() const; |
| 69 | 68 | ||
| 70 | selrestr getNounSelrestrs() const; | 69 | std::set<std::string> getNounSelrestrs() const; |
| 71 | 70 | ||
| 72 | std::set<std::string> getNounSynrestrs() const; | 71 | std::set<std::string> getNounSynrestrs() const; |
| 73 | 72 | ||
| @@ -104,7 +103,7 @@ namespace verbly { | |||
| 104 | union { | 103 | union { |
| 105 | struct { | 104 | struct { |
| 106 | std::string role; | 105 | std::string role; |
| 107 | selrestr selrestrs; | 106 | std::set<std::string> selrestrs; |
| 108 | std::set<std::string> synrestrs; | 107 | std::set<std::string> synrestrs; |
| 109 | } noun_phrase_; | 108 | } noun_phrase_; |
| 110 | struct { | 109 | struct { |
| diff --git a/generator/role.h b/generator/role.h index 4884ef3..fccfa98 100644 --- a/generator/role.h +++ b/generator/role.h | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | #include <stdexcept> | 4 | #include <stdexcept> |
| 5 | #include <string> | 5 | #include <string> |
| 6 | #include "../lib/selrestr.h" | 6 | #include <set> |
| 7 | 7 | ||
| 8 | namespace verbly { | 8 | namespace verbly { |
| 9 | 9 | ||
| @@ -18,7 +18,7 @@ namespace verbly { | |||
| 18 | 18 | ||
| 19 | role( | 19 | role( |
| 20 | std::string name, | 20 | std::string name, |
| 21 | selrestr selrestrs = {}) : | 21 | std::set<std::string> selrestrs = {}) : |
| 22 | valid_(true), | 22 | valid_(true), |
| 23 | name_(name), | 23 | name_(name), |
| 24 | selrestrs_(selrestrs) | 24 | selrestrs_(selrestrs) |
| @@ -37,7 +37,7 @@ namespace verbly { | |||
| 37 | return name_; | 37 | return name_; |
| 38 | } | 38 | } |
| 39 | 39 | ||
| 40 | const selrestr& getSelrestrs() const | 40 | const std::set<std::string>& getSelrestrs() const |
| 41 | { | 41 | { |
| 42 | if (!valid_) | 42 | if (!valid_) |
| 43 | { | 43 | { |
| @@ -51,7 +51,7 @@ namespace verbly { | |||
| 51 | 51 | ||
| 52 | bool valid_ = false; | 52 | bool valid_ = false; |
| 53 | std::string name_; | 53 | std::string name_; |
| 54 | selrestr selrestrs_; | 54 | std::set<std::string> selrestrs_; |
| 55 | 55 | ||
| 56 | }; | 56 | }; |
| 57 | 57 | ||
| diff --git a/generator/schema.sql b/generator/schema.sql index 33ebc28..2ac658c 100644 --- a/generator/schema.sql +++ b/generator/schema.sql | |||
| @@ -200,7 +200,6 @@ CREATE TABLE `parts` ( | |||
| 200 | `part_index` INTEGER NOT NULL, | 200 | `part_index` INTEGER NOT NULL, |
| 201 | `type` INTEGER NOT NULL, | 201 | `type` INTEGER NOT NULL, |
| 202 | `role` VARCHAR(16), | 202 | `role` VARCHAR(16), |
| 203 | `selrestrs` BLOB, | ||
| 204 | `prepositions` BLOB, | 203 | `prepositions` BLOB, |
| 205 | `preposition_literality` SMALLINT, | 204 | `preposition_literality` SMALLINT, |
| 206 | `literal_value` VARCHAR(64) | 205 | `literal_value` VARCHAR(64) |
| @@ -215,3 +214,10 @@ CREATE TABLE `synrestrs` ( | |||
| 215 | ); | 214 | ); |
| 216 | 215 | ||
| 217 | CREATE INDEX `synrestrs_for` ON `synrestrs`(`part_id`); | 216 | CREATE INDEX `synrestrs_for` ON `synrestrs`(`part_id`); |
| 217 | |||
| 218 | CREATE TABLE `selrestrs` ( | ||
| 219 | `part_id` INTEGER NOT NULL, | ||
| 220 | `selrestr` VARCHAR(32) NOT NULL | ||
| 221 | ); | ||
| 222 | |||
| 223 | CREATE INDEX `selrestrs_for` ON `selrestrs`(`part_id`); | ||
| diff --git a/generator/vn.diff b/generator/vn.diff index 5d5e2f3..bbfd6cf 100644 --- a/generator/vn.diff +++ b/generator/vn.diff | |||
| @@ -1,8 +1,11 @@ | |||
| 1 | diff /Users/hatkirby/Downloads/new_vn 2/admit-65.xml datadir/vn/admit-65.xml | 1 | diff /Users/hatkirby/Downloads/new_vn 2/admit-65.xml datadir/vn/admit-65.xml |
| 2 | 104c104 | 2 | 104,106c104,105 |
| 3 | < <SELRESTRS logic="or"> | 3 | < <SELRESTRS logic="or"> |
| 4 | < <SELRESTR Value="+" type="location"/> | ||
| 5 | < <SELRESTR Value="-" type="region"/> | ||
| 4 | --- | 6 | --- |
| 5 | > <SELRESTRS> | 7 | > <SELRESTRS> |
| 8 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 6 | diff /Users/hatkirby/Downloads/new_vn 2/amuse-31.1.xml datadir/vn/amuse-31.1.xml | 9 | diff /Users/hatkirby/Downloads/new_vn 2/amuse-31.1.xml datadir/vn/amuse-31.1.xml |
| 7 | 270a271,273 | 10 | 270a271,273 |
| 8 | > <THEMROLE type="Cause"> | 11 | > <THEMROLE type="Cause"> |
| @@ -30,6 +33,18 @@ diff /Users/hatkirby/Downloads/new_vn 2/animal_sounds-38.xml datadir/vn/animal_s | |||
| 30 | diff /Users/hatkirby/Downloads/new_vn 2/assessment-34.1.xml datadir/vn/assessment-34.1.xml | 33 | diff /Users/hatkirby/Downloads/new_vn 2/assessment-34.1.xml datadir/vn/assessment-34.1.xml |
| 31 | 103d102 | 34 | 103d102 |
| 32 | < <LEX value="'s"/> | 35 | < <LEX value="'s"/> |
| 36 | diff /Users/hatkirby/Downloads/new_vn 2/assuming_position-50.xml datadir/vn/assuming_position-50.xml | ||
| 37 | 41,42c41 | ||
| 38 | < <SELRESTR Value="+" type="location"/> | ||
| 39 | < <SELRESTR Value="-" type="region"/> | ||
| 40 | --- | ||
| 41 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 42 | diff /Users/hatkirby/Downloads/new_vn 2/banish-10.2.xml datadir/vn/banish-10.2.xml | ||
| 43 | 35,36c35 | ||
| 44 | < <SELRESTR Value="+" type="location"/> | ||
| 45 | < <SELRESTR Value="-" type="region"/> | ||
| 46 | --- | ||
| 47 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 33 | diff /Users/hatkirby/Downloads/new_vn 2/battle-36.4.xml datadir/vn/battle-36.4.xml | 48 | diff /Users/hatkirby/Downloads/new_vn 2/battle-36.4.xml datadir/vn/battle-36.4.xml |
| 34 | 96c96 | 49 | 96c96 |
| 35 | < <SYNRESTR Value="+" type="what_extract"/> | 50 | < <SYNRESTR Value="+" type="what_extract"/> |
| @@ -85,6 +100,20 @@ diff /Users/hatkirby/Downloads/new_vn 2/break-45.1.xml datadir/vn/break-45.1.xml | |||
| 85 | > <SYNRESTRS> | 100 | > <SYNRESTRS> |
| 86 | > <SYNRESTR Value="+" type="adjp"/> | 101 | > <SYNRESTR Value="+" type="adjp"/> |
| 87 | > </SYNRESTRS> | 102 | > </SYNRESTRS> |
| 103 | diff /Users/hatkirby/Downloads/new_vn 2/bring-11.3.xml datadir/vn/bring-11.3.xml | ||
| 104 | 27,30c27 | ||
| 105 | < <SELRESTRS> | ||
| 106 | < <SELRESTR Value="+" type="location"/> | ||
| 107 | < <SELRESTR Value="-" type="region"/> | ||
| 108 | < </SELRESTRS> | ||
| 109 | --- | ||
| 110 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 111 | diff /Users/hatkirby/Downloads/new_vn 2/butter-9.9.xml datadir/vn/butter-9.9.xml | ||
| 112 | 155,156c155 | ||
| 113 | < <SELRESTR Value="+" type="location"/> | ||
| 114 | < <SELRESTR Value="-" type="region"/> | ||
| 115 | --- | ||
| 116 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 88 | diff /Users/hatkirby/Downloads/new_vn 2/characterize-29.2.xml datadir/vn/characterize-29.2.xml | 117 | diff /Users/hatkirby/Downloads/new_vn 2/characterize-29.2.xml datadir/vn/characterize-29.2.xml |
| 89 | 107c107 | 118 | 107c107 |
| 90 | < <LEX value="as"/> | 119 | < <LEX value="as"/> |
| @@ -104,6 +133,31 @@ diff /Users/hatkirby/Downloads/new_vn 2/characterize-29.2.xml datadir/vn/charact | |||
| 104 | > <SYNRESTR Value="+" type="adjp"/> | 133 | > <SYNRESTR Value="+" type="adjp"/> |
| 105 | > </SYNRESTRS> | 134 | > </SYNRESTRS> |
| 106 | > </NP> | 135 | > </NP> |
| 136 | diff /Users/hatkirby/Downloads/new_vn 2/cheat-10.6.xml datadir/vn/cheat-10.6.xml | ||
| 137 | 56,59c56 | ||
| 138 | < <SELRESTRS> | ||
| 139 | < <SELRESTR Value="+" type="location"/> | ||
| 140 | < <SELRESTR Value="-" type="region"/> | ||
| 141 | < </SELRESTRS> | ||
| 142 | --- | ||
| 143 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 144 | diff /Users/hatkirby/Downloads/new_vn 2/chew-39.2.xml datadir/vn/chew-39.2.xml | ||
| 145 | 37,38c37 | ||
| 146 | < <SELRESTR Value="+" type="comestible"/> | ||
| 147 | < <SELRESTR Value="+" type="solid"/> | ||
| 148 | --- | ||
| 149 | > <SELRESTR Value="+" type="solid_food"/> | ||
| 150 | 155,156c154 | ||
| 151 | < <SELRESTR Value="+" type="comestible"/> | ||
| 152 | < <SELRESTR Value="-" type="solid"/> | ||
| 153 | --- | ||
| 154 | > <SELRESTR Value="+" type="non_solid_food"/> | ||
| 155 | diff /Users/hatkirby/Downloads/new_vn 2/coil-9.6.xml datadir/vn/coil-9.6.xml | ||
| 156 | 22,23c22 | ||
| 157 | < <SELRESTR Value="+" type="nonrigid"/> | ||
| 158 | < <SELRESTR Value="+" type="elongated"/> | ||
| 159 | --- | ||
| 160 | > <SELRESTR Value="+" type="slinky"/> | ||
| 107 | diff /Users/hatkirby/Downloads/new_vn 2/coloring-24.xml datadir/vn/coloring-24.xml | 161 | diff /Users/hatkirby/Downloads/new_vn 2/coloring-24.xml datadir/vn/coloring-24.xml |
| 108 | 89c89,91 | 162 | 89c89,91 |
| 109 | < <SYNRESTRS/> | 163 | < <SYNRESTRS/> |
| @@ -118,6 +172,11 @@ diff /Users/hatkirby/Downloads/new_vn 2/confess-37.10.xml datadir/vn/confess-37. | |||
| 118 | > <SYNRESTR Value="+" type="adjp"/> | 172 | > <SYNRESTR Value="+" type="adjp"/> |
| 119 | > </SYNRESTRS> | 173 | > </SYNRESTRS> |
| 120 | > </NP> | 174 | > </NP> |
| 175 | diff /Users/hatkirby/Downloads/new_vn 2/confine-92.xml datadir/vn/confine-92.xml | ||
| 176 | 18c18 | ||
| 177 | < <SELRESTRS> | ||
| 178 | --- | ||
| 179 | > <SELRESTRS logic="or"> | ||
| 121 | diff /Users/hatkirby/Downloads/new_vn 2/consider-29.9.xml datadir/vn/consider-29.9.xml | 180 | diff /Users/hatkirby/Downloads/new_vn 2/consider-29.9.xml datadir/vn/consider-29.9.xml |
| 122 | 191,193c191,193 | 181 | 191,193c191,193 |
| 123 | < <SYNRESTRS> | 182 | < <SYNRESTRS> |
| @@ -195,6 +254,47 @@ diff /Users/hatkirby/Downloads/new_vn 2/declare-29.4.xml datadir/vn/declare-29.4 | |||
| 195 | > <SYNRESTRS> | 254 | > <SYNRESTRS> |
| 196 | > <SYNRESTR Value="+" type="adjp"/> | 255 | > <SYNRESTR Value="+" type="adjp"/> |
| 197 | > </SYNRESTRS> | 256 | > </SYNRESTRS> |
| 257 | diff /Users/hatkirby/Downloads/new_vn 2/devour-39.4.xml datadir/vn/devour-39.4.xml | ||
| 258 | 26,27c26 | ||
| 259 | < <SELRESTR Value="+" type="comestible"/> | ||
| 260 | < <SELRESTR Value="+" type="solid"/> | ||
| 261 | --- | ||
| 262 | > <SELRESTR Value="+" type="solid_food"/> | ||
| 263 | 67,68c66 | ||
| 264 | < <SELRESTR Value="+" type="comestible"/> | ||
| 265 | < <SELRESTR Value="-" type="solid"/> | ||
| 266 | --- | ||
| 267 | > <SELRESTR Value="+" type="non_solid_food"/> | ||
| 268 | diff /Users/hatkirby/Downloads/new_vn 2/drive-11.5.xml datadir/vn/drive-11.5.xml | ||
| 269 | 37,40c37 | ||
| 270 | < <SELRESTRS> | ||
| 271 | < <SELRESTR Value="+" type="location"/> | ||
| 272 | < <SELRESTR Value="-" type="region"/> | ||
| 273 | < </SELRESTRS> | ||
| 274 | --- | ||
| 275 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 276 | diff /Users/hatkirby/Downloads/new_vn 2/eat-39.1.xml datadir/vn/eat-39.1.xml | ||
| 277 | 24,25c24 | ||
| 278 | < <SELRESTR Value="+" type="comestible"/> | ||
| 279 | < <SELRESTR Value="+" type="solid"/> | ||
| 280 | --- | ||
| 281 | > <SELRESTR Value="+" type="solid_food"/> | ||
| 282 | 148,149c147 | ||
| 283 | < <SELRESTR Value="+" type="comestible"/> | ||
| 284 | < <SELRESTR Value="-" type="solid"/> | ||
| 285 | --- | ||
| 286 | > <SELRESTR Value="+" type="non_solid_food"/> | ||
| 287 | diff /Users/hatkirby/Downloads/new_vn 2/enforce-63.xml datadir/vn/enforce-63.xml | ||
| 288 | 11c11 | ||
| 289 | < <SELRESTRS> | ||
| 290 | --- | ||
| 291 | > <SELRESTRS logic="or"> | ||
| 292 | diff /Users/hatkirby/Downloads/new_vn 2/entity_specific_modes_being-47.2.xml datadir/vn/entity_specific_modes_being-47.2.xml | ||
| 293 | 35,36c35 | ||
| 294 | < <SELRESTR Value="+" type="location"/> | ||
| 295 | < <SELRESTR Value="-" type="region"/> | ||
| 296 | --- | ||
| 297 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 198 | diff /Users/hatkirby/Downloads/new_vn 2/estimate-34.2.xml datadir/vn/estimate-34.2.xml | 298 | diff /Users/hatkirby/Downloads/new_vn 2/estimate-34.2.xml datadir/vn/estimate-34.2.xml |
| 199 | 123a124 | 299 | 123a124 |
| 200 | > <LEX value="to be"/> | 300 | > <LEX value="to be"/> |
| @@ -206,12 +306,53 @@ diff /Users/hatkirby/Downloads/new_vn 2/estimate-34.2.xml datadir/vn/estimate-34 | |||
| 206 | > <SYNRESTRS> | 306 | > <SYNRESTRS> |
| 207 | > <SYNRESTR Value="+" type="adjp"/> | 307 | > <SYNRESTR Value="+" type="adjp"/> |
| 208 | > </SYNRESTRS> | 308 | > </SYNRESTRS> |
| 309 | diff /Users/hatkirby/Downloads/new_vn 2/exchange-13.6.xml datadir/vn/exchange-13.6.xml | ||
| 310 | 329,330c329 | ||
| 311 | < <SELRESTR Value="+" type="location"/> | ||
| 312 | < <SELRESTR Value="-" type="region"/> | ||
| 313 | --- | ||
| 314 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 315 | diff /Users/hatkirby/Downloads/new_vn 2/exist-47.1.xml datadir/vn/exist-47.1.xml | ||
| 316 | 13,14c13 | ||
| 317 | < <SELRESTR Value="+" type="location"/> | ||
| 318 | < <SELRESTR Value="-" type="region"/> | ||
| 319 | --- | ||
| 320 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 321 | diff /Users/hatkirby/Downloads/new_vn 2/fill-9.8.xml datadir/vn/fill-9.8.xml | ||
| 322 | 132,133c132 | ||
| 323 | < <SELRESTR Value="+" type="location"/> | ||
| 324 | < <SELRESTR Value="-" type="region"/> | ||
| 325 | --- | ||
| 326 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 327 | diff /Users/hatkirby/Downloads/new_vn 2/funnel-9.3.xml datadir/vn/funnel-9.3.xml | ||
| 328 | 30,31c30 | ||
| 329 | < <SELRESTR Value="+" type="location"/> | ||
| 330 | < <SELRESTR Value="-" type="region"/> | ||
| 331 | --- | ||
| 332 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 209 | diff /Users/hatkirby/Downloads/new_vn 2/get-13.5.1.xml datadir/vn/get-13.5.1.xml | 333 | diff /Users/hatkirby/Downloads/new_vn 2/get-13.5.1.xml datadir/vn/get-13.5.1.xml |
| 210 | 55,56c55 | 334 | 55,56c55 |
| 211 | < <SELRESTR Value="-" type="location"/> | 335 | < <SELRESTR Value="-" type="location"/> |
| 212 | < <SELRESTR Value="-" type="region"/> | 336 | < <SELRESTR Value="-" type="region"/> |
| 213 | --- | 337 | --- |
| 214 | > <SELRESTR Value="+" type="currency"/> | 338 | > <SELRESTR Value="+" type="currency"/> |
| 339 | diff /Users/hatkirby/Downloads/new_vn 2/gobble-39.3.xml datadir/vn/gobble-39.3.xml | ||
| 340 | 23,24c23 | ||
| 341 | < <SELRESTR Value="+" type="comestible"/> | ||
| 342 | < <SELRESTR Value="+" type="solid"/> | ||
| 343 | --- | ||
| 344 | > <SELRESTR Value="+" type="solid_food"/> | ||
| 345 | 118,119c117 | ||
| 346 | < <SELRESTR Value="+" type="comestible"/> | ||
| 347 | < <SELRESTR Value="-" type="solid"/> | ||
| 348 | --- | ||
| 349 | > <SELRESTR Value="+" type="non_solid_food"/> | ||
| 350 | diff /Users/hatkirby/Downloads/new_vn 2/herd-47.5.2.xml datadir/vn/herd-47.5.2.xml | ||
| 351 | 29,30c29 | ||
| 352 | < <SELRESTR Value="+" type="concrete"/> | ||
| 353 | < <SELRESTR Value="+" type="plural"/> | ||
| 354 | --- | ||
| 355 | > <SELRESTR Value="+" type="group"/> | ||
| 215 | diff /Users/hatkirby/Downloads/new_vn 2/hit-18.1.xml datadir/vn/hit-18.1.xml | 356 | diff /Users/hatkirby/Downloads/new_vn 2/hit-18.1.xml datadir/vn/hit-18.1.xml |
| 216 | 234c234,236 | 357 | 234c234,236 |
| 217 | < <SYNRESTRS/> | 358 | < <SYNRESTRS/> |
| @@ -257,6 +398,23 @@ diff /Users/hatkirby/Downloads/new_vn 2/judgment-33.xml datadir/vn/judgment-33.x | |||
| 257 | < </SYNRESTRS> | 398 | < </SYNRESTRS> |
| 258 | --- | 399 | --- |
| 259 | > <SYNRESTRS/> | 400 | > <SYNRESTRS/> |
| 401 | diff /Users/hatkirby/Downloads/new_vn 2/keep-15.2.xml datadir/vn/keep-15.2.xml | ||
| 402 | 24,25c24 | ||
| 403 | < <SELRESTR Value="+" type="location"/> | ||
| 404 | < <SELRESTR Value="-" type="region"/> | ||
| 405 | --- | ||
| 406 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 407 | diff /Users/hatkirby/Downloads/new_vn 2/leave-51.2.xml datadir/vn/leave-51.2.xml | ||
| 408 | 16,17c16 | ||
| 409 | < <SELRESTR Value="+" type="location"/> | ||
| 410 | < <SELRESTR Value="-" type="region"/> | ||
| 411 | --- | ||
| 412 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 413 | diff /Users/hatkirby/Downloads/new_vn 2/light_emission-43.1.xml datadir/vn/light_emission-43.1.xml | ||
| 414 | 31c31 | ||
| 415 | < <SELRESTR Value="-" type="animate"/> | ||
| 416 | --- | ||
| 417 | > <SELRESTR Value="+" type="inanimate"/> | ||
| 260 | diff /Users/hatkirby/Downloads/new_vn 2/manner_speaking-37.3.xml datadir/vn/manner_speaking-37.3.xml | 418 | diff /Users/hatkirby/Downloads/new_vn 2/manner_speaking-37.3.xml datadir/vn/manner_speaking-37.3.xml |
| 261 | 264c264,266 | 419 | 264c264,266 |
| 262 | < <SYNRESTRS/> | 420 | < <SYNRESTRS/> |
| @@ -270,6 +428,17 @@ diff /Users/hatkirby/Downloads/new_vn 2/manner_speaking-37.3.xml datadir/vn/mann | |||
| 270 | > <SYNRESTRS> | 428 | > <SYNRESTRS> |
| 271 | > <SYNRESTR Value="+" type="quotation"/> | 429 | > <SYNRESTR Value="+" type="quotation"/> |
| 272 | > </SYNRESTRS> | 430 | > </SYNRESTRS> |
| 431 | diff /Users/hatkirby/Downloads/new_vn 2/matter-91.xml datadir/vn/matter-91.xml | ||
| 432 | 10c10 | ||
| 433 | < <SELRESTRS> | ||
| 434 | --- | ||
| 435 | > <SELRESTRS logic="or"> | ||
| 436 | diff /Users/hatkirby/Downloads/new_vn 2/modes_of_being_with_motion-47.3.xml datadir/vn/modes_of_being_with_motion-47.3.xml | ||
| 437 | 64,65c64 | ||
| 438 | < <SELRESTR Value="+" type="location"/> | ||
| 439 | < <SELRESTR Value="-" type="region"/> | ||
| 440 | --- | ||
| 441 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 273 | diff /Users/hatkirby/Downloads/new_vn 2/other_cos-45.4.xml datadir/vn/other_cos-45.4.xml | 442 | diff /Users/hatkirby/Downloads/new_vn 2/other_cos-45.4.xml datadir/vn/other_cos-45.4.xml |
| 274 | 534c534,536 | 443 | 534c534,536 |
| 275 | < <SYNRESTRS/> | 444 | < <SYNRESTRS/> |
| @@ -277,6 +446,11 @@ diff /Users/hatkirby/Downloads/new_vn 2/other_cos-45.4.xml datadir/vn/other_cos- | |||
| 277 | > <SYNRESTRS> | 446 | > <SYNRESTRS> |
| 278 | > <SYNRESTR Value="+" type="adjp"/> | 447 | > <SYNRESTR Value="+" type="adjp"/> |
| 279 | > </SYNRESTRS> | 448 | > </SYNRESTRS> |
| 449 | diff /Users/hatkirby/Downloads/new_vn 2/pay-68.xml datadir/vn/pay-68.xml | ||
| 450 | 13c13 | ||
| 451 | < <SELRESTRS> | ||
| 452 | --- | ||
| 453 | > <SELRESTRS logic="or"> | ||
| 280 | diff /Users/hatkirby/Downloads/new_vn 2/pocket-9.10.xml datadir/vn/pocket-9.10.xml | 454 | diff /Users/hatkirby/Downloads/new_vn 2/pocket-9.10.xml datadir/vn/pocket-9.10.xml |
| 281 | 256c256,258 | 455 | 256c256,258 |
| 282 | < <SYNRESTRS/> | 456 | < <SYNRESTRS/> |
| @@ -292,7 +466,24 @@ diff /Users/hatkirby/Downloads/new_vn 2/poison-42.2.xml datadir/vn/poison-42.2.x | |||
| 292 | > <SYNRESTR Value="+" type="adjp"/> | 466 | > <SYNRESTR Value="+" type="adjp"/> |
| 293 | > </SYNRESTRS> | 467 | > </SYNRESTRS> |
| 294 | diff /Users/hatkirby/Downloads/new_vn 2/pour-9.5.xml datadir/vn/pour-9.5.xml | 468 | diff /Users/hatkirby/Downloads/new_vn 2/pour-9.5.xml datadir/vn/pour-9.5.xml |
| 295 | 59,61c59,62 | 469 | 24,27c24 |
| 470 | < <SELRESTRS> | ||
| 471 | < <SELRESTR Value="+" type="concrete"/> | ||
| 472 | < <SELRESTR Value="+" type="plural"/> | ||
| 473 | < </SELRESTRS> | ||
| 474 | --- | ||
| 475 | > <SELRESTR Value="+" type="group"/> | ||
| 476 | 32,33c29 | ||
| 477 | < <SELRESTR Value="+" type="location"/> | ||
| 478 | < <SELRESTR Value="-" type="region"/> | ||
| 479 | --- | ||
| 480 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 481 | 39,40c35 | ||
| 482 | < <SELRESTR Value="+" type="location"/> | ||
| 483 | < <SELRESTR Value="-" type="region"/> | ||
| 484 | --- | ||
| 485 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 486 | 59,61c54,57 | ||
| 296 | < <SELRESTRS> | 487 | < <SELRESTRS> |
| 297 | < <SELRESTR Value="+" type="path"/> | 488 | < <SELRESTR Value="+" type="path"/> |
| 298 | < <SELRESTR Value="-" type="dest_dir"/> | 489 | < <SELRESTR Value="-" type="dest_dir"/> |
| @@ -301,7 +492,7 @@ diff /Users/hatkirby/Downloads/new_vn 2/pour-9.5.xml datadir/vn/pour-9.5.xml | |||
| 301 | > <SELRESTR Value="+" type="dir"/> | 492 | > <SELRESTR Value="+" type="dir"/> |
| 302 | > <SELRESTR Value="+" type="src"/> | 493 | > <SELRESTR Value="+" type="src"/> |
| 303 | > <SELRESTR Value="+" type="dest_conf"/> | 494 | > <SELRESTR Value="+" type="dest_conf"/> |
| 304 | 157,160c158,162 | 495 | 157,160c153,157 |
| 305 | < <SELRESTRS> | 496 | < <SELRESTRS> |
| 306 | < <SELRESTR Value="+" type="path"/> | 497 | < <SELRESTR Value="+" type="path"/> |
| 307 | < <SELRESTR Value="-" type="dest_dir"/> | 498 | < <SELRESTR Value="-" type="dest_dir"/> |
| @@ -319,6 +510,31 @@ diff /Users/hatkirby/Downloads/new_vn 2/push-12.xml datadir/vn/push-12.xml | |||
| 319 | > <SYNRESTRS> | 510 | > <SYNRESTRS> |
| 320 | > <SYNRESTR Value="+" type="adjp"/> | 511 | > <SYNRESTR Value="+" type="adjp"/> |
| 321 | > </SYNRESTRS> | 512 | > </SYNRESTRS> |
| 513 | diff /Users/hatkirby/Downloads/new_vn 2/put-9.1.xml datadir/vn/put-9.1.xml | ||
| 514 | 35,36c35 | ||
| 515 | < <SELRESTR Value="+" type="location"/> | ||
| 516 | < <SELRESTR Value="-" type="region"/> | ||
| 517 | --- | ||
| 518 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 519 | diff /Users/hatkirby/Downloads/new_vn 2/put_direction-9.4.xml datadir/vn/put_direction-9.4.xml | ||
| 520 | 30,31c30 | ||
| 521 | < <SELRESTR Value="+" type="location"/> | ||
| 522 | < <SELRESTR Value="-" type="region"/> | ||
| 523 | --- | ||
| 524 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 525 | diff /Users/hatkirby/Downloads/new_vn 2/put_spatial-9.2.xml datadir/vn/put_spatial-9.2.xml | ||
| 526 | 25,26c25 | ||
| 527 | < <SELRESTR Value="+" type="location"/> | ||
| 528 | < <SELRESTR Value="-" type="region"/> | ||
| 529 | --- | ||
| 530 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 531 | diff /Users/hatkirby/Downloads/new_vn 2/reach-51.8.xml datadir/vn/reach-51.8.xml | ||
| 532 | 12,13c12,13 | ||
| 533 | < <SELRESTRS> | ||
| 534 | < <SELRESTR Value="+" type="concrete"/> | ||
| 535 | --- | ||
| 536 | > <SELRESTRS logic="or"> | ||
| 537 | > <SELRESTR Value="+" type="animate"/> | ||
| 322 | diff /Users/hatkirby/Downloads/new_vn 2/roll-51.3.1.xml datadir/vn/roll-51.3.1.xml | 538 | diff /Users/hatkirby/Downloads/new_vn 2/roll-51.3.1.xml datadir/vn/roll-51.3.1.xml |
| 323 | 190c190,192 | 539 | 190c190,192 |
| 324 | < <SYNRESTRS/> | 540 | < <SYNRESTRS/> |
| @@ -357,8 +573,23 @@ diff /Users/hatkirby/Downloads/new_vn 2/seem-109.xml datadir/vn/seem-109.xml | |||
| 357 | > <SYNRESTRS> | 573 | > <SYNRESTRS> |
| 358 | > <SYNRESTR Value="+" type="adjp"/> | 574 | > <SYNRESTR Value="+" type="adjp"/> |
| 359 | > </SYNRESTRS> | 575 | > </SYNRESTRS> |
| 576 | diff /Users/hatkirby/Downloads/new_vn 2/send-11.1.xml datadir/vn/send-11.1.xml | ||
| 577 | 41,44c41 | ||
| 578 | < <SELRESTRS> | ||
| 579 | < <SELRESTR Value="+" type="location"/> | ||
| 580 | < <SELRESTR Value="-" type="region"/> | ||
| 581 | < </SELRESTRS> | ||
| 582 | --- | ||
| 583 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 360 | diff /Users/hatkirby/Downloads/new_vn 2/slide-11.2.xml datadir/vn/slide-11.2.xml | 584 | diff /Users/hatkirby/Downloads/new_vn 2/slide-11.2.xml datadir/vn/slide-11.2.xml |
| 361 | 69,72c69,73 | 585 | 27,30c27 |
| 586 | < <SELRESTRS> | ||
| 587 | < <SELRESTR Value="+" type="location"/> | ||
| 588 | < <SELRESTR Value="-" type="region"/> | ||
| 589 | < </SELRESTRS> | ||
| 590 | --- | ||
| 591 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 592 | 69,72c66,70 | ||
| 362 | < <SELRESTRS> | 593 | < <SELRESTRS> |
| 363 | < <SELRESTR Value="+" type="path"/> | 594 | < <SELRESTR Value="+" type="path"/> |
| 364 | < <SELRESTR Value="-" type="dest_dir"/> | 595 | < <SELRESTR Value="-" type="dest_dir"/> |
| @@ -369,7 +600,7 @@ diff /Users/hatkirby/Downloads/new_vn 2/slide-11.2.xml datadir/vn/slide-11.2.xml | |||
| 369 | > <SELRESTR Value="+" type="src"/> | 600 | > <SELRESTR Value="+" type="src"/> |
| 370 | > <SELRESTR Value="+" type="dest_conf"/> | 601 | > <SELRESTR Value="+" type="dest_conf"/> |
| 371 | > </SELRESTRS> | 602 | > </SELRESTRS> |
| 372 | 218,221c219,223 | 603 | 218,221c216,220 |
| 373 | < <SELRESTRS> | 604 | < <SELRESTRS> |
| 374 | < <SELRESTR Value="+" type="path"/> | 605 | < <SELRESTR Value="+" type="path"/> |
| 375 | < <SELRESTR Value="-" type="dest_dir"/> | 606 | < <SELRESTR Value="-" type="dest_dir"/> |
| @@ -380,6 +611,22 @@ diff /Users/hatkirby/Downloads/new_vn 2/slide-11.2.xml datadir/vn/slide-11.2.xml | |||
| 380 | > <SELRESTR Value="+" type="src"/> | 611 | > <SELRESTR Value="+" type="src"/> |
| 381 | > <SELRESTR Value="+" type="dest_conf"/> | 612 | > <SELRESTR Value="+" type="dest_conf"/> |
| 382 | > </SELRESTRS> | 613 | > </SELRESTRS> |
| 614 | diff /Users/hatkirby/Downloads/new_vn 2/smell_emission-43.3.xml datadir/vn/smell_emission-43.3.xml | ||
| 615 | 12c12 | ||
| 616 | < <SELRESTR Value="-" type="animate"/> | ||
| 617 | --- | ||
| 618 | > <SELRESTR Value="+" type="inanimate"/> | ||
| 619 | diff /Users/hatkirby/Downloads/new_vn 2/sound_emission-43.2.xml datadir/vn/sound_emission-43.2.xml | ||
| 620 | 138c138 | ||
| 621 | < <SELRESTR Value="-" type="animate"/> | ||
| 622 | --- | ||
| 623 | > <SELRESTR Value="+" type="inanimate"/> | ||
| 624 | diff /Users/hatkirby/Downloads/new_vn 2/sound_existence-47.4.xml datadir/vn/sound_existence-47.4.xml | ||
| 625 | 21,22c21 | ||
| 626 | < <SELRESTR Value="+" type="location"/> | ||
| 627 | < <SELRESTR Value="-" type="region"/> | ||
| 628 | --- | ||
| 629 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 383 | diff /Users/hatkirby/Downloads/new_vn 2/spank-18.3.xml datadir/vn/spank-18.3.xml | 630 | diff /Users/hatkirby/Downloads/new_vn 2/spank-18.3.xml datadir/vn/spank-18.3.xml |
| 384 | 69a70,72 | 631 | 69a70,72 |
| 385 | > <THEMROLE type="Recipient"> | 632 | > <THEMROLE type="Recipient"> |
| @@ -405,6 +652,12 @@ diff /Users/hatkirby/Downloads/new_vn 2/spank-18.3.xml datadir/vn/spank-18.3.xml | |||
| 405 | > <SYNRESTRS> | 652 | > <SYNRESTRS> |
| 406 | > <SYNRESTR Value="+" type="body_part"/> | 653 | > <SYNRESTR Value="+" type="body_part"/> |
| 407 | > </SYNRESTRS> | 654 | > </SYNRESTRS> |
| 655 | diff /Users/hatkirby/Downloads/new_vn 2/spatial_configuration-47.6.xml datadir/vn/spatial_configuration-47.6.xml | ||
| 656 | 66,67c66 | ||
| 657 | < <SELRESTR Value="+" type="location"/> | ||
| 658 | < <SELRESTR Value="-" type="region"/> | ||
| 659 | --- | ||
| 660 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 408 | diff /Users/hatkirby/Downloads/new_vn 2/split-23.2.xml datadir/vn/split-23.2.xml | 661 | diff /Users/hatkirby/Downloads/new_vn 2/split-23.2.xml datadir/vn/split-23.2.xml |
| 409 | 59c59 | 662 | 59c59 |
| 410 | < <PREP value="off off of from"> | 663 | < <PREP value="off off of from"> |
| @@ -418,6 +671,41 @@ diff /Users/hatkirby/Downloads/new_vn 2/split-23.2.xml datadir/vn/split-23.2.xml | |||
| 418 | < <PREP value="off off of from"> | 671 | < <PREP value="off off of from"> |
| 419 | --- | 672 | --- |
| 420 | > <PREP value="off off_of from"> | 673 | > <PREP value="off off_of from"> |
| 674 | diff /Users/hatkirby/Downloads/new_vn 2/spray-9.7.xml datadir/vn/spray-9.7.xml | ||
| 675 | 19,20c19 | ||
| 676 | < <SELRESTR Value="+" type="location"/> | ||
| 677 | < <SELRESTR Value="-" type="region"/> | ||
| 678 | --- | ||
| 679 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 680 | 254,255c253 | ||
| 681 | < <SELRESTR Value="+" type="concrete"/> | ||
| 682 | < <SELRESTR Value="+" type="plural"/> | ||
| 683 | --- | ||
| 684 | > <SELRESTR Value="+" type="group"/> | ||
| 685 | diff /Users/hatkirby/Downloads/new_vn 2/steal-10.5.xml datadir/vn/steal-10.5.xml | ||
| 686 | 55,58c55 | ||
| 687 | < <SELRESTRS> | ||
| 688 | < <SELRESTR Value="+" type="location"/> | ||
| 689 | < <SELRESTR Value="-" type="region"/> | ||
| 690 | < </SELRESTRS> | ||
| 691 | --- | ||
| 692 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 693 | diff /Users/hatkirby/Downloads/new_vn 2/substance_emission-43.4.xml datadir/vn/substance_emission-43.4.xml | ||
| 694 | 40c40 | ||
| 695 | < <SELRESTR Value="-" type="animate"/> | ||
| 696 | --- | ||
| 697 | > <SELRESTR Value="+" type="inanimate"/> | ||
| 698 | diff /Users/hatkirby/Downloads/new_vn 2/swarm-47.5.1.xml datadir/vn/swarm-47.5.1.xml | ||
| 699 | 8,9c8 | ||
| 700 | < <SELRESTR Value="+" type="concrete"/> | ||
| 701 | < <SELRESTR Value="+" type="plural"/> | ||
| 702 | --- | ||
| 703 | > <SELRESTR Value="+" type="group"/> | ||
| 704 | 14,15c13 | ||
| 705 | < <SELRESTR Value="+" type="location"/> | ||
| 706 | < <SELRESTR Value="-" type="region"/> | ||
| 707 | --- | ||
| 708 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 421 | diff /Users/hatkirby/Downloads/new_vn 2/swat-18.2.xml datadir/vn/swat-18.2.xml | 709 | diff /Users/hatkirby/Downloads/new_vn 2/swat-18.2.xml datadir/vn/swat-18.2.xml |
| 422 | 264c264,266 | 710 | 264c264,266 |
| 423 | < <SYNRESTRS/> | 711 | < <SYNRESTRS/> |
| @@ -432,12 +720,25 @@ diff /Users/hatkirby/Downloads/new_vn 2/swat-18.2.xml datadir/vn/swat-18.2.xml | |||
| 432 | > <SYNRESTR Value="+" type="adjp"/> | 720 | > <SYNRESTR Value="+" type="adjp"/> |
| 433 | > </SYNRESTRS> | 721 | > </SYNRESTRS> |
| 434 | diff /Users/hatkirby/Downloads/new_vn 2/tape-22.4.xml datadir/vn/tape-22.4.xml | 722 | diff /Users/hatkirby/Downloads/new_vn 2/tape-22.4.xml datadir/vn/tape-22.4.xml |
| 435 | 364c364,366 | 723 | 93,94c93 |
| 724 | < <SELRESTR Value="+" type="concrete"/> | ||
| 725 | < <SELRESTR Value="-" type="animate"/> | ||
| 726 | --- | ||
| 727 | > <SELRESTR Value="+" type="concrete_inanimate"/> | ||
| 728 | 364c363,365 | ||
| 436 | < <SYNRESTRS/> | 729 | < <SYNRESTRS/> |
| 437 | --- | 730 | --- |
| 438 | > <SYNRESTRS> | 731 | > <SYNRESTRS> |
| 439 | > <SYNRESTR Value="+" type="adjp"/> | 732 | > <SYNRESTR Value="+" type="adjp"/> |
| 440 | > </SYNRESTRS> | 733 | > </SYNRESTRS> |
| 734 | diff /Users/hatkirby/Downloads/new_vn 2/throw-17.1.xml datadir/vn/throw-17.1.xml | ||
| 735 | 27,30c27 | ||
| 736 | < <SELRESTRS> | ||
| 737 | < <SELRESTR Value="+" type="location"/> | ||
| 738 | < <SELRESTR Value="-" type="region"/> | ||
| 739 | < </SELRESTRS> | ||
| 740 | --- | ||
| 741 | > <SELRESTR Value="+" type="non_region_location"/> | ||
| 441 | diff /Users/hatkirby/Downloads/new_vn 2/vehicle-51.4.1.xml datadir/vn/vehicle-51.4.1.xml | 742 | diff /Users/hatkirby/Downloads/new_vn 2/vehicle-51.4.1.xml datadir/vn/vehicle-51.4.1.xml |
| 442 | 227c227,229 | 743 | 227c227,229 |
| 443 | < <SYNRESTRS/> | 744 | < <SYNRESTRS/> |
| @@ -468,18 +769,32 @@ diff /Users/hatkirby/Downloads/new_vn 2/want-32.1.xml datadir/vn/want-32.1.xml | |||
| 468 | > <SYNRESTR Value="+" type="adjp"/> | 769 | > <SYNRESTR Value="+" type="adjp"/> |
| 469 | > </SYNRESTRS> | 770 | > </SYNRESTRS> |
| 470 | diff /Users/hatkirby/Downloads/new_vn 2/wipe_instr-10.4.2.xml datadir/vn/wipe_instr-10.4.2.xml | 771 | diff /Users/hatkirby/Downloads/new_vn 2/wipe_instr-10.4.2.xml datadir/vn/wipe_instr-10.4.2.xml |
| 471 | 178c178,180 | 772 | 26,27c26 |
| 773 | < <SELRESTR Value="+" type="concrete"/> | ||
| 774 | < <SELRESTR Value="-" type="animate"/> | ||
| 775 | --- | ||
| 776 | > <SELRESTR Value="+" type="concrete_inanimate"/> | ||
| 777 | 37,38c36 | ||
| 778 | < <SELRESTR Value="+" type="concrete"/> | ||
| 779 | < <SELRESTR Value="-" type="animate"/> | ||
| 780 | --- | ||
| 781 | > <SELRESTR Value="+" type="concrete_inanimate"/> | ||
| 782 | 178c176,178 | ||
| 472 | < <SYNRESTRS/> | 783 | < <SYNRESTRS/> |
| 473 | --- | 784 | --- |
| 474 | > <SYNRESTRS> | 785 | > <SYNRESTRS> |
| 475 | > <SYNRESTR Value="+" type="adjp"/> | 786 | > <SYNRESTR Value="+" type="adjp"/> |
| 476 | > </SYNRESTRS> | 787 | > </SYNRESTRS> |
| 477 | diff /Users/hatkirby/Downloads/new_vn 2/wipe_manner-10.4.1.xml datadir/vn/wipe_manner-10.4.1.xml | 788 | diff /Users/hatkirby/Downloads/new_vn 2/wipe_manner-10.4.1.xml datadir/vn/wipe_manner-10.4.1.xml |
| 478 | 198c198,199 | 789 | 37,38c37 |
| 790 | < <SELRESTR Value="+" type="concrete"/> | ||
| 791 | < <SELRESTR Value="-" type="animate"/> | ||
| 792 | --- | ||
| 793 | > <SELRESTR Value="+" type="concrete_inanimate"/> | ||
| 794 | 198c197 | ||
| 479 | < <SELRESTR Value="-" type="region"/> | 795 | < <SELRESTR Value="-" type="region"/> |
| 480 | --- | 796 | --- |
| 481 | > <SELRESTR Value="+" type="location"/> | 797 | > <SELRESTR Value="+" type="non_region_location"/> |
| 482 | > <SELRESTR Value="-" type="region"/> | ||
| 483 | diff /Users/hatkirby/Downloads/new_vn 2/wish-62.xml datadir/vn/wish-62.xml | 798 | diff /Users/hatkirby/Downloads/new_vn 2/wish-62.xml datadir/vn/wish-62.xml |
| 484 | 91a92 | 799 | 91a92 |
| 485 | > <LEX value="to be"/> | 800 | > <LEX value="to be"/> |
| @@ -493,3 +808,8 @@ diff /Users/hatkirby/Downloads/new_vn 2/wish-62.xml datadir/vn/wish-62.xml | |||
| 493 | > </SYNRESTRS> | 808 | > </SYNRESTRS> |
| 494 | 122a124 | 809 | 122a124 |
| 495 | > <ADJ/> | 810 | > <ADJ/> |
| 811 | diff /Users/hatkirby/Downloads/new_vn 2/withdraw-82.xml datadir/vn/withdraw-82.xml | ||
| 812 | 7c7 | ||
| 813 | < <SELRESTRS> | ||
| 814 | --- | ||
| 815 | > <SELRESTRS logic="or"> | ||
