Saya menyadari pagi ini bahwa dimungkinkan untuk membuat tag menggunakan string literal. Namun, ini agak seperti trik (hack), karena bergantung pada pengetahuan bahwa Apertium menempatkan tag di dalam <> dan menurut saya pengguna FlexTrans sebenarnya tidak seharusnya bergantung pada detail semacam itu.
Namun, ini berarti bahwa, setelah mengekstrak informasi dasar dari aliran input (seperti kelas kata benda) ke dalam variabel string literal (misalnya, var v_noun_class := string ‘3’), seseorang dapat melakukan sesuatu seperti:
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 “>”
… dan kemudian output var v_gloss dan hasilnya akan disintesis dengan benar (seolah-olah saya telah mengoutput tag literal NPx_3)
Dalam kasus saya, ini berarti saya juga dapat membuat tag sufiks dalam variabel terpisah, cukup dengan mengubah NPx menjadi NSx – yang jauh lebih mudah (dan lebih mudah dibaca) daripada mengelola struktur choose when … when … when … yang besar untuk setiap tag afiks output yang mencakup informasi kelas kata benda dan sesuatu yang lebih.
Jadi di satu sisi, ini tampaknya trik yang jelek, dan di sisi lain, ini memungkinkan pembuatan tag afiks yang rumit secara lebih elegan dan mudah dibaca. Apa pendapat Anda tentang pendekatan ini?
Salam, 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
Diterjemahkan secara otomatis dari English