Comment créer une langue de programmation
Beaucoup de gens ont des difficultés ou des frustrations avec les langages de programmation qu`ils utilisent tous les jours. Certains veulent que les choses soient traitées plus de manière abstraite, tandis que d`autres n`aiment pas la mise en œuvre des fonctionnalités qu`ils souhaitent être «standard». Que vous soyez professionnel informatique ou juste un amateur, plusieurs fois, vous pouvez vous retrouver vouloir créer un nouveau langage de programmation.
Pas
1. Se familiariser avec la technologie. Vous ne pouvez pas créer de langage de programmation si vous ne savez pas comment utiliser un ordinateur.
![Image intitulée Créer une langue de programmation Étape 2](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_17.jpg)
2. Se familiariser avec la terminologie. Les écrivains compilateurs utilisent souvent une terminologie inconnue. Lire les compilateurs avant de continuer. Assurez-vous de savoir tout ce que vous devez savoir.
![Image intitulée Créer une langue de programmation Étape 3](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_18.jpg)
3. Décider du problème de votre langue résoudre. Est-ce que cela traite-t-il d`un problème spécifique au domaine, ou s`agit-il d`une langue à usage général??
![Image intitulée Créer une langue de programmation Étape 4](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_19.jpg)
4. Pensez à la sémantique de votre langue et les concepts de celui-ci.
![Image intitulée Créer une langue de programmation Étape 5](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_20.jpg)
5. Pensez à certaines tâches spécifiques que quelqu`un voudrait pouvoir jouer avec votre langue. Par exemple, "ils peuvent vouloir diriger un robot pour suivre une ligne" ou ", ils peuvent vouloir créer des programmes de bureau relativement portables" ou "ils peuvent vouloir créer des applications Web avec elle".
![Image intitulée Créer une langue de programmation Étape 6](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_21.jpg)
6. Expérimentez avec des idées de syntaxe (le texte de la langue) pour les exemples ci-dessus.
![Image intitulée Créer une langue de programmation Étape 7](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_22.jpg)
7. Écrivez une grammaire formelle pour la syntaxe.
![Image intitulée Créer une langue de programmation Étape 8](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_23.jpg)
8. Décider si la langue sera interprétée ou compilée. Signification que dans le monde interprété, votre utilisateur modifiera généralement votre programme dans un éditeur et exécutez-le directement sur l`interprétation, dans le monde de la compilion, votre utilisateur modifiera votre programme, la compilez, enregistrez l`exécutable résultant quelque part et exécutez-le.
![Image intitulée Créer une langue de programmation Étape 9](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_24.jpg)
9. Écrivez le scanner et l`analyseur avant d`extrémité ou trouvez un outil qui vous aide à vous.
![Image intitulée Créer une langue de programmation Étape 10](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_25.jpg)
dix. Utilisez les informations d`analyse pour écrire le code d`objet ou une représentation intermédiaire. Demandez à l`analyseur créer une AST, puis créez votre code d`objet à partir de l`AST à l`aide de trois types d`adresses ou de son Big Brother SSA, puis créez une table de symboles pour définir vos fonctions, Variables globales, etc.
![Image intitulée Créer une langue de programmation Étape 11](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_26.jpg)
11. Ecrivez l`exécuteur ou le générateur de code qui liera tout ensemble.
![Image intitulée Créer une langue de programmation étape 12](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_27.jpg)
12. Écrivez de nombreux programmes de test pour tester la langue.
![Image intitulée Créer une langue de programmation Étape 13](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_28.jpg)
13. Considérez comment l`utilisateur déboquera ses propres programmes.
![Image intitulée Créer une langue de programmation Étape 14](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_29.jpg)
14. Si votre langue utilise une bibliothèque standard, vous voudrez l`écrire. Avec un collecteur ordures ou d`autres fonctionnalités d`exécution si vous en avez besoin.
![Image intitulée Créer une langue de programmation Étape 15](https://cdn.maniqui-es.com/kiw/how-to-create-a-programming-language_30.jpg)
15. Publier votre langue, ainsi que les spécifications pour cela et quelques exemples de ce que vous pouvez faire.
Vidéo
En utilisant ce service, certaines informations peuvent être partagées avec YouTube.
Conseils
Commencez par concevoir votre langue et n`écrivez aucun code, jusqu`à ce que vous soyez satisfait et que vous avez répondu à tous (ou la plupart) des questions ou des problèmes liés à votre conception car il est plus facile de modifier la conception plus tôt que la plus tard.
Connaissez votre plate-forme cible (système d`exploitation et bibliothèques) pour votre compilateur / interprète, après tout, vous allez l`utiliser et le manipuler.
Mises en garde
Pensez si vous avez vraiment besoin d`une nouvelle langue et que votre langue n`a de nouveau que d`autres langues n`a pas (il peut s`agir d`une combinaison de fonctionnalités ou d`une seule fonctionnalité).
Les langages d`écriture sont difficiles si vous ne savez pas ce que vous faites. Il faut beaucoup de pratique aussi.
Préparez-vous à passer du temps dans la conception de la langue, car vous n`aurez aucune chance de changer votre langue une fois que vous avez écrit le compilateur et au-delà du point de conception.
N`essayez pas de baser vos fonctionnalités dans une union de plusieurs langues, comme indiquant que votre langue sera une union de langue x, langue y et langue z. L`histoire nous a montré que les langues créées de manière à ne jamais trouver de succès, ou tout le monde serait la programmation PL / 1 au lieu de quelque chose basé sur c.
Choses que vous aurez besoin
- La patience.
- Connaissances sur les caractéristiques linguistiques et la conception de la langue (vous voudrez peut-être lire des concepts de conception de la langue de programmation de David A. Watt).
- Connaissance de la théorie du compilateur (puisque vous allez écrire un compilateur / interprète pour votre langue et votre mise en œuvre sera la mise en œuvre de la référence).
- Utilisations pour votre langue (rappelez-vous que certaines des langues les plus utilisées comme c ou LISP ont été créées afin de faire quelque chose de spécifique comme création d`unix ou de calcul symbolique).