Besoin de conseil
Résolu/Fermé6 réponses
nicocorico
Messages postés
799
Date d'inscription
dimanche 19 juin 2011
Statut
Membre
Dernière intervention
3 juillet 2018
138
29 déc. 2011 à 13:08
29 déc. 2011 à 13:08
Ce qu'il faut comprendre sur le fait que tout le monde peut créer son propre langage, c'est que tous les langages sont des traducteurs vers l'assembleur, hormis les langages interprétés, qui eux sont lus par un exécuteur.
C'est à dire que chaque langage va apporter une syntaxe, une manière de penser et d'écrire le programme, puis va ensuite le traduire en langage machine plus ou moins optimisé qui sera intégré dans un fichier compréhensible et exécutable par l'OS et le processeur.
Donc créer son propre langage revient à écrire un programme qui interprète les éléments syntaxique qu'il connait et les remplace par des éléments syntaxique que le processeur connait, lui-même étant un interpréteur matériel...
Le 1er langage inventé est donc le langage d'assemblage, qui permit d'écrire l'assembleur avec des mnémoniques, plus intelligibles par l'humain que des codes; Ce langage est directement converti en codes machines, en remplaçant simplement les mnémoniques et les noms de registres par les codes équivalents.
Ensuite une pléthore de langage furent inventés, tous de niveau supérieur au langage d'assemblage, pour en simplifier l'écriture...
C'est à dire que chaque langage va apporter une syntaxe, une manière de penser et d'écrire le programme, puis va ensuite le traduire en langage machine plus ou moins optimisé qui sera intégré dans un fichier compréhensible et exécutable par l'OS et le processeur.
Donc créer son propre langage revient à écrire un programme qui interprète les éléments syntaxique qu'il connait et les remplace par des éléments syntaxique que le processeur connait, lui-même étant un interpréteur matériel...
Le 1er langage inventé est donc le langage d'assemblage, qui permit d'écrire l'assembleur avec des mnémoniques, plus intelligibles par l'humain que des codes; Ce langage est directement converti en codes machines, en remplaçant simplement les mnémoniques et les noms de registres par les codes équivalents.
Ensuite une pléthore de langage furent inventés, tous de niveau supérieur au langage d'assemblage, pour en simplifier l'écriture...
BloodyAngel
Messages postés
1482
Date d'inscription
mardi 21 juin 2005
Statut
Contributeur
Dernière intervention
21 juin 2018
402
29 déc. 2011 à 07:51
29 déc. 2011 à 07:51
Hello,
le C ne repose pas directement sur le binaire mais sur l'assembleur.
Le code C passe par un interpréteur et un compilateur de façon a générer le .exe
"Chacun pouvant créer son propre langage" signifie probablement qu'il n'y a pas de lois ni de règles pour réguler ça. Ca n'empêche pas que ce soit extrêmement difficile à réaliser.
le C ne repose pas directement sur le binaire mais sur l'assembleur.
Le code C passe par un interpréteur et un compilateur de façon a générer le .exe
"Chacun pouvant créer son propre langage" signifie probablement qu'il n'y a pas de lois ni de règles pour réguler ça. Ca n'empêche pas que ce soit extrêmement difficile à réaliser.
Utilisateur anonyme
29 déc. 2011 à 12:56
29 déc. 2011 à 12:56
Merci de ta réponse,
Ce que je comprend encore moins c'est qu'avant il n'y avait que du binaire non ? Comment ils ont fait alors pour créer un langage ?
Ce que je comprend encore moins c'est qu'avant il n'y avait que du binaire non ? Comment ils ont fait alors pour créer un langage ?
Utilisateur anonyme
29 déc. 2011 à 13:10
29 déc. 2011 à 13:10
Cela veut dire qu'il suffit de connaitre l'asm pour pouvoir créer son langage ? Et lex et yacc servent à compiler du code aussi, qu'elle est la différence peut il avoir entre le coder en asm et en lex&yacc ? Plus rapide je suppose.. Merci de ta réponse j'ai pu déjà approfondir mes connaissances.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
nicocorico
Messages postés
799
Date d'inscription
dimanche 19 juin 2011
Statut
Membre
Dernière intervention
3 juillet 2018
138
29 déc. 2011 à 13:25
29 déc. 2011 à 13:25
Oui en quelque sorte, il suffit de maitriser l'asm pour pouvoir écrire sont propre langage, mais il faut vraiment le maitriser parfaitement tout de même !
Et tu peux même faire plus simple : rien n'empêche de créer une syntaxe dérivée d'un langage existant et d'écrire un programme qui converti ta syntaxe vers la syntaxe du langage d'origine pour ensuite utiliser son compilateur...
Quand à lex et yacc, de ce que je viens d'en lire, ce n'est qu'une sorte de langage de haut niveau limité à un domaine d'application, et n'ayant rien à voir avec l'asm...
Et tu peux même faire plus simple : rien n'empêche de créer une syntaxe dérivée d'un langage existant et d'écrire un programme qui converti ta syntaxe vers la syntaxe du langage d'origine pour ensuite utiliser son compilateur...
Quand à lex et yacc, de ce que je viens d'en lire, ce n'est qu'une sorte de langage de haut niveau limité à un domaine d'application, et n'ayant rien à voir avec l'asm...
Utilisateur anonyme
29 déc. 2011 à 13:27
29 déc. 2011 à 13:27
Ok merci à tous de m'avoir éclairer sur mon petit problème :)