0 голосов
135 просмотров

Сегодня утром я понял, что можно генерировать теги с использованием литеральных строк. Однако это своего рода хакинг, поскольку он основан на знании того, что Apertium помещает теги в <>, и мне кажется, что пользователь FlexTrans действительно не должен полагаться на такие детали.
Тем не менее, это означает, что, извлекая базовую информацию из входного потока (например, класс существительного) в переменную литеральной строки (например, var v_noun_class := string ‘3’), можно сделать что-то вроде:

let var v_gloss = “<”
append var v_gloss “NPx”
append var v_gloss “_”
append var v_gloss var v_noun_class
append var v_gloss “>”

… а затем вывести var v_gloss, и результат будет синтезирован корректно (так, как если бы я вывел литеральный тег NPx_3)

В моем случае это также позволяет генерировать тег суффикса в отдельной переменной, просто заменив NPx на NSx, – что гораздо проще (и читабельнее), чем управлять большой структурой choose whenwhenwhen … для каждого выходного аффиксного тега, содержащего информацию о классе существительного и что-то еще.

Так что, с одной стороны, это кажется уродливым хакингом, а с другой – позволяет более элегантно и читабельно генерировать сложные аффиксные теги. Что вы думаете об этом подходе?

С уважением, bruce

Переведено машиной с языка English
FLExTrans от (102 очков)
снова показан | 135 просмотров

1 ответ

0 голосов

Да, это своего рода хакинг, но кажется полезным, который в конечном итоге делает ваше правило более поддерживаемым.

Кстати, вы можете добавлять несколько элементов в переменную (или что-либо другое):

APPEND VAR v_gloss LIT_STR “<NPx_” VAR v_noun_class LIT_STR “>”

Молодец!

Переведено машиной с языка English
от (336 очков)

Похожие вопросы

0 голосов
1 ответ 42 просмотров
Какой лучший способ переводить глаголы в глагольные фразы? В языке Mato (исходный язык) есть harungia говорить против , ... , и я wondering, есть ли более простое решение?
matoxltr 122 задал вопрос июл 16, 2025
0 голосов
1 ответ 137 просмотров
Как использовать макрос? (Как повторять правила в нескольких местах?)
rmdiamondl 336 задал вопрос май 8, 2022
0 голосов
1 ответ 137 просмотров
Можно ли работать с несколькими языковыми парами в FLExTrans?
rmdiamondl 336 задал вопрос апр 22, 2022
0 голосов
1 ответ 204 просмотров
Вспомогательная информация командной строки гласит -b BOOKS, --books BOOKS Reference list to print (as in Choose Books) ... , пытаясь установить ptxprint на новой машине с Linux.)
mnjames 1,9тыс. задал вопрос май 10, 2023
0 голосов
1 ответ 27 просмотров
Как удалить слово из целевого вывода?
Sara 246 задал вопрос апр 28, 2025
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Live in harmony with one another. Do not be proud, but be willing to associate with people of low position. Do not be conceited.
Romans 12:16
3,048 вопросов
6,007 ответов
5,672 комментариев
2,028 пользователей