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


Répondre à