Lisez beaucoup et restez simple
Concevoir une nouvelle langue est difficile. Vraiment dur. Mais finalement très satisfaisant s'il devient populaire et résout vraiment un problème que les gens connaissent de manière élégante.
Comme je l'ai mentionné dans les commentaires, je vous conseille de lire les langages spécifiques au domaine de Martin Fowler pour les raisons suivantes:
- Il explique en détail pourquoi vous devriez concevoir un langage
- Il y a des détails sur la façon de le faire (analyseurs, analyseurs lexicaux, ateliers linguistiques, etc.)
- Il y a des instructions d'implémentation détaillées sur la façon dont votre syntaxe choisie peut être faite pour gérer des concepts comme les fermetures, les annotations, les listes littérales, la réception dynamique, etc.
Quant à la façon de rédiger votre cahier des charges, pensez à votre public. Évidemment, avant de mettre le doigt sur le clavier pour concevoir votre langue, vous aurez soigneusement réfléchi à ce qu'il est censé faire.
S'il s'agit d'un nouveau langage interprété pour remplacer JavaScript, vous souhaiterez une approche très laisser-faire afin d'atteindre les développeurs Web avec une durée d'attention limitée et un désir de résultats immédiats - ou plus rapidement si possible.
S'il doit être utilisé lors de la prochaine mission sur Titan, des spécifications extrêmement détaillées montrant des preuves formelles exactes du comportement de chaque composant seront le niveau d'entrée minimal.
Ce n'est donc pas une chose simple. Pour approcher la spécification, vous feriez probablement mieux d'acquérir beaucoup d'expérience dans la création de vos langues et de travailler avec ceux qui les utilisent réellement au jour le jour. Si vous avez des victimes consentantes ... euh ... des développeurs au travail qui peuvent prendre un certain temps pour apprendre votre langue, ils peuvent vous donner des commentaires sur ce qui est nécessaire pour les amener à l'utiliser.
En bref, restez simple et plus de gens l'utiliseront.