Lee mucho y hazlo simple
Diseñar un nuevo idioma es difícil. Realmente difícil. Pero en última instancia, es muy satisfactorio si se vuelve popular y realmente resuelve un problema que las personas experimentan de una manera elegante.
Como mencioné en los comentarios, le aconsejo que lea los Idiomas específicos de dominio de Martin Fowler por las siguientes razones:
- Entra en mucha profundidad práctica sobre por qué debes diseñar un lenguaje
- Hay detalles sobre cómo hacerlo (analizadores, analizadores léxicos, bancos de trabajo de idiomas, etc.)
- Hay instrucciones detalladas de implementación sobre cómo se puede hacer la sintaxis elegida para manejar conceptos como cierres, anotaciones, listas literales, recepción dinámica, etc.
En cuanto a cómo escribir su especificación, piense en su audiencia. Obviamente, antes de poner el dedo en el teclado para diseñar su idioma, habrá pensado cuidadosamente sobre lo que se pretende hacer.
Si se trata de un lenguaje nuevo e interpretado para reemplazar JavaScript, querrá un enfoque muy laissez faire para llegar a los desarrolladores web con una capacidad de atención limitada y un deseo de resultados inmediatos, o más rápido si es posible.
Si se va a usar en la próxima misión a Titán, las especificaciones extremadamente detalladas que muestren pruebas formales exactas del comportamiento de cada componente serán el nivel de entrada mínimo.
Entonces, no es algo sencillo. Para acercarse a la especificación, probablemente sea mejor que gane mucha experiencia en la creación de sus idiomas y también que trabaje con aquellos que realmente los usan a diario. Si tiene víctimas dispuestas ... er ... desarrolladores, en el trabajo que pueden tomarse un tiempo para aprender su idioma, entonces pueden brindarle comentarios sobre lo que se necesita para que lo usen.
En resumen, manténgalo simple y más personas lo usarán.