Skip to content

Instantly share code, notes, and snippets.

@marchdown
Created November 7, 2012 21:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marchdown/4034659 to your computer and use it in GitHub Desktop.
Save marchdown/4034659 to your computer and use it in GitHub Desktop.

Порождение парадигм германских сильных глаголов

Обстановка:

Есть много (порядка сорока, считая значимые диалекты и мертвые языки) германских языков. В них во всех есть похожим образом устроенная глагольная система. Глаголы делятся на два больших надкласса: сильные и слабые. Сильные глаголы образуют формы прошедшего времени и причастия, меняя гласную в корне. Выбор конкретной гласной определяется "абляутным рядом": набором из четырех гласных (или дифтонгов, или нулей), разных абляутных радов много, и конкретный их набор разнится от языка к языку.

Для построения всех форм глагола нужно знать:

  1. язык (и набор абляутных рядов этого языка)
  2. заглавную форму глагола
  3. класс (абляутный ряд), к которому этот глагол относится в этом языке.

Кроме того хочется ухватить то обстоятельства, что по большому счету глаголы-то в разных германских языках одни и те же. На первый взгляд предпочтительным кажется следующий подход: каждому глаголу приваевается уникальный идентификатор, соответсвующие друг другу глаголы разных языков отождествляются с одним идентификатором.

Задача:

Инфинитив (слово) -> Абляутный ряд (четвёрка гласных) -> четверка слов.

Алгоритм: inf, lang, class <- inf, lang, class

  1. По классу глагола и языку выбрать абляутный ряд.
  2. Перевести инфинитив из цепочки литер в цепочку морфем (обратить сандхи в готском, исландском и проч.)
  3. Проходя по форме инфинитива с конца, найти гласную первой ступени абляута.
  4. Запомнить куски основы до гласной и после гласной.
  5. Породить четверку, подставляя остальные гласные ряда в соответствующие формы.
  6. Применить к каждому члену четверки правила сандхи (обратить шаг 2.).

Пример:

fyke, bm, (Класс 2, по образцу fyke) -> fyker	føk, fauk	føket	
gyve, bm, (Класс 2, по образцу fyke) -> gyver	gøv, gauv	gøvet	

flyte, bm, (Класс 2, по образцу flyte) ->	flyter	fløt, flaut	flytt

Вспомогательный алгоритм раз: -- по образцу выявить абляутный ряд: По четырем словам найти наибольший общий префикс.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment