Re: fonction C ou C++ pour detecter la fin de ligne en UTF8 et/ou l'encodage
Le 19/08/2025 à 13:16, Basile Starynkevitch a écrit :
Bonjour la liste
Dans le moteur d'inférences en C++ RefPerSys dont le code est libre sur github (notamment son fichier cppgen_rps.cc du commit 6b64a4c6ff)
j'utilise la bibliothèque GNU libunistring (notamment dans Rps_PayloadCplusplusGen::emit_as_cplusplus_comment)
J'y génère du code C++ à la volée (reprenant des idées de https://arxiv.org/abs/1109.0779 ...) et je tiens à générer du C++ le plus lexicalement et syntaxiquement correct possible.
LA bibliothèque GNU libunistring fournit les fonctions pour determiner où, dane une chaine UTF8, peut se terminer une ligne.
Si j'ai bien compris c'est le rôle de la fonction u8_possible_linebreaks qui prend un argument encoding.
https://www.gnu.org/software/libunistring/manual/libunistring.html#unilbrk_002eh
Et plus généralement je cherche des exemples de logiciels libres récents générant du code C++23 syntaxiquement correct.
https://github.com/bstarynk/bismon ne compte pas, même si j'y avais contribué
Librement
NB Je cherche aussi à rejoindre un consortium HorizonEurope ou ANR qui pourrait soutenir et contribuer à refpersys.org
Bonjour Basile,
je ne suis pas très fringant intellectuellement aujourd'hui et j'ai un
peu de mal à comprendre quelle est précisément ta question alors sois
patient avec moi :-)
Et, rappel: je ne développe plus depuis des lustres
Je n'ai fait que jeter un oeil ma ma compréhension (correcte ou non...)
de cette fonction serait plutôt que son but est, dans le cadre du
formattage de colonnes de texte d'une certaine largeur à partir d'une
chaîne brute, où insérer des retours chariot pour réaliser correctement
ce formatage.
Ce qui nécessite de passer en paramètre d'entrée à cette fonction
l'encodage utilisé pour la chaîne. Donc ce ne peut pas servir à
determiner l'encodage
Tout ça sous réserve que je ne raconte pas des bêtises, bien sûr
Reply to: