diff options
Diffstat (limited to 'src/ellinika')
37 files changed, 1031 insertions, 59 deletions
diff --git a/src/ellinika/conjugator.scm b/src/ellinika/conjugator.scm index bffc6be..eae4ad0 100644 --- a/src/ellinika/conjugator.scm +++ b/src/ellinika/conjugator.scm @@ -37,7 +37,7 @@ ;; properties - associative list of properties ;; attested -(define (verb-set! verb key value) +(define (vinfo-set! verb key value) ; (format #t "VERB ~A KEY ~A VALUE ~A~%" verb key value) (case key ((#:conj) @@ -60,7 +60,7 @@ (cons key value))))))))) -(define (verb-get verb key) +(define (vinfo-get verb key) (case key ((#:conj) (list-ref verb 0)) @@ -103,8 +103,8 @@ (let ((verbprop (ellinika:sql-query "SELECT property,value FROM verbtense WHERE \ verb=\"~A\" AND voice=\"~A\" AND mood=\"~A\" AND tense=\"~A\"" - (verb-get vinfo #:verb) voice mood tense))) - (verb-set! + (vinfo-get vinfo #:verb) voice mood tense))) + (vinfo-set! vinfo #:proplist (let loop ((inlist (if (null? verbprop) '() @@ -194,6 +194,11 @@ verb=\"~A\" AND voice=\"~A\" AND mood=\"~A\" AND tense=\"~A\"" (else (elstr-append stem "ηθ"))))) +(define (thema-aoristou-prostaktikhs stem) + (if (elstr-suffix? stem "β" "γ" "θ" "ν") + (elstr-append stem "ε") + stem)) + (define (lookup-verb-info verb voice thema) (ellinika:sql-query "SELECT stem FROM irregular_stem \ @@ -210,6 +215,7 @@ WHERE verb=\"~A\" AND voice=\"~A\" AND thema=\"~A\"" (throw 'conjugator-error 'conjugator-error-input "cannot handle ~A" (list (force-string verb)))))) +;; FIXME: Use vinfo #:verb instead of the verb argument. (define (complement-verb-info vinfo verb voice thema) ; (format #t "COMPLEMENT ~A~%" vinfo) (let ((elverb (string->elstr verb)) @@ -217,53 +223,58 @@ WHERE verb=\"~A\" AND voice=\"~A\" AND thema=\"~A\"" (if (and (null? tmpres) (string=? thema "sub")) (lookup-verb-info verb voice "aor") tmpres)))) - (verb-set! vinfo #:stem + (vinfo-set! vinfo #:stem (cond ((not (null? result)) - (verb-set! vinfo #:attested 'stem) + (vinfo-set! vinfo #:attested 'stem) (map car result)) - ((string=? (verb-get vinfo #:conj) "A") + ((string=? (vinfo-get vinfo #:conj) "A") (let ((stem (verb-A-stem elverb))) (cond ((string=? thema "pres") - (verb-set! vinfo #:attested 'stem) + (vinfo-set! vinfo #:attested 'stem) stem) ((or (string=? thema "aor") (string=? thema "sub")) - (if (string=? voice "act") - (elstr-thema-aoristoy stem) - (thema-aoristoy-mesapathitikis-A stem))) + (cond + ((string=? voice "act") + (elstr-thema-aoristoy stem)) + ((string=? voice "pas") + (thema-aoristoy-mesapathitikis-A stem)) + (else + (throw 'conjugator-error 'conjugator-error-db + "invalid voice ~A" (list voice))))) (else #f)))) - ((string=? (verb-get vinfo #:conj) "A-depon") + ((string=? (vinfo-get vinfo #:conj) "A-depon") (let ((stem (verb-A-stem elverb))) (cond ((string=? thema "pres") - (verb-set! vinfo #:attested 'stem) + (vinfo-set! vinfo #:attested 'stem) stem) ((or (string=? thema "aor") (string=? thema "sub")) #f) ; FIXME (else #f)))) - ((string=? (verb-get vinfo #:conj) "B1") + ((string=? (vinfo-get vinfo #:conj) "B1") (let ((stem (if (elstr-suffix? elverb "άω") (elstr-trim elverb -2) (elstr-trim elverb -1)))) (cond ((or (string=? voice "act") (string=? thema "pres")) - (verb-set! vinfo #:attested 'stem) + (vinfo-set! vinfo #:attested 'stem) stem) ((or (string=? thema "aor") (string=? thema "sub")) (map (lambda (aor) (thema-aoristoy-mesapathitikis-B stem aor)) - (conjugate verb "act" "ind" "Αόριστος"))) + (conjugate vinfo "act" "ind" "Αόριστος"))) (else #f)))) - ((string=? (verb-get vinfo #:conj) "B2") + ((string=? (vinfo-get vinfo #:conj) "B2") (let ((stem (elstr-trim elverb -1))) (cond ((or (string=? voice "act") (string=? thema "pres")) - (verb-set! vinfo #:attested 'stem) + (vinfo-set! vinfo #:attested 'stem) stem) ((or (string=? thema "aor") (string=? thema "sub")) (elstr-append stem "ηθ")) ;; FIXME: guesswork @@ -343,7 +354,7 @@ AND c.tense=\"~A\" AND c.flect = f.ident ORDER by fold" (+ (- len syl) 1)))) ;; (define (get-property conj vinfo key default) -;; (if ((override (verb-get vinfo +;; (if ((override (vinfo-get vinfo ;; (symbol->keyword ;; (string->symbol ;; (string-append @@ -352,37 +363,37 @@ AND c.tense=\"~A\" AND c.flect = f.ident ORDER by fold" ;; (if override ;; (let ((t (conj-info key conj))) ;; (if t -;; (or (verb-get vinfo key) +;; (or (vinfo-get vinfo key) ;; t) -;; (or (verb-get vinfo key) +;; (or (vinfo-get vinfo key) ;; (conj-info key conj) ;; default)))))) (define (get-suffix conj vinfo) - (let ((ret (let ((override (verb-get vinfo #:override))) + (let ((ret (let ((override (vinfo-get vinfo #:override))) (if (and override (member "suffix" override)) (let ((t (conj-info #:suffix conj))) (if t - (or (verb-get vinfo #:suffix) + (or (vinfo-get vinfo #:suffix) t) "")) - (or (verb-get vinfo #:suffix) + (or (vinfo-get vinfo #:suffix) (conj-info #:suffix conj) ""))))) (if (list? ret) ret (list ret)))) (define (get-accmap conj vinfo) - (let ((override (verb-get vinfo #:override))) + (let ((override (vinfo-get vinfo #:override))) (if (and override (member "accmap" override)) (let ((t (conj-info #:accmap conj))) (if t - (or (verb-get vinfo #:accmap) + (or (vinfo-get vinfo #:accmap) t))) - (or (verb-get vinfo #:accmap) + (or (vinfo-get vinfo #:accmap) (conj-info #:accmap conj) "000000")))) @@ -394,13 +405,13 @@ AND c.tense=\"~A\" AND c.flect = f.ident ORDER by fold" (cond ((> (length accmap) 6) (set! accmap (list-head accmap 6)) - (set! augment (or (verb-get vinfo #:augment) "ε")))) -; (format #t "AUGMENT ~A ~A~%" vinfo (verb-get vinfo #:augment)) + (set! augment (or (vinfo-get vinfo #:augment) "ε")))) +; (format #t "AUGMENT ~A ~A~%" vinfo (vinfo-get vinfo #:augment)) (let ((forms (map (lambda (flect acc person) (cond - ((verb-get vinfo (symbol->keyword + ((vinfo-get vinfo (symbol->keyword (string->symbol (number->string person)))) => (lambda (personal-form) @@ -468,18 +479,22 @@ AND c.tense=\"~A\" AND c.flect = f.ident ORDER by fold" forms) (map force-string forms))))) -(define (individual-verb verb voice mood tense) +(define (individual-verb vinfo voice mood tense) (let ((res (ellinika:sql-query "SELECT f.sing1,f.sing2,f.sing3,f.plur1,f.plur2,f.plur3\ FROM individual_verb i,verbflect f\ WHERE i.verb=\"~A\" AND i.voice=\"~A\" AND i.mood=\"~A\"\ AND i.tense=\"~A\" AND i.ident=f.ident" - verb voice mood tense))) - (if (not (null? res)) - (append (car res) + (vinfo-get vinfo #:verb) voice mood tense))) + (if (null? res) + #f + (map + (lambda (elt) + (append + elt (list "I" - '(class stem))) - #f))) + '(class stem)))) + res)))) (define (merge-conjugated-forms lista listb) (map @@ -487,19 +502,22 @@ AND c.tense=\"~A\" AND c.flect = f.ident ORDER by fold" (or a b)) lista listb)) -(define (conjugate verb voice mood tense . rest) +(define (conjugate vinfo voice mood tense . rest) (cond - ((individual-verb verb voice mood tense) => + ((individual-verb vinfo voice mood tense) => (lambda (res) - (list res))) + res)) (else - (let* ((vinfo (load-verb-info verb voice mood tense)) - (conj-list (get-conj-info (or - (verb-get vinfo #:class) - (verb-get vinfo #:conj)) + (let ((vinfo (copy-tree vinfo))) + (if (not (member #:noload rest)) + (load-proplist vinfo voice mood tense)) +; (format #t "VINFO ~A~%" vinfo) + (let ((conj-list (get-conj-info (or + (vinfo-get vinfo #:class) + (vinfo-get vinfo #:conj)) voice mood tense)) - (verb (force-string (verb-get vinfo #:verb)))) - (format #t "VINFO ~A~%" vinfo) + (verb (force-string (vinfo-get vinfo #:verb)))) +; (format #t "VINFO ~A~%" vinfo) (if (not conj-list) (list (list #f #f #f #f #f #f #f #f)) (map car @@ -535,7 +553,7 @@ AND c.tense=\"~A\" AND c.flect = f.ident ORDER by fold" (list-ref t 2) (conjugation:attested x)) #f))) - (conjugate verb voice "sub" "Αόριστος" + (conjugate vinfo voice "sub" "Αόριστος" #:nopart))) (part (conj-info #:particle conj)) (fold-id (conj-info #:fold conj))) @@ -558,13 +576,15 @@ AND c.tense=\"~A\" AND c.flect = f.ident ORDER by fold" aparemfato) (elstr-append aux " " aparemfato))))) (conjugation:table - (car (conjugate (conj-info #:aux conj) + (car (conjugate + (conjugator:open-verb + (conj-info #:aux conj)) "act" "ind" (conj-info #:auxtense conj)))) - (string->list (or (verb-get vinfo #:accmap) + (string->list (or (vinfo-get vinfo #:accmap) (conj-info #:accmap conj) "000000"))) - (list (verb-get vinfo #:conj) + (list (vinfo-get vinfo #:conj) attested)) fold-id) prev)))) @@ -586,13 +606,14 @@ AND c.tense=\"~A\" AND c.flect = f.ident ORDER by fold" (conj-info #:fold conj)) prev)) prev - (conjugate verb voice "ind" - (conj-info #:auxtense conj))))) + (conjugate vinfo voice "ind" + (conj-info #:auxtense conj) #:noload)))) (else (let ((vinfo (copy-tree vinfo))) - (if (verb-get vinfo #:stem) - (verb-set! vinfo #:attested 'stem) - (let ((thema (string-split (conj-info #:thema conj) #\:))) + (if (vinfo-get vinfo #:stem) + (vinfo-set! vinfo #:attested 'stem) + (let ((thema (string-split + (conj-info #:thema conj) #\:))) ; (format #t "THEMA ~A~%" thema) (complement-verb-info vinfo verb (if (null? (cdr thema)) @@ -608,20 +629,23 @@ AND c.tense=\"~A\" AND c.flect = f.ident ORDER by fold" (cons (cons (append (apply-flect conj vinfo verb stem suffix) - (list (verb-get vinfo #:conj) - (verb-get vinfo #:attested))) + (list (vinfo-get vinfo #:conj) + (vinfo-get vinfo #:attested))) (conj-info #:fold conj)) prev)) '() - (verb-get vinfo #:stem)) + (vinfo-get vinfo #:stem)) prev)) prev (get-suffix conj vinfo)))))) '() - conj-list)))))))) + conj-list))))))))) + +(define-public (conjugator:open-verb verb) + (create-basic-verb-info verb)) (define-public (conjugator verb voice mood tense) - (conjugate verb voice mood tense)) + (conjugate (conjugator:open-verb verb) voice mood tense)) (define-public (conjugation:table conj) (cond diff --git a/src/ellinika/tests/conj-test b/src/ellinika/tests/conj-test new file mode 100755 index 0000000..fbacae1 --- /dev/null +++ b/src/ellinika/tests/conj-test @@ -0,0 +1,39 @@ +#! /bin/sh + +testdir=conj.dir +failures=0 + +testcon() { + if guile -s conj/$1.scm | diff -pu samples/$1 - > $testdir/$1.diff + then + status=PASS + rm $testdir/$1.diff + else + status=FAIL + failures=1 + fi + echo "$1: $status" +} + +if ! test -d $testdir; then + mkdir $testdir || exit 2 +fi + +if test $# -gt 0; then + for verb in $* + do + testcon $verb + done +else + find samples -type f -printf '%f\n' | + while read verb + do + testcon $verb + done +fi + +if test $failures -eq 0; then + rmdir $testdir +fi + +exit $failures diff --git a/src/ellinika/tests/conj/anoigv.scm b/src/ellinika/tests/conj/anoigv.scm index 4ba6e12..cb42dba 100644 --- a/src/ellinika/tests/conj/anoigv.scm +++ b/src/ellinika/tests/conj/anoigv.scm @@ -1,3 +1,4 @@ (use-modules ((ellinika test-conjugation))) (test-conjugation:verb "ανοίγω") +;(test-conjugation:tense "ανοίγω" "pas" "imp" "Αόριστος") diff --git a/src/ellinika/tests/conj/bastav.scm b/src/ellinika/tests/conj/bastav.scm new file mode 100644 index 0000000..bdf5a5d --- /dev/null +++ b/src/ellinika/tests/conj/bastav.scm @@ -0,0 +1,3 @@ +(use-modules ((ellinika test-conjugation))) + +(test-conjugation:verb "βαστάω") diff --git a/src/ellinika/tests/conj/lev.scm b/src/ellinika/tests/conj/lev.scm new file mode 100644 index 0000000..c42ad93 --- /dev/null +++ b/src/ellinika/tests/conj/lev.scm @@ -0,0 +1,10 @@ +(use-modules ((ellinika test-conjugation))) + +(test-conjugation:verb "λέω") +;(test-conjugation:tense "λέω" "pas" "ind" "Αόριστος") +;(test-conjugation:tense "λέω" "act" "ind" "Ενεστώτας") +;(test-conjugation:tense "λέω" "act" "ind" "Παρακείμενος") +;(test-conjugation:tense "λέω" "act" "ind" "Μέλλοντας διαρκείας") +;(test-conjugation:tense "λέω" "act" "ind" "Παρατατικός") +;(test-conjugation:tense "λέω" "pas" "ind" "Μέλλοντας στιγμιαίος") +;(test-conjugation:tense "λέω" "pas" "imp" "Αόριστος")
\ No newline at end of file diff --git a/src/ellinika/tests/conj/milav.scm b/src/ellinika/tests/conj/milav.scm new file mode 100644 index 0000000..413dd72 --- /dev/null +++ b/src/ellinika/tests/conj/milav.scm @@ -0,0 +1,5 @@ +(use-modules ((ellinika test-conjugation))) + +(test-conjugation:verb "μιλάω") +;(test-conjugation:tense "μιλάω" "act" "ind" "Μέλλοντας διαρκείας") +;(test-conjugation:tense "μιλάω" "act" "ind" "Ενεστώτας") diff --git a/src/ellinika/tests/conj/ntynv.scm b/src/ellinika/tests/conj/ntynv.scm index 1fd1545..42ba15b 100644 --- a/src/ellinika/tests/conj/ntynv.scm +++ b/src/ellinika/tests/conj/ntynv.scm @@ -1,3 +1,4 @@ (use-modules (ellinika test-conjugation)) (test-conjugation:verb "ντύνω") +;(test-conjugation:tense "ντύνω" "act" "imp" "Αόριστος")
\ No newline at end of file diff --git a/src/ellinika/tests/conj/pav.scm b/src/ellinika/tests/conj/pav.scm new file mode 100644 index 0000000..d438e56 --- /dev/null +++ b/src/ellinika/tests/conj/pav.scm @@ -0,0 +1,7 @@ +(use-modules ((ellinika test-conjugation))) + +;(test-conjugation:verb "πάω") +(test-conjugation:tense "πάω" "act" "ind" "Ενεστώτας") +;(test-conjugation:tense "πάω" "act" "ind" "Μέλλοντας στιγμιαίος") +;(test-conjugation:tense "πάω" "act" "sub" "Ενεστώτας") +;(test-conjugation:tense "πάω" "act" "sub" "Αόριστος") diff --git a/src/ellinika/tests/samples/aggelv b/src/ellinika/tests/samples/aggelv new file mode 100644 index 0000000..348ac81 --- /dev/null +++ b/src/ellinika/tests/samples/aggelv @@ -0,0 +1,28 @@ +αγγέλω Ενεργητηκή φωνή/Οριστική/Ενεστώτας: (αγγέλω αγγέλεις αγγέλει αγγέλουμε αγγέλετε αγγέλουν(ε)) +αγγέλω Ενεργητηκή φωνή/Οριστική/Παρατατικός: (άγγελα άγγελες άγγελε αγγέλαμε αγγέλατε άγγελαν) +αγγέλω Ενεργητηκή φωνή/Οριστική/Μέλλοντας διαρκείας: (θα αγγέλω θα αγγέλεις θα αγγέλει θα αγγέλουμε θα αγγέλετε θα αγγέλουν(ε)) +αγγέλω Ενεργητηκή φωνή/Οριστική/Αόριστος: (άγγειλα άγγειλες άγγειλε αγγείλαμε αγγείλατε άγγειλαν) +αγγέλω Ενεργητηκή φωνή/Οριστική/Παρακείμενος: (έχω αγγείλει έχεις αγγείλει έχει αγγείλει έχουμε αγγείλει έχετε αγγείλει έχουν(ε) αγγείλει) +αγγέλω Ενεργητηκή φωνή/Οριστική/Υπερσυντέλικος: (είχα αγγείλει είχες αγγείλει είχα αγγείλει είχαμε αγγείλει είχατε αγγείλει είχαν αγγείλει) +αγγέλω Ενεργητηκή φωνή/Οριστική/Συντελεσμένος μέλλοντας: (θα έχω αγγείλει θα έχεις αγγείλει θα έχει αγγείλει θα έχουμε αγγείλει θα έχετε αγγείλει θα έχουν(ε) αγγείλει) +αγγέλω Ενεργητηκή φωνή/Οριστική/Μέλλοντας στιγμιαίος: (θα αγγείλω θα αγγείλεις θα αγγείλει θα αγγείλουμε θα αγγείλετε θα αγγείλουν(ε)) +αγγέλω Ενεργητηκή φωνή/Υποτακτική/Ενεστώτας: (να αγγέλω να αγγέλεις να αγγέλει να αγγέλουμε να αγγέλετε να αγγέλουν(ε)) +αγγέλω Ενεργητηκή φωνή/Υποτακτική/Αόριστος: (να αγγείλω να αγγείλεις να αγγείλει να αγγείλουμε να αγγείλετε να αγγείλουν(ε)) +αγγέλω Ενεργητηκή φωνή/Υποτακτική/Παρακείμενος: (να έχω αγγείλει να έχεις αγγείλει να έχει αγγείλει να έχουμε αγγείλει να έχετε αγγείλει να έχουν(ε) αγγείλει) +αγγέλω Ενεργητηκή φωνή/Προστακτική/Ενεστώτας: (#f άγγελε #f #f αγγέλετε #f) +αγγέλω Ενεργητηκή φωνή/Προστακτική/Αόριστος: (#f άγγειλε #f #f αγγείλτε #f) +αγγέλω Ενεργητηκή φωνή/Προστακτική/Παρακείμενος: (#f να έχεις αγγείλει #f #f να έχετε αγγείλει #f) +αγγέλω Μεσοπαθητική φωνή/Οριστική/Ενεστώτας: (αγγέλομαι αγγέλεσαι αγγέλεται αγγελόμαστε αγγέλεστε αγγέλονται) +αγγέλω Μεσοπαθητική φωνή/Οριστική/Παρατατικός: (αγγελομούν αγγελοσούν αγγελόταν αγγελόμαστε αγγελόσαστε αγγέλονταν) +αγγέλω Μεσοπαθητική φωνή/Οριστική/Μέλλοντας διαρκείας: (θα αγγέλομαι θα αγγέλεσαι θα αγγέλεται θα αγγελόμαστε θα αγγέλεστε θα αγγέλονται) +αγγέλω Μεσοπαθητική φωνή/Οριστική/Αόριστος: !(αγγέλθηκα αγγέλθηκες αγγέλθηκε αγγελθήκαμε αγγελθήκατε αγγέλθηκαν) +αγγέλω Μεσοπαθητική φωνή/Οριστική/Παρακείμενος: !(έχω αγγελθεί έχεις αγγελθεί έχει αγγελθεί έχουμε αγγελθεί έχετε αγγελθεί έχουν(ε) αγγελθεί) +αγγέλω Μεσοπαθητική φωνή/Οριστική/Υπερσυντέλικος: !(είχα αγγελθεί είχες αγγελθεί είχα αγγελθεί είχαμε αγγελθεί είχατε αγγελθεί είχαν αγγελθεί) +αγγέλω Μεσοπαθητική φωνή/Οριστική/Συντελεσμένος μέλλοντας: !(θα έχω αγγελθεί θα έχεις αγγελθεί θα έχει αγγελθεί θα έχουμε αγγελθεί θα έχετε αγγελθεί θα έχουν(ε) αγγελθεί) +αγγέλω Μεσοπαθητική φωνή/Οριστική/Μέλλοντας στιγμιαίος: !(θα αγγελθώ θα αγγελθείς θα αγγελθεί θα αγγελθούμε θα αγγελθείτε θα αγγελθούν(ε)) +αγγέλω Μεσοπαθητική φωνή/Υποτακτική/Ενεστώτας: (να αγγέλομαι να αγγέλεσαι να αγγέλεται να αγγελόμαστε να αγγέλεστε να αγγέλονται) +αγγέλω Μεσοπαθητική φωνή/Υποτακτική/Αόριστος: !(να αγγελθώ να αγγελθείς να αγγελθεί να αγγελθούμε να αγγελθείτε να αγγελθούν(ε)) +αγγέλω Μεσοπαθητική φωνή/Υποτακτική/Παρακείμενος: !(να έχω αγγελθεί να έχεις αγγελθεί να έχει αγγελθεί να έχουμε αγγελθεί να έχετε αγγελθεί να έχουν(ε) αγγελθεί) +αγγέλω Μεσοπαθητική φωνή/Προστακτική/Ενεστώτας: (#f να αγγέλεσαι #f #f να αγγέλεστε #f) +αγγέλω Μεσοπαθητική φωνή/Προστακτική/Αόριστος: !(#f αγγείλου #f #f αγγελθείτε #f) +αγγέλω Μεσοπαθητική φωνή/Προστακτική/Παρακείμενος: !(#f να έχεις αγγελθεί #f #f να έχετε αγγελθεί #f) diff --git a/src/ellinika/tests/samples/agv b/src/ellinika/tests/samples/agv new file mode 100644 index 0000000..0fd9fa1 --- /dev/null +++ b/src/ellinika/tests/samples/agv @@ -0,0 +1,28 @@ +άγω Ενεργητηκή φωνή/Οριστική/Ενεστώτας: (άγω άγεις άγει άγουμε άγετε άγουν(ε)) +άγω Ενεργητηκή φωνή/Οριστική/Παρατατικός: (έαγα έαγες έαγε άγαμε άγατε έαγαν) +άγω Ενεργητηκή φωνή/Οριστική/Μέλλοντας διαρκείας: (θα άγω θα άγεις θα άγει θα άγουμε θα άγετε θα άγουν(ε)) +άγω Ενεργητηκή φωνή/Οριστική/Αόριστος: (ήγαγα ήγαγες ήγαγε ηγάγαμε ηγάγατε ήγαγαν) +άγω Ενεργητηκή φωνή/Οριστική/Παρακείμενος: (έχω αγάγει έχεις αγάγει έχει αγάγει έχουμε αγάγει έχετε αγάγει έχουν(ε) αγάγει) +άγω Ενεργητηκή φωνή/Οριστική/Υπερσυντέλικος: (είχα αγάγει είχες αγάγει είχα αγάγει είχαμε αγάγει είχατε αγάγει είχαν αγάγει) +άγω Ενεργητηκή φωνή/Οριστική/Συντελεσμένος μέλλοντας: (θα έχω αγάγει θα έχεις αγάγει θα έχει αγάγει θα έχουμε αγάγει θα έχετε αγάγει θα έχουν(ε) αγάγει) +άγω Ενεργητηκή φωνή/Οριστική/Μέλλοντας στιγμιαίος: (θα αγάγω θα αγάγεις θα αγάγει θα αγάγουμε θα αγάγετε θα αγάγουν(ε)) +άγω Ενεργητηκή φωνή/Υποτακτική/Ενεστώτας: (να άγω να άγεις να άγει να άγουμε να άγετε να άγουν(ε)) +άγω Ενεργητηκή φωνή/Υποτακτική/Αόριστος: (να αγάγω να αγάγεις να αγάγει να αγάγουμε να αγάγετε να αγάγουν(ε)) +άγω Ενεργητηκή φωνή/Υποτακτική/Παρακείμενος: (να έχω αγάγει να έχεις αγάγει να έχει αγάγει να έχουμε αγάγει να έχετε αγάγει να έχουν(ε) αγάγει) +άγω Ενεργητηκή φωνή/Προστακτική/Ενεστώτας: (#f άγε #f #f άγετε #f) +άγω Ενεργητηκή φωνή/Προστακτική/Αόριστος: (#f άγαγε #f #f αγάγτε #f) +άγω Ενεργητηκή φωνή/Προστακτική/Παρακείμενος: (#f να έχεις αγάγει #f #f να έχετε αγάγει #f) +άγω Μεσοπαθητική φωνή/Οριστική/Ενεστώτας: (άγομαι άγεσαι άγεται αγόμαστε άγεστε άγονται) +άγω Μεσοπαθητική φωνή/Οριστική/Παρατατικός: (αγομούν αγοσούν αγόταν αγόμαστε αγόσαστε άγονταν) +άγω Μεσοπαθητική φωνή/Οριστική/Μέλλοντας διαρκείας: (θα άγομαι θα άγεσαι θα άγεται θα αγόμαστε θα άγεστε θα άγονται) +άγω Μεσοπαθητική φωνή/Οριστική/Αόριστος: (άχθηκα άχθηκες άχθηκε αχθήκαμε αχθήκατε άχθηκαν) +άγω Μεσοπαθητική φωνή/Οριστική/Παρακείμενος: (έχω αχθεί έχεις αχθεί έχει αχθεί έχουμε αχθεί έχετε αχθεί έχουν(ε) αχθεί) +άγω Μεσοπαθητική φωνή/Οριστική/Υπερσυντέλικος: (είχα αχθεί είχες αχθεί είχα αχθεί είχαμε αχθεί είχατε αχθεί είχαν αχθεί) +άγω Μεσοπαθητική φωνή/Οριστική/Συντελεσμένος μέλλοντας: (θα έχω αχθεί θα έχεις αχθεί θα έχει αχθεί θα έχουμε αχθεί θα έχετε αχθεί θα έχουν(ε) αχθεί) +άγω Μεσοπαθητική φωνή/Οριστική/Μέλλοντας στιγμιαίος: (θα αχθώ θα αχθείς θα αχθεί θα αχθούμε θα αχθείτε θα αχθούν(ε)) +άγω Μεσοπαθητική φωνή/Υποτακτική/Ενεστώτας: (να άγομαι να άγεσαι να άγεται να αγόμαστε να άγεστε να άγονται) +άγω Μεσοπαθητική φωνή/Υποτακτική/Αόριστος: (να αχθώ να αχθείς να αχθεί να αχθούμε να αχθείτε να αχθούν(ε)) +άγω Μεσοπαθητική φωνή/Υποτακτική/Παρακείμενος: (να έχω αχθεί να έχεις αχθεί να έχει αχθεί να έχουμε αχθεί να έχετε αχθεί να έχουν(ε) αχθεί) +άγω Μεσοπαθητική φωνή/Προστακτική/Ενεστώτας: (#f να άγεσαι #f #f να άγεστε #f) +άγω Μεσοπαθητική φωνή/Προστακτική/Αόριστος: (#f ήγαγου #f #f αχθείτε #f) +άγω Μεσοπαθητική φωνή/Προστακτική/Παρακείμενος: (#f να έχεις αχθεί #f #f να έχετε αχθεί #f) diff --git a/src/ellinika/tests/samples/anebainv b/src/ellinika/tests/samples/anebainv new file mode 100644 index 0000000..31a325d --- /dev/null +++ b/src/ellinika/tests/samples/anebainv @@ -0,0 +1,28 @@ +ανεβαίνω Ενεργητηκή φωνή/Οριστική/Ενεστώτας: (ανεβαίνω ανεβαίνεις ανεβαίνει ανεβαίνουμε ανεβαίνετε ανεβαίνουν(ε)) +ανεβαίνω Ενεργητηκή φωνή/Οριστική/Παρατατικός: (ανέβαινα ανέβαινες ανέβαινε ανεβαίναμε ανεβαίνατε ανέβαιναν) +ανεβαίνω Ενεργητηκή φωνή/Οριστική/Μέλλοντας διαρκείας: (θα ανεβαίνω θα ανεβαίνεις θα ανεβαίνει θα ανεβαίνουμε θα ανεβαίνετε θα ανεβαίνουν(ε)) +ανεβαίνω Ενεργητηκή φωνή/Οριστική/Αόριστος: (ανέβηκα ανέβηκες ανέβηκε ανεβήκαμε ανεβήκατε ανέβηκαν) +ανεβαίνω Ενεργητηκή φωνή/Οριστική/Παρακείμενος: (έχω ανέβει έχεις ανέβει έχει ανέβει έχουμε ανέβει έχετε ανέβει έχουν(ε) ανέβει) +ανεβαίνω Ενεργητηκή φωνή/Οριστική/Υπερσυντέλικος: (είχα ανέβει είχες ανέβει είχα ανέβει είχαμε ανέβει είχατε ανέβει είχαν ανέβει) +ανεβαίνω Ενεργητηκή φωνή/Οριστική/Συντελεσμένος μέλλοντας: (θα έχω ανέβει θα έχεις ανέβει θα έχει ανέβει θα έχουμε ανέβει θα έχετε ανέβει θα έχουν(ε) ανέβει) +ανεβαίνω Ενεργητηκή φωνή/Οριστική/Μέλλοντας στιγμιαίος: (θα ανέβω θα ανέβεις θα ανέβει θα ανέβουμε θα ανέβετε θα ανέβουν(ε)) +ανεβαίνω Ενεργητηκή φωνή/Υποτακτική/Ενεστώτας: (να ανεβαίνω να ανεβαίνεις να ανεβαίνει να ανεβαίνουμε να ανεβαίνετε να ανεβαίνουν(ε)) +ανεβαίνω Ενεργητηκή φωνή/Υποτακτική/Αόριστος |