path: root/src/ellinika/elmorph.c
AgeCommit message (Collapse)AuthorFiles
2018-09-10Minor changesSergey Poznyakoff1
* elisp/ellinika-dict-mode.el: Use deactivate-input-method instead of deprecated inactivate-input-method. * elisp/ellinika-mode.el: Likewise. * src/ellinika/Makefile.am: Fix dependencies. * src/ellinika/elmorph.c: Minor changes for switch to Guile 2.2
2015-01-06Update for Guile 2.0Sergey Poznyakoff1
* .gitmodules: New file * gint: New module. * Makefile.am (ACLOCAL_AMFLAGS, SUBDIRS): Add gint * autogen.sh: Create a placeholder for ChangeLog. * configure.ac: Add gint. * scm/Makefile.am: Add silent rule magic. * src/cgi-bin/Makefile.am: Likewise. * src/ellinika/Makefile.am: Likewise. * xml/Makefile.am: Likewise. * scm/dictrans.scm: Load (ice-9 syncase) only for Guile 1.x * scm/neatrans.scm: Likewise. * src/ellinika/conjugator.scm: Likewise. * src/ellinika/elmorph.c (elstr)<phoneme_count,nsyl>: Change type to size_t. * xml/pl/Makefile.am: Force UTF-8 locale when building html. Add silent rule magic. * xml/ru/Makefile.am: Likewise. * xml/uk/Makefile.am: Likewise.
2011-06-20libelmorph: Bugfixes.Sergey Poznyakoff1
* src/ellinika/elmorph.c (elstr->phonetic-map): Remove invalid free * src/ellinika/syllabificator.c (NEXT_PHONEME): New macro. (next_syllable): Now static. Uses NEXT_PHONEME to iterate over phonemes.
2011-06-15Improve error handling in conj.Sergey Poznyakoff1
* src/cgi-bin/conj.scm4: Add error handling. * src/ellinika/conjugator.scm: Throw 'conjugator-error instead of calling (error). * src/ellinika/elmorph.c: Use ~A in error messages when referring to elstrs. Guile's ~S sucks on UTF-8. * src/ellinika/utf8scm.c: Likewise. * style.css (.error): Output in red.
2011-06-14Implement escape function.Sergey Poznyakoff1
2011-06-11Fixes in conjugatorSergey Poznyakoff1
* data/dbverb.struct: Expand conj to char(32). Fix several bugs in conjugation table. Introduce a new pseudo-conjugation A-depon, for verba deponentia. * data/irregular-verbs.xml: Update. * scm/conjugator.scm (complement-verb-info): Handle A-depon. (apply-flect): Don't try to set accent outside of a word, even if so required by accmap. (conjugate): For synthetic tenses, look up for aoristoy ypotaktikis of the same voice as the requested tense. Use accmap to decide whether a particular person exists in that tense. Fixes in syllabificator. * src/ellinika/elmorph.c (_elstr_set_accent): Fix setting accents on diphthongs. (deftab) <elmorph:iota>: New flag. * src/ellinika/elmorph.h (CHF_IOTA): New flag. * src/ellinika/syllabificator.c (SYL_FLAG_MASK): Add more bits. (next_syllable): Mark syllables with iota with CHF_DIPHTHONG|CHF_IOTA.
2011-06-11Fix syllabification.Sergey Poznyakoff1
* configure.ac: Add AC_PROG_YACC * src/ellinika/phoneme.y: New file. * src/ellinika/yyrename: New file. * src/ellinika/syllabificator.c: New file. * src/ellinika/.gitignore: Update. * src/ellinika/elchr.c (char_info_st): Move to header. (el_basic_ctype): (elchr_info): Remove static qualifier. Return a pointer to const. (elchr_letter,elchr_phoneme): New functions. (elchr_diphthong): Remove. * src/ellinika/elmorph.c (elstr)<phoneme,phoneme_count>: New members. (_elstr_syllabize): Rewrite. (invalidate_maps)" New static function. (_elstr_alloc): Initialize new fields, take function name as argument, for diagnostic purposes. (_elstr_print): Rewrite (deftab): Update. (elstr-syllable-prop,elstr-syllable) (_elstr_set_accent,_elstr_set_accent_on_char): Rewrite. (elstr-char-phoneme,elstr->phonetic-map): New functions. * src/ellinika/elmorph.h (CHF_DIPH1,CHF_DIPH2): Remove. (CHF_DIPHTHONG): New flag. (PHON_.*): New constants. (phoneme,syllable): New structures. (char_info_st)<letter,phoneme>: New members. (elchr_info,elchr_letter) (elchr_phoneme,phoneme_map) (syllable_map): New protos. (elchr_diphthong): Remove protos. * src/ellinika/elmorph.scm4: Move public definitions to elmorph-public.scm; include it here. * src/ellinika/xlat.scm (ellinika:sounds-like): Rewrite as a wrapper over elstr->soundslike. Describe Milesian numbers. * style.css (img.ellinika-img): New class. * xml/lingua.conf.in (IMAGE): New tag. * xml/pl/alfabhta.xml: Describe Milesian numbers. Various fixes. * data/dbverb.struct: fix a typo in flection. Use 'sub' theme for pas/sub/aor. * data/irregular-verbs.xml: Add more verbs. * scm/conjugator.scm: Various fixes. * scm/verbop.scm: Accept empty mood and voice declarations.
2011-06-07Improve conjugatorSergey Poznyakoff1
* data/dbverb.struct: Remove individual verb definitions. * data/irregular-verbs.xml: New file. * scm/verbop.scm: New file. * scm/Makefile.am: Add rules for verbop. * scm/conjugator.scm: Various fixes. * src/ellinika/elmorph.c (elstr-accent-position): Fix handling of string arguments. (_elstr_set_accent): Fix error message. (elstr-set-accent-character) (elstr-set-accent-character!): New functions.
2011-06-06Rewrite all elstr- functions to take either elstr or string as arguments.Sergey Poznyakoff1
2011-06-06Improve conjugatorSergey Poznyakoff1
* 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.
2011-06-05Fix memory corruption, improve conjugatorSergey Poznyakoff1
* data/db.struct: Revamp conjugation support tables. * scm/conjugator.scm: Improve irregular conjugation support. * src/ellinika/elmorph.c (_elstr_syllabize): Use calloc. Fix memory corruption. (_elstr_dup): Don't allocate new sylmap if the source one is NULL. (_elstr_free): Call scm_gc_free on elstr.
2011-06-05Bugfixes.Sergey Poznyakoff1
* data/db.struct (verb): Minor fix. * src/ellinika/elchr.c: Fix base of lower case epsilon. * src/ellinika/elmorph.c (_elstr_alloc_empty): New function. (_elstr_alloc): Take additional argument. All uses changed. (_elstr_concat): New function. (_elstr_print): Correctly print objects with NULL sylmap. (elstr?): New function. (elstr-append): New function.
2011-06-04Add new functions for operations over elstrs.Sergey Poznyakoff1
* src/ellinika/utf8.c (utf8_wc_strnchr) (utf8_wc_strnstr): New functions. * src/ellinika/utf8.h (utf8_wc_strnchr) (utf8_wc_strnstr): New protos. * src/ellinika/elmorph.c (_elstr_alloc): Reuse existing sylmap. (_elstr_slice): New function. (elstr-slice,elstr-slice!,elstr-index): New functions. * src/ellinika/elmorph.scm4 (elstr-trim,elstr-trim!): New functions. git-svn-id: file:///home/puszcza/svnroot/ellinika/trunk@562 941c8c0f-9102-463b-b60b-cd22ce0e6858
2011-06-04Add missing copyright statements.Sergey Poznyakoff1
git-svn-id: file:///home/puszcza/svnroot/ellinika/trunk@559 941c8c0f-9102-463b-b60b-cd22ce0e6858
2011-06-04Implement new morphological functions. Move elmorph to scm/ellinikaSergey Poznyakoff1
git-svn-id: file:///home/puszcza/svnroot/ellinika/trunk@554 941c8c0f-9102-463b-b60b-cd22ce0e6858

Return to:

Send suggestions and report system problems to the System administrator.