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) ;