Bah... je vois pas le problème. J'utilise un DSL qui sert à écrire des parseurs, genre flex+bison ou coco ou peu importe, j'écrit mon parseur dans un language qui lui est fait pour ça, et ça route, ma poule :)
Ah, oui, le problème, c'est qu'il faut souvent apprendre (si ne n'est pas tout le temps) la notation BNF et ses dérivées, mais d'un autre côté, quand on veux spécifier un format ou un langage de manière carrée, je pense que c'est juste difficile de faire autrement. Sauf si, bien sûr, on se contrefout de faire un code propre.
Le cadeau bonus, c'est qu'il est simple d'écrire une spec à partir des DSL en question: il suffit, en gros, de virer la partie génération de code associée aux grammaires et jetons, parce qu'en vrai, une fois qu'on vire ça, on a une spec dans un des langages qui sont d'ailleurs utilisés dans pas mal de RFC, et d'ajouter quelques phrases dans la langue humaine de son choix.
Bon en vrai, je suis entièrement d'accord avec toi, mais personnellement, j'élargirais juste à "écrire un parseur, c'est compliqué, plus que ça en a l'air si on veut faire un truc correct".
[^] # Re: JSON? YAML?’
Posté par freem . En réponse au journal En finir avec CSV ou Excel pour échanger des données. Évalué à 4.
Bah... je vois pas le problème. J'utilise un DSL qui sert à écrire des parseurs, genre flex+bison ou coco ou peu importe, j'écrit mon parseur dans un language qui lui est fait pour ça, et ça route, ma poule :)
Ah, oui, le problème, c'est qu'il faut souvent apprendre (si ne n'est pas tout le temps) la notation BNF et ses dérivées, mais d'un autre côté, quand on veux spécifier un format ou un langage de manière carrée, je pense que c'est juste difficile de faire autrement. Sauf si, bien sûr, on se contrefout de faire un code propre.
Le cadeau bonus, c'est qu'il est simple d'écrire une spec à partir des DSL en question: il suffit, en gros, de virer la partie génération de code associée aux grammaires et jetons, parce qu'en vrai, une fois qu'on vire ça, on a une spec dans un des langages qui sont d'ailleurs utilisés dans pas mal de RFC, et d'ajouter quelques phrases dans la langue humaine de son choix.
Bon en vrai, je suis entièrement d'accord avec toi, mais personnellement, j'élargirais juste à "écrire un parseur, c'est compliqué, plus que ça en a l'air si on veut faire un truc correct".