Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

bibliothèque libre C ou C++ Debian compatible pour JSON5 ou HJSON

0 views
Skip to first unread message

Basile Starynkevitch

unread,
Feb 1, 2024, 2:20:06 AMFeb 1
to
Bonjour la liste


Pour le moteur d'inférences RefPerSys (voir http://refpersys.org/ ....)
je cherche une bibliothèque libre (sous licence GPLv3+ ou LGPLv2+ ou
compatible au moins avec la licence CeCILL) qui peut encoder et décoder
des fichiers et des chaînes de caractères (encodées UTF-8) au format
JSON5 (voir https://json5.org/ ...) ou HJSON (voir
https://hjson.github.io/ ou j'ai trouvé
https://github.com/hjson/hjson-cpp/releases ...)


Avez vous une telle bibliothèque à me suggérer?


(je cherche aussi des contributeurs, ou des possibilités de faire un
exposé dans la suite de ceux faits en 2020 en
https://afia.asso.fr/journee-hommage-j-pitrat/ ...)

Librement

--
Basile Starynkevitch <bas...@starynkevitch.net>
(only mine opinions / les opinions sont miennes uniquement)
92340 Bourg-la-Reine, France
web page: starynkevitch.net/Basile/
See/voir: https://github.com/RefPerSys/RefPerSys

didier gaumet

unread,
Feb 1, 2024, 3:40:06 AMFeb 1
to
Bonjour,

je ne sais pas si tu y trouveras ce que tu cherches (je n'ai pas vérifié
chaque solution) mais le site officiel Json propose une liste de
bibliothèques et utilitaires par langage (dont C et C++) en bas de page:
https://www.json.org/json-en.html

Basile Starynkevitch

unread,
Feb 1, 2024, 3:50:06 AMFeb 1
to
Ça je connais et j'utilise déjà dans le moteur d'inférences libre
http://refpersys.org/ la bibliothèque jsoncpp (et j'ai aussi regardé
jansson). C'est pour JSON, pas JSON5 ou HJSON.

JSON5 est une extension de JSON (définie en https://spec.json5.org/ ...)
qui est un peu moins verbeuse. Par exemple la ligne suivante est valide
en JSON5 pas en JSON strict:

    { codage: utf8, chaine: "abcd\nef", longueur: 6,  }

En JSON strict on a le droit de coder seulement

   { "codage": "utf8", "chaine": "abcd\nef", "longueur": 6 }

et donc pour des données de l'ordre de la centaine de kilooctets ça fait
une différence de taille. En plus JSON5 est plus lisible par un humain
et accepte des commentaires.


Et HJSON est une spécification similaire, définie en
https://hjson.github.io/ - permettant des chaines de caractères multilignes.


Actuellement (ce 1er fevrier 2024)
https://github.com/RefPerSys/RefPerSys/ (un moteur d'inférences libre,
pour lequel je cherche des collaborations futures, peut-être un
consortium ITEA or HorizonEurope ou ANR) ne compile même pas. Je suis en
train de réécrire son GNUmakefile en utilisant remake.

L'idée serait dans ce moteur d'inférences RefPerSys (voir
http://refpersys.org/ - "REFlexive PERsistent SYStem") de persister son
état dans des chaines litérales enormes dans des gros fichiers C++
générés par le moteur RefPerSys lui-même.

Voir les vidéos (en 2020) dans
https://afia.asso.fr/journee-hommage-j-pitrat/

didier gaumet

unread,
Feb 1, 2024, 4:20:05 AMFeb 1
to
Le 01/02/2024 à 09:48, Basile Starynkevitch a écrit :
[...]
> JSON5 est une extension de JSON
[...]

désolé, n'y connaissant rien, je croyais que JSON5 était une version
officielle de JSON.

En regardant vite fait le site Json5, il semble que JSON5
soit un sous-ensemble de ES5 (Ecmascript 5), donc peut-être chercher
une bibliothèque C ou C++ Ecmasript (5 ou supérieure, la dernière spec
semble la 7).

Ou alors je suis tombé sur ça, un parser JSON5 en C, je ne sais pas si
ça peut te convenir:
https://gist.github.com/inlife/b54a0d9228e428284e1d8eccbed97e35

nicolas...@gmail.com

unread,
Feb 1, 2024, 4:30:04 AMFeb 1
to
Bonjour à tous,

Chose étrange, ça fait plusieurs fois que je lis une réponse à un message de la liste avant de recevoir le message ouvreur.
Les voies d’internet multimédia 0.2 sont impénétrables.

nicolas patrois : pts noir asocial
--
RÉALISME

M : Qu'est-ce qu'il nous faudrait pour qu'on nous considère comme des humains ? Un cerveau plus gros ?
P : Non... Une carte bleue suffirait...
0 new messages