Грамматика ложбана/4.11: различия между версиями
Материал из LingvoWiki
Перейти к навигацииПерейти к поиску(не показано 7 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | |||
− | |||
== 11. Алгоритм создания новых lujvo. == | == 11. Алгоритм создания новых lujvo. == | ||
Строка 8: | Строка 6: | ||
1) | 1) | ||
− | Для каждого из gismu или cmavo, входящих в исходное tanru, кроме последнего, выберите rafsi | + | Для каждого из gismu или cmavo, входящих в исходное tanru, кроме последнего, выберите rafsi |
+ | длиною 3 или 4 буквы. | ||
2) | 2) | ||
− | Для последнего gismu, входящего в tanru, выберите rafsi | + | Для последнего gismu, входящего в tanru, выберите rafsi длиною 3 или 5 букв. |
3) | 3) | ||
Соедините все эти rafsi в одну строку, поначалу не вставляя соединителей. | Соедините все эти rafsi в одну строку, поначалу не вставляя соединителей. | ||
4) | 4) | ||
− | Вставьте соединители там, где нужно. Не разрешается вставлять соединители туда, где они не требуются с точки зрения данного алгоритма. По причинам, объяснённым далее, желательно провести проверки справа налево. | + | Вставьте соединители там, где нужно. Не разрешается вставлять соединители туда, где они не |
+ | требуются с точки зрения данного алгоритма. По причинам, объяснённым далее, желательно провести | ||
+ | проверки справа налево. | ||
4a) | 4a) | ||
− | + | Если tanru состоит из более чем двух слов, и первое rafsi имеет форму CVV, то после первого | |
+ | rafsi вставьте соединитель “r” (или “n”). Если же tanru состоит именно из двух слов, и | ||
+ | первое rafsi имеет форму CVV, то также вставьте соединитель “r” (или “n”), кроме случая, | ||
+ | когда второе rafsi имеет форму CCV. Например, в lujvo “saicli” соединитель не нужен. | ||
+ | Используйте соединитель “r”, но если следующая за соединителем буква - “r”, то используйте | ||
+ | соединитель “n”. Ни в коем случае ни применяйте соединитель “n” там, где можно | ||
+ | применить “r”. | ||
4b) | 4b) | ||
− | + | Вставьте соединитель “y” между согласными, составляющими недопустимую пару согласных. Такие | |
+ | пары могут появиться только на границе между rafsi. | ||
4c) | 4c) | ||
− | + | Вставьте соединитель “y” после всех четырёхбуквенных rafsi. | |
5) | 5) | ||
− | + | Если lujvo начинается с одного или нескольких rafsi вида CVC, и при этом имеет | |
− | + | вид “CVC ... CVC + CVCCV” или “CVC ... CVC + y + что-то”, то проведите “проверку tosmabru”. | |
+ | Проверка заключается в следующем: | ||
5a) | 5a) | ||
− | + | Найдите все пары согласных вида C/C вплоть до первого соединителя "y", или до конца | |
− | + | слова, если в слове нет соединителей "y". Назовём эти пары согласных "стыками". | |
5b) | 5b) | ||
− | + | Если все такие "стыки" являются допустимыми начальными парами согласных, значит | |
+ | проверяемое слово распадается на cmavo и более короткое brivla. Если нет, тогда слово не | ||
+ | распадается, и дополнительные соединители не нужны. | ||
5c) | 5c) | ||
− | + | Вставьте соединитель “y” в первый такой "стык". | |
− | + | Заметьте, что “проверка tosmabru” подразумевает, что алгоритм будет работать эффективнее, если "стыки" проверяются на необходимость вставки соединителей справа налево, а не слева направо; если проверка нужна, то она не может быть завершена, пока не достигнут соединитель справа. |
Текущая версия на 21:54, 27 июля 2013
11. Алгоритм создания новых lujvo.
В этом разделе описан алгоритм создания lujvo из tanru. Этот алгоритм был разработан Бобом Ле-Шевалье и доктором Джеймсом Куком Брауном для реализации в качестве компьютерной программы. В 1989 году в алгоритм были внесены изменения при участии Норы Ле-Шевалье, которая обнаружила ошибку в первоначальной “проверке tosmabru”.
На входе алгоритма имеется tanru, для которого нужно создать lujvo.
1)
Для каждого из gismu или cmavo, входящих в исходное tanru, кроме последнего, выберите rafsi длиною 3 или 4 буквы.
2)
Для последнего gismu, входящего в tanru, выберите rafsi длиною 3 или 5 букв.
3)
Соедините все эти rafsi в одну строку, поначалу не вставляя соединителей.
4)
Вставьте соединители там, где нужно. Не разрешается вставлять соединители туда, где они не требуются с точки зрения данного алгоритма. По причинам, объяснённым далее, желательно провести проверки справа налево.
4a) Если tanru состоит из более чем двух слов, и первое rafsi имеет форму CVV, то после первого rafsi вставьте соединитель “r” (или “n”). Если же tanru состоит именно из двух слов, и первое rafsi имеет форму CVV, то также вставьте соединитель “r” (или “n”), кроме случая, когда второе rafsi имеет форму CCV. Например, в lujvo “saicli” соединитель не нужен. Используйте соединитель “r”, но если следующая за соединителем буква - “r”, то используйте соединитель “n”. Ни в коем случае ни применяйте соединитель “n” там, где можно применить “r”. 4b) Вставьте соединитель “y” между согласными, составляющими недопустимую пару согласных. Такие пары могут появиться только на границе между rafsi. 4c) Вставьте соединитель “y” после всех четырёхбуквенных rafsi.
5)
Если lujvo начинается с одного или нескольких rafsi вида CVC, и при этом имеет вид “CVC ... CVC + CVCCV” или “CVC ... CVC + y + что-то”, то проведите “проверку tosmabru”. Проверка заключается в следующем:
5a) Найдите все пары согласных вида C/C вплоть до первого соединителя "y", или до конца слова, если в слове нет соединителей "y". Назовём эти пары согласных "стыками". 5b) Если все такие "стыки" являются допустимыми начальными парами согласных, значит проверяемое слово распадается на cmavo и более короткое brivla. Если нет, тогда слово не распадается, и дополнительные соединители не нужны. 5c) Вставьте соединитель “y” в первый такой "стык".
Заметьте, что “проверка tosmabru” подразумевает, что алгоритм будет работать эффективнее, если "стыки" проверяются на необходимость вставки соединителей справа налево, а не слева направо; если проверка нужна, то она не может быть завершена, пока не достигнут соединитель справа.