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.

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.

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??

4. Pensez à la sémantique de votre langue et les concepts de celui-ci.

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".

6. Expérimentez avec des idées de syntaxe (le texte de la langue) pour les exemples ci-dessus.

7. Écrivez une grammaire formelle pour la syntaxe.

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.

9. Écrivez le scanner et l`analyseur avant d`extrémité ou trouvez un outil qui vous aide à vous.

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.

11. Ecrivez l`exécuteur ou le générateur de code qui liera tout ensemble.

12. Écrivez de nombreux programmes de test pour tester la langue.

13. Considérez comment l`utilisateur déboquera ses propres programmes.

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.

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).