aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2011-06-06 16:14:45 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2011-06-06 16:18:34 +0300
commit8a7e9b26e073731c82c02594d081c57aa474eade (patch)
tree8aba21e17f5518dc52fb407ba4759ee499a33e34 /data
parent00131c263a9cb0ff8501bc1c4dc1e38b84af1a88 (diff)
downloadellinika-8a7e9b26e073731c82c02594d081c57aa474eade.tar.gz
ellinika-8a7e9b26e073731c82c02594d081c57aa474eade.tar.bz2
Improve conjugator
* data/db.struct: Update. * data/dbverb.struct: New file. * scm/conjugator.scm: Conjugate passive voice. * src/ellinika/elmorph.c (elstr-char-prop-bitmask): Accept negative positions. * xml/pl/rhmata.xml: Make verb suffixes prominent. * xml/ru/rhmata.xml: Likewise.
Diffstat (limited to 'data')
-rw-r--r--data/db.struct263
-rw-r--r--data/dbverb.struct323
2 files changed, 325 insertions, 261 deletions
diff --git a/data/db.struct b/data/db.struct
index 616d2c5..1b2f160 100644
--- a/data/db.struct
+++ b/data/db.struct
@@ -160,264 +160,5 @@ CREATE TABLE newsart(
----
-set names utf8;
-DROP TABLE IF EXISTS verbflect;
-CREATE TABLE verbflect(
- ident int(32) not null, -- REL 8
- sing1 varchar(32),
- sing2 varchar(32),
- sing3 varchar(32),
- plur1 varchar(32),
- plur2 varchar(32),
- plur3 varchar(32),
- UNIQUE(ident)
-);
-
-DROP TABLE IF EXISTS conjugation;
-CREATE TABLE conjugation(
- conj char(2), -- REL 9
- voice enum('act','pas'), -- Ενεργητηκή/Μεσοπαθητική
- mode enum('ind','sub','imp'),
- tense varchar(128),
- thema enum('pres','aor','sub','synt'), -- Ενεστώτα, Αόριστου, υποτακτικής, syntethic
- suffix char(32),
- flect int(32), -- REL 8
- accmap char(7), -- accent map
- particle char(2), -- NULL/θα/να
- aux varchar(128), -- REL 10
- auxtense char(32),
- KEY (conj),
- KEY (voice),
- KEY (mode)
-);
-
-DROP TABLE IF EXISTS participle;
-CREATE TABLE participle (
- conj char(2), -- REL 9
- voice enum('act','pas'), -- Ενεργητηκή/Μεσοπαθητική
- tense char(32),
- thema enum('pres','aor','sub'), -- Ενεστώτα, Αόριστου, υποτακτικής
- suffix char(32),
- flect char(32),
- aux varchar(128)
-);
-
-INSERT INTO verbflect VALUES
-(0, NULL, NULL, NULL, NULL, NULL, NULL),
--- Συζυγία Α'
-(1, "ω", "εις", "ει", "ουμε", "ετε", "ουν(ε)"),
-(2, "α", "ες", "ε", "αμε", "ατε", "αν"),
-(8, NULL, "ε", NULL, NULL, "ετε", NULL),
-(9, NULL, "ε", NULL, NULL, "τε", NULL),
-(11, "ομαι", "εσαι", "εται", "όμαστε", "εστε", "ονται"),
-(12, "όμουν", "όσουν", "όταν", "όμαστε", "όμαστε", "ονταν"),
-(15, "ώ", "είς", "εί", "ούμε", "είτε", "ούν(ε)"),
-(17, NULL, "ου", NULL, NULL, NULL, NULL),
-(18, NULL, NULL, NULL, NULL, "είτε", NULL),
--- Συζυγία Β΄ - α΄ τάξη
-(20, "ώ,άω", "άς", "ά,άει","άμε,ούμε","άτε","ούν(ε)"),
-(25, NULL, "α", NULL, NULL, "άτε", NULL),
-(28, "ιέμαι", "ιέσαι", "ιέται", "ιόμαστε", "ιέστε", "ιούνται"),
-(29, "ιόμουν", "ιόσουν", "ιόταν", "ιόμαστε", "ιόσαστε", "ιόνταν"),
-(30, NULL, "ιέσαι", NULL, NULL, "ιέσται", NULL),
-(31, NULL, "ου", NULL, NULL, NULL, NULL),
-(32, NULL, NULL, NULL, NULL, "είτε", NULL),
--- Συζυγία Β΄ - β΄ τάξη
-(33, NULL, "είς", NULL, NULL, "είτε", NULL),
-(34, "ούμαι", "είσαι", "είται", "ούμαστε", "είστε", "ούνται"),
-(35, "ούμουν", "ούσουν", "ούvταν", "ούμαστε", "ούσαστε", "ούνταν"),
-(36, NULL, "είσαι", NULL, NULL, "είστε", NULL),
-(100, "είμαι", "είσαι", "είναι", "είμαστε", "είστε,είσαστε", "είναι"),
-(101, "ήμουν(α)", "ήσουν(α)", "ήταν(ε)", "ήμαστε,ήμασταν", "ήσαστε,ήσασταν", "ήταν(ε)")
-;
-
-
-INSERT INTO conjugation VALUES
--- Συζυγία Α'
--- Ενεργητηκή φωνή
--- Οριστική
-("A", "act", "ind", "Ενεστώτας", 'pres', NULL, 1, "000000", NULL, NULL, NULL),
-("A", "act", "ind", "Παρατατικός", 'pres', NULL, 2, "333333+", NULL, NULL, NULL),
-("A", "act", "ind", "Μέλλοντας διαρκείας", 'pres', NULL, 1, "000000", "θα", NULL, NULL),
-("A", "act", "ind", "Αόριστος", 'aor', NULL, 2, "333333+", NULL, NULL, NULL),
-("A", "act", "ind", "Παρακείμενος", 'synt', NULL, 0, NULL, NULL, "έχω", "Ενεστώτας"),
-("A", "act", "ind", "Υπερσυντέλικος", 'synt', NULL, 0, NULL, NULL, "έχω", "Παρατατικός"),
-("A", "act", "ind", "Συντελεσμένος μέλλοντας", 'synt', NULL, 0, NULL, "θα", "έχω", "Ενεστώτας"),
-("A", "act", "ind", "Μέλλοντας στιγμιαίος", 'sub', NULL, 1, "000000", "θα", NULL, NULL),
--- Υποτακτική
-("A", "act", "sub", "Ενεστώτας", 'pres', NULL, 1, "000000", "να", NULL, NULL),
-("A", "act", "sub", "Αόριστος", 'sub', NULL, 1, "000000", "να", NULL, NULL),
-("A", "act", "sub", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Ενεστώτας"),
--- Προστακτική
-("A", "act", "imp", "Ενεστώτας", 'pres', NULL, 8, "-3--3-", NULL, NULL, NULL),
-("A", "act", "imp", "Αόριστος", 'sub', NULL, 9, "-0--0-", NULL, NULL, NULL),
-("A", "act", "imp", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Ενεστώτας"),
--- Μεσοπαθητική φωνή
--- Οριστική
-("A", "pas", "ind", "Ενεστώτας", 'pres', NULL, 11, "000300", NULL, NULL, NULL),
-("A", "pas", "ind", "Παρατατικός", 'pres', NULL, 12, "222333", NULL, NULL, NULL),
-("A", "pas", "ind", "Μέλλοντας διαρκείας", 'pres', NULL, 11, "333333", "θα", NULL, NULL),
-("A", "pas", "ind", "Αόριστος", 'aor', "ηκ", 2, "333333", NULL, NULL, NULL),
-("A", "pas", "ind", "Παρακείμενος", 'synt', NULL, 0, NULL, NULL, "έχω", "Ενεστώτας"),
-("A", "pas", "ind", "Υπερσυντέλικος", 'synt', NULL, 0, NULL, NULL, "έχω", "Παρατατικός"),
-("A", "pas", "ind", "Συντελεσμένος μέλλοντας", 'synt', NULL, 0, NULL, "θα", "έχω", "Ενεστώτας"),
-("A", "pas", "ind", "Μέλλοντας στιγμιαίος", 'aor', NULL, 15, "111111", "θα", NULL, NULL),
--- Υποτακτική
-("A", "pas", "sub", "Ενεστώτας", 'pres', NULL, 11, "333333", "να", NULL, NULL),
-("A", "pas", "sub", "Αόριστος", 'aor', NULL, 15, "111221", "να", NULL, NULL),
-("A", "pas", "sub", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Παρατατικός"),
--- Προστακτική
-("A", "pas", "imp", "Ενεστώτας", 'pres', NULL, 11, "-3--3-", "να", NULL, NULL),
-("A", "pas", "imp", "Αόριστος", 'aor', NULL, 17, "-0----", NULL, NULL, NULL),
-("A", "pas", "imp", "Αόριστος", 'aor', NULL, 18, "----2-", NULL, NULL, NULL),
-("A", "pas", "imp", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Παρατατικός"),
--- Συζυγία Β΄ - α΄ τάξη
--- Ενεργητηκή φωνή
--- Οριστική
-("B1", "act", "ind", "Ενεστώτας", 'pres', NULL, 20, "ffffff", NULL, NULL, NULL),
-("B1", "act", "ind", "Παρατατικός", 'pres', "ούς", 2, "ssssss", NULL, NULL, NULL),
-("B1", "act", "ind", "Μέλλοντας διαρκείας", 'pres', NULL, 20, "ffffff", "θα", NULL, NULL),
-("B1", "act", "ind", "Αόριστος", 'aor', "ησ", 2, "333333", NULL, NULL, NULL),
-("B1", "act", "ind", "Παρακείμενος", 'synt', NULL, 0, NULL, NULL, "έχω", "Ενεστώτας"),
-("B1", "act", "ind", "Υπερσυντέλικος", 'synt', NULL, 0, NULL, NULL, "έχω", "Παρατατικός"),
-("B1", "act", "ind", "Συντελεσμένος μέλλοντας", 'synt', NULL, 0, NULL, "θα", "έχω", "Ενεστώτας"),
-("B1", "act", "ind", "Μέλλοντας στιγμιαίος", 'aor', "ήσ", 1, "ssssss", "θα", NULL, NULL),
--- Υποτακτική
-("B1", "act", "sub", "Ενεστώτας", 'pres', NULL, 20, "ffffff", "να", NULL, NULL),
-("B1", "act", "sub", "Αόριστος", 'aor', "ήσ", 1, "ssssss", "να", NULL, NULL),
-("B1", "act", "sub", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Ενεστώτας"),
--- Προστακτική
-("B1", "act", "imp", "Ενεστώτας", 'pres', NULL, 25, "-0--2-", NULL, NULL, NULL),
-("B1", "act", "imp", "Αόριστος", 'aor', "ησ", 9, "-3--3-", NULL, NULL, NULL),
-("B1", "act", "imp", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Ενεστώτας"),
--- Μεσοπαθητική φωνή
--- Οριστική
-("B1", "pas", "ind", "Ενεστώτας", 'pres', NULL, 28, "ffffff", NULL, NULL, NULL),
-("B1", "pas", "ind", "Παρατατικός", 'pres', NULL, 29, "ffffff", NULL, NULL, NULL),
-("B1", "pas", "ind", "Μέλλοντας διαρκείας", 'pres', NULL, 28, "ffffff", "θα", NULL, NULL),
-("B1", "pas", "ind", "Αόριστος", 'aor', "ηκ", 2, "333333", NULL, NULL, NULL),
-("B1", "pas", "ind", "Παρακείμενος", 'synt', NULL, 0, NULL, NULL, "έχω", "Ενεστώτας"),
-("B1", "pas", "ind", "Υπερσυντέλικος", 'synt', NULL, 0, NULL, NULL, "έχω", "Παρατατικός"),
-("B1", "pas", "ind", "Συντελεσμένος μέλλοντας", 'synt', NULL, 0, NULL, "θα", "έχω", "Ενεστώτας"),
-("B1", "pas", "ind", "Μέλλοντας στιγμιαίος", 'aor', NULL, 15, "ffffff", "θα", NULL, NULL),
--- Υποτακτική
-("B1", "pas", "sub", "Ενεστώτας", 'pres', NULL, 28, "ffffff", "να", NULL, NULL),
-("B1", "pas", "sub", "Αόριστος", 'aor', NULL, 15, "ffffff", "να", NULL, NULL),
-("B1", "pas", "sub", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Παρατατικός"),
--- Προστακτική
-("B1", "pas", "imp", "Ενεστώτας", 'pres', NULL, 30, "-f--f-", "να", NULL, NULL),
-
-("B1", "pas", "imp", "Αόριστος", 'aor', NULL, 31, "-2----", NULL, NULL, NULL),
-("B1", "pas", "imp", "Αόριστος", 'aor', NULL, 32, "----2-", NULL, NULL, NULL),
-
-("B1", "pas", "imp", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Παρατατικός"),
--- Συζυγία Β΄ - β΄ τάξη
--- Ενεργητηκή φωνή
--- Οριστική
-("B2", "act", "ind", "Ενεστώτας", 'pres', NULL, 15, "ffffff", NULL, NULL, NULL),
-("B2", "act", "ind", "Παρατατικός", 'pres', "ούσ", 2, "ssssss", NULL, NULL, NULL),
-("B2", "act", "ind", "Μέλλοντας διαρκείας", 'pres', NULL, 15, "ffffff", "θα", NULL, NULL),
-("B2", "act", "ind", "Αόριστος", 'aor', "ησ", 2, "333333", NULL, NULL, NULL),
-("B2", "act", "ind", "Παρακείμενος", 'synt', NULL, 0, NULL, NULL, "έχω", "Ενεστώτας"),
-("B2", "act", "ind", "Υπερσυντέλικος", 'synt', NULL, 0, NULL, NULL, "έχω", "Παρατατικός"),
-("B2", "act", "ind", "Συντελεσμένος μέλλοντας", 'synt', NULL, 0, NULL, "θα", "έχω", "Ενεστώτας"),
-("B2", "act", "ind", "Μέλλοντας στιγμιαίος", 'aor', "ήσ", 1, "ssssss", "θα", NULL, NULL),
--- Υποτακτική
-("B2", "act", "sub", "Ενεστώτας", 'pres', NULL, 15, "ffffff", "να", NULL, NULL),
-("B2", "act", "sub", "Αόριστος", 'aor', "ήσ", 1, "ssssss", "να", NULL, NULL),
-("B2", "act", "sub", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Ενεστώτας"),
--- Προστακτική
-("B2", "act", "imp", "Ενεστώτας", 'pres', NULL, 15, "-f----", "να", NULL, NULL),
-("B2", "act", "imp", "Ενεστώτας", 'pres', NULL, 15, "----f-", NULL, NULL, NULL),
-
-("B2", "act", "imp", "Αόριστος", 'aor', "ησ", 9, "-3--3-", NULL, NULL, NULL),
-("B2", "act", "imp", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Ενεστώτας"),
--- Μεσοπαθητική φωνή
--- Οριστική
-("B2", "pas", "ind", "Ενεστώτας", 'pres', NULL, 34, "ffffff", NULL, NULL, NULL),
-("B2", "pas", "ind", "Παρατατικός", 'pres', NULL, 35, "ffffff", NULL, NULL, NULL),
-("B2", "pas", "ind", "Μέλλοντας διαρκείας", 'pres', NULL, 34, "ffffff", "θα", NULL, NULL),
-("B2", "pas", "ind", "Αόριστος", 'aor', "ηκ", 2, "333333", NULL, NULL, NULL),
-("B2", "pas", "ind", "Παρακείμενος", 'synt', NULL, 0, NULL, NULL, "έχω", "Ενεστώτας"),
-("B2", "pas", "ind", "Υπερσυντέλικος", 'synt', NULL, 0, NULL, NULL, "έχω", "Παρατατικός"),
-("B2", "pas", "ind", "Συντελεσμένος μέλλοντας", 'synt', NULL, 0, NULL, "θα", "έχω", "Ενεστώτας"),
-("B2", "pas", "ind", "Μέλλοντας στιγμιαίος", 'aor', NULL, 15, "ffffff", "θα", NULL, NULL),
--- Υποτακτική
-("B2", "pas", "sub", "Ενεστώτας", 'pres', NULL, 34, "ffffff", "να", NULL, NULL),
-("B2", "pas", "sub", "Αόριστος", 'aor', NULL, 15, "ffffff", "να", NULL, NULL),
-("B2", "pas", "sub", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Παρατατικός"),
--- Προστακτική
-("B2", "pas", "imp", "Ενεστώτας", 'pres', NULL, 36, "-f--f-", "να", NULL, NULL),
-
-("B2", "pas", "imp", "Αόριστος", 'aor', NULL, 31, "-2----", NULL, NULL, NULL),
-("B2", "pas", "imp", "Αόριστος", 'aor', NULL, 32, "----2-", NULL, NULL, NULL),
-
-("B2", "pas", "imp", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Παρατατικός");
-
-INSERT INTO participle VALUES
--- Συζυγία Α'
--- Ενεργητηκή φωνή
-("A", "act", "Ενεστώτας", 'pres', NULL, "οντας", NULL),
-("A", "act", "Παρακείμενος", 'aor', NULL, "ει", "εχοντας"),
--- Μεσοπαθητική φωνή
-("A", "pas", "Παρακείμενος", 'root', NULL, "μένος", NULL),
--- Συζυγία Β΄ - α΄ τάξη
--- Ενεργητηκή φωνή
-("B1", "act", "Ενεστώτας", 'pres', NULL, "ώντας", NULL),
-("B1", "act", "Παρακείμενος", 'aor', NULL, "ήσει", "εχοντας"),
--- Μεσοπαθητική φωνή
-("B1", "pass", "Παρακείμενος", 'pres', "η", "μένος", NULL),
--- Συζυγία Β΄ - β΄ τάξη
--- Ενεργητηκή φωνή
-("B2", "act", "Ενεστώτας", 'pres', NULL, "ώντας", NULL),
-("B2", "act", "Παρακείμενος", 'aor', NULL, "ει", "εχοντας"),
--- Μεσοπαθητική φωνή
-("B1", "pass", "Παρακείμενος", 'pres', "η", "μένος", NULL);
-
-DROP TABLE IF EXISTS verb;
-CREATE TABLE verb(
- verb varchar(128), -- REL 10
- conj char(2), -- REL 9
- augment char(1),
- accmap char(7),
- INDEX(verb)
-);
-
-DROP TABLE IF EXISTS irregular_root;
-CREATE TABLE irregular_root(
- verb varchar(128),
- voice enum('act','pas'), -- Ενεργητηκή/Μεσοπαθητική
- thema enum('pres','aor','sub'), -- Αόριστος/Υποτακτική
- root varchar(128)
-);
-
-INSERT INTO verb VALUES
-('βρίσκω', 'A', NULL, '000000'),
-('θέλω','A','η',NULL),
-('έχω','A',NULL,NULL),
-('ξέρω','A','η',NULL)
-;
-
-INSERT INTO irregular_root VALUES
-('βρίσκω','act','aor','βρήκ'),
-('βρίσκω','act','sub','βρ'),
-('βρίσκω','pas','aor','βρέθ'),
-('βρίσκω','pas','sub','βρέθ'),
-('θέλω','act','aor','θέλησ'),
-('έχω','act', 'aor', 'είχ')
-;
-
-DROP TABLE IF EXISTS individual_verb;
-CREATE TABLE individual_verb(
- verb varchar(128),
- voice enum('act','pas'), -- Ενεργητηκή/Μεσοπαθητική
- mode enum('ind','sub','imp'),
- tense varchar(128),
- ident int(32),
- INDEX(verb,voice,mode,tense)
-);
-
-INSERT INTO individual_verb VALUES
-("είμαι", "act", "ind", "Ενεστώτας", 100),
-("είμαι", "act", "ind", "Παρατατικός", 101)
-;
+source dbverb.struct;
+ \ No newline at end of file
diff --git a/data/dbverb.struct b/data/dbverb.struct
new file mode 100644
index 0000000..4ab6a37
--- /dev/null
+++ b/data/dbverb.struct
@@ -0,0 +1,323 @@
+set names utf8;
+DROP TABLE IF EXISTS verbflect;
+CREATE TABLE verbflect(
+ ident int(32) not null, -- REL 8
+ sing1 varchar(32),
+ sing2 varchar(32),
+ sing3 varchar(32),
+ plur1 varchar(32),
+ plur2 varchar(32),
+ plur3 varchar(32),
+ UNIQUE(ident)
+);
+
+DROP TABLE IF EXISTS conjugation;
+CREATE TABLE conjugation(
+ conj char(2), -- REL 9
+ voice enum('act','pas'), -- Ενεργητηκή/Μεσοπαθητική
+ mode enum('ind','sub','imp'),
+ tense varchar(128),
+ thema enum('pres','aor','sub','synt'), -- Ενεστώτα, Αόριστου, υποτακτικής, syntethic
+ suffix char(32),
+ flect int(32), -- REL 8
+ accmap char(7), -- accent map
+ particle char(2), -- NULL/θα/να
+ aux varchar(128), -- REL 10
+ auxtense char(32),
+ KEY (conj),
+ KEY (voice),
+ KEY (mode)
+);
+
+DROP TABLE IF EXISTS participle;
+CREATE TABLE participle (
+ conj char(2), -- REL 9
+ voice enum('act','pas'), -- Ενεργητηκή/Μεσοπαθητική
+ tense char(32),
+ thema enum('pres','aor','sub'), -- Ενεστώτα, Αόριστου, υποτακτικής
+ suffix char(32),
+ flect char(32),
+ aux varchar(128)
+);
+
+INSERT INTO verbflect VALUES
+(0, NULL, NULL, NULL, NULL, NULL, NULL),
+-- Συζυγία Α'
+(1, "ω", "εις", "ει", "ουμε", "ετε", "ουν(ε)"),
+(2, "α", "ες", "ε", "αμε", "ατε", "αν"),
+(8, NULL, "ε", NULL, NULL, "ετε", NULL),
+(9, NULL, "ε", NULL, NULL, "τε", NULL),
+(11, "ομαι", "εσαι", "εται", "όμαστε", "εστε", "ονται"),
+(12, "όμουν", "όσουν", "όταν", "όμαστε", "όμαστε", "ονταν"),
+(15, "ώ", "είς", "εί", "ούμε", "είτε", "ούν(ε)"),
+(17, NULL, "ου", NULL, NULL, NULL, NULL),
+(18, NULL, NULL, NULL, NULL, "είτε", NULL),
+-- Συζυγία Β΄ - α΄ τάξη
+(20, "ώ,άω", "άς", "ά,άει","άμε,ούμε","άτε","ούν(ε)"),
+(25, NULL, "α", NULL, NULL, "άτε", NULL),
+(28, "ιέμαι", "ιέσαι", "ιέται", "ιόμαστε", "ιέστε", "ιούνται"),
+(29, "ιόμουν", "ιόσουν", "ιόταν", "ιόμαστε", "ιόσαστε", "ιόνταν"),
+(30, NULL, "ιέσαι", NULL, NULL, "ιέσται", NULL),
+(31, NULL, "ου", NULL, NULL, NULL, NULL),
+(32, NULL, NULL, NULL, NULL, "είτε", NULL),
+-- Συζυγία Β΄ - β΄ τάξη
+(33, NULL, "είς", NULL, NULL, "είτε", NULL),
+(34, "ούμαι", "είσαι", "είται", "ούμαστε", "είστε", "ούνται"),
+(35, "ούμουν", "ούσουν", "ούvταν", "ούμαστε", "ούσαστε", "ούνταν"),
+(36, NULL, "είσαι", NULL, NULL, "είστε", NULL),
+(100, "είμαι", "είσαι", "είναι", "είμαστε", "είστε,είσαστε", "είναι"),
+(101, "ήμουν(α)", "ήσουν(α)", "ήταν(ε)", "ήμαστε,ήμασταν", "ήσαστε,ήσασταν", "ήταν(ε)"),
+(102, "θα είμαι", "θα είσαι", "θα είναι", "θα είμαστε", "θα είστε,θα είσαστε", "θα είναι"),
+(103, "να είμαι", "να είσαι", "να είναι", "να είμαστε", "να είστε,να είσαστε", "να είναι"),
+(104, NULL, "να είσαι", NULL, NULL, "να είστε", NULL),
+(105, "είχα", "είχες", "είχα", "είχαμε", "είχατε", "είχαν"),
+(106, NULL, "βρες", NULL, NULL, "βρείτε,βρεστε", NULL)
+;
+
+INSERT INTO conjugation VALUES
+-- Συζυγία Α'
+-- Ενεργητηκή φωνή
+-- Οριστική
+("A", "act", "ind", "Ενεστώτας", 'pres', NULL, 1, "000000", NULL, NULL, NULL),
+("A", "act", "ind", "Παρατατικός", 'pres', NULL, 2, "333333+", NULL, NULL, NULL),
+("A", "act", "ind", "Μέλλοντας διαρκείας", 'pres', NULL, 1, "000000", "θα", NULL, NULL),
+("A", "act", "ind", "Αόριστος", 'aor', NULL, 2, "333333+", NULL, NULL, NULL),
+("A", "act", "ind", "Παρακείμενος", 'synt', NULL, 0, NULL, NULL, "έχω", "Ενεστώτας"),
+("A", "act", "ind", "Υπερσυντέλικος", 'synt', NULL, 0, NULL, NULL, "έχω", "Παρατατικός"),
+("A", "act", "ind", "Συντελεσμένος μέλλοντας", 'synt', NULL, 0, NULL, "θα", "έχω", "Ενεστώτας"),
+("A", "act", "ind", "Μέλλοντας στιγμιαίος", 'sub', NULL, 1, "000000", "θα", NULL, NULL),
+-- Υποτακτική
+("A", "act", "sub", "Ενεστώτας", 'pres', NULL, 1, "000000", "να", NULL, NULL),
+("A", "act", "sub", "Αόριστος", 'sub', NULL, 1, "000000", "να", NULL, NULL),
+("A", "act", "sub", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Ενεστώτας"),
+-- Προστακτική
+("A", "act", "imp", "Ενεστώτας", 'pres', NULL, 8, "-3--3-", NULL, NULL, NULL),
+("A", "act", "imp", "Αόριστος", 'sub', NULL, 9, "-0--0-", NULL, NULL, NULL),
+("A", "act", "imp", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Ενεστώτας"),
+-- Μεσοπαθητική φωνή
+-- Οριστική
+("A", "pas", "ind", "Ενεστώτας", 'pres', NULL, 11, "000300", NULL, NULL, NULL),
+("A", "pas", "ind", "Παρατατικός", 'pres', NULL, 12, "222333", NULL, NULL, NULL),
+("A", "pas", "ind", "Μέλλοντας διαρκείας", 'pres', NULL, 11, "333333", "θα", NULL, NULL),
+("A", "pas", "ind", "Αόριστος", 'aor', "ηκ", 2, "333333", NULL, NULL, NULL),
+("A", "pas", "ind", "Παρακείμενος", 'synt', NULL, 0, NULL, NULL, "έχω", "Ενεστώτας"),
+("A", "pas", "ind", "Υπερσυντέλικος", 'synt', NULL, 0, NULL, NULL, "έχω", "Παρατατικός"),
+("A", "pas", "ind", "Συντελεσμένος μέλλοντας", 'synt', NULL, 0, NULL, "θα", "έχω", "Ενεστώτας"),
+("A", "pas", "ind", "Μέλλοντας στιγμιαίος", 'aor', NULL, 15, "111111", "θα", NULL, NULL),
+-- Υποτακτική
+("A", "pas", "sub", "Ενεστώτας", 'pres', NULL, 11, "333333", "να", NULL, NULL),
+("A", "pas", "sub", "Αόριστος", 'aor', NULL, 15, "111221", "να", NULL, NULL),
+("A", "pas", "sub", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Παρατατικός"),
+-- Προστακτική
+("A", "pas", "imp", "Ενεστώτας", 'pres', NULL, 11, "-3--3-", "να", NULL, NULL),
+("A", "pas", "imp", "Αόριστος", 'aor', NULL, 17, "-0----", NULL, NULL, NULL),
+("A", "pas", "imp", "Αόριστος", 'aor', NULL, 18, "----2-", NULL, NULL, NULL),
+("A", "pas", "imp", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Παρατατικός"),
+-- Συζυγία Β΄ - α΄ τάξη
+-- Ενεργητηκή φωνή
+-- Οριστική
+("B1", "act", "ind", "Ενεστώτας", 'pres', NULL, 20, "ffffff", NULL, NULL, NULL),
+("B1", "act", "ind", "Παρατατικός", 'pres', "ούς", 2, "ssssss", NULL, NULL, NULL),
+("B1", "act", "ind", "Μέλλοντας διαρκείας", 'pres', NULL, 20, "ffffff", "θα", NULL, NULL),
+("B1", "act", "ind", "Αόριστος", 'aor', "ησ", 2, "333333", NULL, NULL, NULL),
+("B1", "act", "ind", "Παρακείμενος", 'synt', NULL, 0, NULL, NULL, "έχω", "Ενεστώτας"),
+("B1", "act", "ind", "Υπερσυντέλικος", 'synt', NULL, 0, NULL, NULL, "έχω", "Παρατατικός"),
+("B1", "act", "ind", "Συντελεσμένος μέλλοντας", 'synt', NULL, 0, NULL, "θα", "έχω", "Ενεστώτας"),
+("B1", "act", "ind", "Μέλλοντας στιγμιαίος", 'aor', "ήσ", 1, "ssssss", "θα", NULL, NULL),
+-- Υποτακτική
+("B1", "act", "sub", "Ενεστώτας", 'pres', NULL, 20, "ffffff", "να", NULL, NULL),
+("B1", "act", "sub", "Αόριστος", 'aor', "ήσ", 1, "ssssss", "να", NULL, NULL),
+("B1", "act", "sub", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Ενεστώτας"),
+-- Προστακτική
+("B1", "act", "imp", "Ενεστώτας", 'pres', NULL, 25, "-0--2-", NULL, NULL, NULL),
+("B1", "act", "imp", "Αόριστος", 'aor', "ησ", 9, "-3--3-", NULL, NULL, NULL),
+("B1", "act", "imp", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Ενεστώτας"),
+-- Μεσοπαθητική φωνή
+-- Οριστική
+("B1", "pas", "ind", "Ενεστώτας", 'pres', NULL, 28, "ffffff", NULL, NULL, NULL),
+("B1", "pas", "ind", "Παρατατικός", 'pres', NULL, 29, "ffffff", NULL, NULL, NULL),
+("B1", "pas", "ind", "Μέλλοντας διαρκείας", 'pres', NULL, 28, "ffffff", "θα", NULL, NULL),
+("B1", "pas", "ind", "Αόριστος", 'aor', "ηκ", 2, "333333", NULL, NULL, NULL),
+("B1", "pas", "ind", "Παρακείμενος", 'synt', NULL, 0, NULL, NULL, "έχω", "Ενεστώτας"),
+("B1", "pas", "ind", "Υπερσυντέλικος", 'synt', NULL, 0, NULL, NULL, "έχω", "Παρατατικός"),
+("B1", "pas", "ind", "Συντελεσμένος μέλλοντας", 'synt', NULL, 0, NULL, "θα", "έχω", "Ενεστώτας"),
+("B1", "pas", "ind", "Μέλλοντας στιγμιαίος", 'aor', NULL, 15, "ffffff", "θα", NULL, NULL),
+-- Υποτακτική
+("B1", "pas", "sub", "Ενεστώτας", 'pres', NULL, 28, "ffffff", "να", NULL, NULL),
+("B1", "pas", "sub", "Αόριστος", 'aor', NULL, 15, "ffffff", "να", NULL, NULL),
+("B1", "pas", "sub", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Παρατατικός"),
+-- Προστακτική
+("B1", "pas", "imp", "Ενεστώτας", 'pres', NULL, 30, "-f--f-", "να", NULL, NULL),
+
+("B1", "pas", "imp", "Αόριστος", 'aor', NULL, 31, "-2----", NULL, NULL, NULL),
+("B1", "pas", "imp", "Αόριστος", 'aor', NULL, 32, "----2-", NULL, NULL, NULL),
+
+("B1", "pas", "imp", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Παρατατικός"),
+-- Συζυγία Β΄ - β΄ τάξη
+-- Ενεργητηκή φωνή
+-- Οριστική
+("B2", "act", "ind", "Ενεστώτας", 'pres', NULL, 15, "ffffff", NULL, NULL, NULL),
+("B2", "act", "ind", "Παρατατικός", 'pres', "ούσ", 2, "ssssss", NULL, NULL, NULL),
+("B2", "act", "ind", "Μέλλοντας διαρκείας", 'pres', NULL, 15, "ffffff", "θα", NULL, NULL),
+("B2", "act", "ind", "Αόριστος", 'aor', "ησ", 2, "333333", NULL, NULL, NULL),
+("B2", "act", "ind", "Παρακείμενος", 'synt', NULL, 0, NULL, NULL, "έχω", "Ενεστώτας"),
+("B2", "act", "ind", "Υπερσυντέλικος", 'synt', NULL, 0, NULL, NULL, "έχω", "Παρατατικός"),
+("B2", "act", "ind", "Συντελεσμένος μέλλοντας", 'synt', NULL, 0, NULL, "θα", "έχω", "Ενεστώτας"),
+("B2", "act", "ind", "Μέλλοντας στιγμιαίος", 'aor', "ήσ", 1, "ssssss", "θα", NULL, NULL),
+-- Υποτακτική
+("B2", "act", "sub", "Ενεστώτας", 'pres', NULL, 15, "ffffff", "να", NULL, NULL),
+("B2", "act", "sub", "Αόριστος", 'aor', "ήσ", 1, "ssssss", "να", NULL, NULL),
+("B2", "act", "sub", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Ενεστώτας"),
+-- Προστακτική
+("B2", "act", "imp", "Ενεστώτας", 'pres', NULL, 15, "-f----", "να", NULL, NULL),
+("B2", "act", "imp", "Ενεστώτας", 'pres', NULL, 15, "----f-", NULL, NULL, NULL),
+
+("B2", "act", "imp", "Αόριστος", 'aor', "ησ", 9, "-3--3-", NULL, NULL, NULL),
+("B2", "act", "imp", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Ενεστώτας"),
+-- Μεσοπαθητική φωνή
+-- Οριστική
+("B2", "pas", "ind", "Ενεστώτας", 'pres', NULL, 34, "ffffff", NULL, NULL, NULL),
+("B2", "pas", "ind", "Παρατατικός", 'pres', NULL, 35, "ffffff", NULL, NULL, NULL),
+("B2", "pas", "ind", "Μέλλοντας διαρκείας", 'pres', NULL, 34, "ffffff", "θα", NULL, NULL),
+("B2", "pas", "ind", "Αόριστος", 'aor', "ηκ", 2, "333333", NULL, NULL, NULL),
+("B2", "pas", "ind", "Παρακείμενος", 'synt', NULL, 0, NULL, NULL, "έχω", "Ενεστώτας"),
+("B2", "pas", "ind", "Υπερσυντέλικος", 'synt', NULL, 0, NULL, NULL, "έχω", "Παρατατικός"),
+("B2", "pas", "ind", "Συντελεσμένος μέλλοντας", 'synt', NULL, 0, NULL, "θα", "έχω", "Ενεστώτας"),
+("B2", "pas", "ind", "Μέλλοντας στιγμιαίος", 'aor', NULL, 15, "ffffff", "θα", NULL, NULL),
+-- Υποτακτική
+("B2", "pas", "sub", "Ενεστώτας", 'pres', NULL, 34, "ffffff", "να", NULL, NULL),
+("B2", "pas", "sub", "Αόριστος", 'aor', NULL, 15, "ffffff", "να", NULL, NULL),
+("B2", "pas", "sub", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Παρατατικός"),
+-- Προστακτική
+("B2", "pas", "imp", "Ενεστώτας", 'pres', NULL, 36, "-f--f-", "να", NULL, NULL),
+
+("B2", "pas", "imp", "Αόριστος", 'aor', NULL, 31, "-2----", NULL, NULL, NULL),
+("B2", "pas", "imp", "Αόριστος", 'aor', NULL, 32, "----2-", NULL, NULL, NULL),
+
+("B2", "pas", "imp", "Παρακείμενος", 'synt', NULL, 0, NULL, "να", "έχω", "Παρατατικός");
+
+INSERT INTO participle VALUES
+-- Συζυγία Α'
+-- Ενεργητηκή φωνή
+("A", "act", "Ενεστώτας", 'pres', NULL, "οντας", NULL),
+("A", "act", "Παρακείμενος", 'aor', NULL, "ει", "εχοντας"),
+-- Μεσοπαθητική φωνή
+("A", "pas", "Παρακείμενος", 'root', NULL, "μένος", NULL),
+-- Συζυγία Β΄ - α΄ τάξη
+-- Ενεργητηκή φωνή
+("B1", "act", "Ενεστώτας", 'pres', NULL, "ώντας", NULL),
+("B1", "act", "Παρακείμενος", 'aor', NULL, "ήσει", "εχοντας"),
+-- Μεσοπαθητική φωνή
+("B1", "pass", "Παρακείμενος", 'pres', "η", "μένος", NULL),
+-- Συζυγία Β΄ - β΄ τάξη
+-- Ενεργητηκή φωνή
+("B2", "act", "Ενεστώτας", 'pres', NULL, "ώντας", NULL),
+("B2", "act", "Παρακείμενος", 'aor', NULL, "ει", "εχοντας"),
+-- Μεσοπαθητική φωνή
+("B1", "pass", "Παρακείμενος", 'pres', "η", "μένος", NULL);
+
+DROP TABLE IF EXISTS verb;
+CREATE TABLE verb(
+ verb varchar(128), -- REL 10
+ conj char(2), -- REL 9
+ augment char(1),
+ accmap char(7),
+ suffix_aor_path varchar(2),
+ INDEX(verb)
+);
+
+DROP TABLE IF EXISTS irregular_root;
+CREATE TABLE irregular_root(
+ verb varchar(128),
+ voice enum('act','pas'), -- Ενεργητηκή/Μεσοπαθητική
+ thema enum('pres','aor','sub'), -- Αόριστος/Υποτακτική
+ root varchar(128)
+);
+
+INSERT INTO verb VALUES
+('βρίσκω', 'A', NULL, '000000', NULL),
+('θέλω','A','η',NULL, NULL),
+('έχω','A',NULL,'000000', NULL),
+('ξέρω','A','η',NULL, NULL),
+('κρεμάω','B1',NULL,NULL,"ασ"),
+('κρεμώ','B1',NULL,NULL,"ασ"),
+('κιτάω','B1',NULL,NULL,"αξ"),
+('κιτώ','B1',NULL,NULL,"αξ"),
+('τραβάω','B1',NULL,NULL,"ηξ"),
+('τραβώ','B1',NULL,NULL,"ηξ"),
+('νικώ','B1',NULL,NULL,NULL)
+;
+
+INSERT INTO irregular_root VALUES
+('βρίσκω','act','aor','βρήκ'),
+('βρίσκω','act','sub','βρ'),
+('βρίσκω','pas','aor','βρέθ'),
+('βρίσκω','pas','sub','βρέθ'),
+('θέλω','act','aor','θέλησ')
+;
+
+DROP TABLE IF EXISTS individual_verb;
+CREATE TABLE individual_verb(
+ verb varchar(128),
+ voice enum('act','pas'), -- Ενεργητηκή/Μεσοπαθητική
+ mode enum('ind','sub','imp'),
+ tense varchar(128),
+ ident int(32),
+ INDEX(verb,voice,mode,tense)
+);
+
+INSERT INTO individual_verb VALUES
+("είμαι", "act", "ind", "Ενεστώτας", 100),
+("είμαι", "act", "ind", "Παρατατικός", 101),
+("είμαι", "act", "ind", "Μέλλοντας διαρκείας", 102),
+("είμαι", "act", "ind", "Αόριστος", 0),
+("είμαι", "act", "ind", "Παρακείμενος", 0),
+("είμαι", "act", "ind", "Υπερσυντέλικος", 0),
+("είμαι", "act", "ind", "Συντελεσμένος μέλλοντας", 0),
+("είμαι", "act", "ind", "Μέλλοντας στιγμιαίος", 0),
+("είμαι", "act", "sub", "Ενεστώτας", 103),
+("είμαι", "act", "sub", "Αόριστος", 0),
+("είμαι", "act", "sub", "Παρακείμενος", 0),
+("είμαι", "act", "imp", "Ενεστώτας", 104),
+("είμαι", "act", "imp", "Αόριστος", 0),
+("είμαι", "act", "imp", "Παρακείμενος", 0),
+("είμαι", "pas", "ind", "Ενεστώτας", 0),
+("είμαι", "pas", "ind", "Παρατατικός", 0),
+("είμαι", "pas", "ind", "Μέλλοντας διαρκείας", 0),
+("είμαι", "pas", "ind", "Αόριστος", 0),
+("είμαι", "pas", "ind", "Παρακείμενος", 0),
+("είμαι", "pas", "ind", "Υπερσυντέλικος", 0),
+("είμαι", "pas", "ind", "Συντελεσμένος μέλλοντας", 0),
+("είμαι", "pas", "ind", "Μέλλοντας στιγμιαίος", 0),
+("είμαι", "pas", "sub", "Ενεστώτας", 0),
+("είμαι", "pas", "sub", "Αόριστος", 0),
+("είμαι", "pas", "sub", "Παρακείμενος", 0),
+("είμαι", "pas", "imp", "Ενεστώτας", 0),
+("είμαι", "pas", "imp", "Αόριστος", 0),
+("είμαι", "pas", "imp", "Παρακείμενος", 0),
+
+("έχω", "act", "ind", "Παρατατικός", 105),
+("έχω", "act", "ind", "Αόριστος", 0),
+("έχω", "act", "ind", "Παρακείμενος", 0),
+("έχω", "act", "ind", "Υπερσυντέλικος", 0),
+("έχω", "act", "ind", "Συντελεσμένος μέλλοντας", 0),
+("έχω", "act", "ind", "Μέλλοντας στιγμιαίος", 0),
+("έχω", "act", "sub", "Αόριστος", 0),
+("έχω", "act", "sub", "Παρακείμενος", 0),
+("έχω", "act", "imp", "Αόριστος", 0),
+("έχω", "act", "imp", "Παρακείμενος", 0),
+("έχω", "pas", "ind", "Παρατατικός", 0),
+("έχω", "pas", "ind", "Μέλλοντας διαρκείας", 0),
+("έχω", "pas", "ind", "Αόριστος", 0),
+("έχω", "pas", "ind", "Παρακείμενος", 0),
+("έχω", "pas", "ind", "Υπερσυντέλικος", 0),
+("έχω", "pas", "ind", "Συντελεσμένος μέλλοντας", 0),
+("έχω", "pas", "ind", "Μέλλοντας στιγμιαίος", 0),
+("έχω", "pas", "sub", "Ενεστώτας", 0),
+("έχω", "pas", "sub", "Αόριστος", 0),
+("έχω", "pas", "sub", "Παρακείμενος", 0),
+("έχω", "pas", "imp", "Ενεστώτας", 0),
+("έχω", "pas", "imp", "Αόριστος", 0),
+("έχω", "pas", "imp", "Παρακείμενος", 0),
+("βρίσκω", "act", "imp", "Αόριστος", 106)
+;

Return to:

Send suggestions and report system problems to the System administrator.