J'ai réalisé ce matin qu'il est possible de générer des étiquettes en utilisant des chaînes littérales. C'est toutefois un peu un hack, car cela repose sur le fait de savoir qu'Apertium place les étiquettes entre <> et il me semble que l'utilisateur de FlexTrans ne devrait vraiment pas dépendre de tels détails.
Cependant, cela signifie qu'après avoir extrait des informations de base du flux d'entrée (comme la classe du nom) dans une variable de chaîne littérale (par ex., var v_noun_class := string ‘3’), on peut faire quelque chose comme ceci :
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 “>”
… puis afficher var v_gloss et le résultat sera synthétisé correctement (comme si j'avais affiché l'étiquette littérale NPx_3)
Dans mon cas, cela signifie que je peux également générer une étiquette de suffixe dans une variable séparée, en changeant simplement NPx en NSx – ce qui est beaucoup plus facile (et plus lisible) que de gérer une grande structure choose when … when … when … pour chaque étiquette d'affixe de sortie qui inclut des informations sur la classe du nom et autre chose.
D'un côté, cela semble être un hack laid, et de l'autre, cela permet une génération plus élégante et lisible d'étiquettes d'affixes complexes. Qu'en pensez-vous de cette approche ?
Cordialement, bruce
I realised this morning that it is possible to generate tags using literal strings. It is, however, a bit of a hack, because it relies on knowing that Apertium puts tags in <> and it feels to me that the FlexTrans user really shouldn’t be relying on such details.
However, it means that, having extracted basic information from the input stream (like noun class) into a literal string variable (e.g., var v_noun_class := string ‘3’), one can do something like:
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 “>”
… and then output var v_gloss and the result will synthesize correctly (just as if I had output the literal tag NPx_3)
In my case, it means I can also generate a suffix tag in a separate variable, just changing NPx to NSx – which is a lot easier (and more readable) than managing a big choose when … when … when … structure for each output affix tag that includes noun class information and something more.
So on the one hand, it seems to be an ugly hack, and on the other, it allows more elegant and readable generation of complicated affix tags. What are your thoughts on this approach?
Cheers, bruce
Traduit automatiquement depuis English