Oui, il est possible de créer sa propre langue. Jetez un œil aux compilateurs. Ou le code source de certains langages de script si vous osez. Certains outils utiles sont yacc, bison et lexx.
D'autres ont mentionné le livre du dragon. Lorsque j'étais à l'université, nous utilisions un livre qui s'appelait, je crois, "Compiler theory and practice".
Il n'est pas nécessaire d'apprendre l'assembleur pour écrire un langage. Par exemple, Javascript s'exécute dans quelque chose appelé un interpréteur qui est une application qui exécute les fichiers javascript. Dans ce cas, l'interpréteur est généralement intégré au navigateur.
Le langage de programmation le plus simple pour commencer serait d'écrire une simple calculatrice en mode texte, c'est-à-dire prendre un fichier texte, le parcourir et effectuer les calculs. Vous pourriez écrire cela en C++ très facilement.
Mon premier langage pour un projet universitaire était un langage défini en BNF qui nous a été donné. Nous devions ensuite écrire un analyseur syntaxique qui le convertissait en une structure arborescente en mémoire, puis en quelque chose appelé code à 3 adresses (qui ressemble à un assembleur). Vous pouviez assez facilement transformer le code à 3 adresses en assembleur réel ou écrire un interprète pour cela.
7 votes
Déjà une grande sélection de ressources ici : stackoverflow.com/questions/1669/apprendre à écrire un compilateur
1 votes
Oubliez le "langage" textuel et optez pour quelque chose de plus spécifique au domaine. Pourquoi ne pas dire à l'ordinateur ce que vous voulez qu'il fasse graphiquement, par des gestes de la main ou quelque chose de plus naturel, comme la reconnaissance faciale ? ted.com/talks/peter_molyneux_demos_milo_the_virtual_boy.html
0 votes
Je voulais mettre ceci comme réponse, mais comme elle a été fermée, je vais le mettre ici : C'est un livre qui a été utilisé dans de nombreux collèges comme un livre de comp sci 101. Il vous fait découvrir les rudiments de la conception de matériel informatique, du langage d'assemblage, des compilateurs et des langages de haut niveau. Il ne fera pas de vous un expert en une nuit, mais il les rend très accessibles. Vous vous étonnerez vous-même de ce que vous apprendrez à faire. "The Elements of Computing Systems" : www1.idc.ac.il/tecs
1 votes
Ne vous précipitez pas. Si vous êtes "ok" avec le C++, apprenez le langage. Asseyez-vous et faites BEAUCOUP (je dis bien BEAUCOUP) de projets jetables pour comprendre le fonctionnement des langages de programmation. PHP est un bon précurseur, mais il ruine votre sens du fonctionnement de la programmation. PHP est bien ; il fait tout le travail pour vous et vous n'avez jamais à inclure des choses et à utiliser des bibliothèques, etc. Le C++, d'un autre côté, n'est pas aussi agréable, mais il a beaucoup plus de possibilités (quelle que soit la base de comparaison que vous avez, étant donné que PHP est un langage de programmation Web). interprétées (ce mot encore) et C++ est une plateforme de première génération). Bonne chance en tout cas !