IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages de programmation Discussion :

Création d'un langage de programmation


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 60
    Par défaut Création d'un langage de programmation
    Bonjour à tous.
    ça fait un moment que je programme dans de multiples langage, et aimerais créer le mien. Voilà le problème : je sais absolument pas comment faire. Je ne sais pas comment programmer un traducteur, et encore moins un IDE. J'ai entendu parlé de Lexx, Yacc, Flex, et Bison mais ne voit vraiment, mais vraiment pas ce que c'est. Merci de bien vouloir éclairer mes lanternes.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Par défaut
    Bonjour
    Si tu veux programmer ton propre compilateur veux dire t'es courageux je te félicite
    Passe moi ton e-mail en privé je te file un pdf je le trouve utile pour comprendre tout les étapes pour crée un compilateur
    Enfin pour lex et yacc j'ai une copie pour Delphi si tu veux programmé en Delphi sinon tu peux les trouvés sur net puisque sont libre de droit

    Bonne journée

  3. #3
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par SoftAbdou Voir le message
    Passe moi ton e-mail en privé...
    Pourquoi en privé, fais en profiter le forum, s'il est vraiment bien ce PDF ou un peu trop gros et qu'il ne présente pas de problèmes de copyright, on trouveras peut être un moyen pour lui donner un peu plus de visibilité à ce document.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Par défaut yes pas de problème
    Bonjour

    Très Bien
    Bien sûr je donne le fichier pour le forum
    Mais juste c'est en anglais
    La taille de fichier (zip)=886 Ko
    pour le problème de copyright je pense pas qu'il existe pas un problème car c'est une documentation de l'université de Damascus University et j'ai télécharger le fichier dans le site officiel de l'université mais le problème je trouve pas le lien du pdf

    Bon journée

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 60
    Par défaut
    Bonjour à tous.
    Pour la documentation : merci d'avance.
    Ensuite pour lexx et yacc, je le redit, ça me fait plus penser à un nom de médicament qu'une quelconque méthode. Lexx & yacc en delphi : je ne me suis pas mis au delphi car je n'aipas trouvé de tutoriel. Je pense que je vais aller vers le C/C++ (rien de bien complexe), ou alors vers l'assembleur si ça tourne "mal" (et c'est vraiment l'envie qui m'en manque).
    Merci pour vos solution et vos futures réponses, et à bientôt.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Par défaut
    Bonjour

    Tu programme avec n'importe quel langage c'est pas un problème la méthode création d'un compilateur reste la même
    Et pour Lex et yacc sont des outils de génération d'analyseurs lexicaux (Lex) et syntaxiques (Yacc)
    j'espère que tu connais les notions de base de théorie de langage.
    enfin la taille de fichier est grand en attendant que ram-0000 trouve une solution ne perde pas le temps envoyer moi ton e-mail .
    Bonne courage

  7. #7
    Membre expérimenté
    Inscrit en
    Septembre 2006
    Messages
    414
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 414
    Par défaut
    Citation Envoyé par Crabe05 Voir le message
    ou alors vers l'assembleur si ça tourne "mal" (et c'est vraiment l'envie qui m'en manque).
    Merci pour vos solution et vos futures réponses, et à bientôt.
    tu sera obligé d'avoir un minimum de bases en asm...car, apres tout, ce que fais un compliateur c'est traduire un langage humainement comprehensible ver le langage machine (a.k.a assembleur)

    avant de te lancer dans tout ce qui est analyse lexical/syntaxique, je te conceil d'abord de prendre connaissance du fonctionnement global d'un compilo existant comme gcc par exemple:
    comment les arguments sont passés a une fonction, comment une fonction retourne une valeur , ou sont stockée variables globales, locales ou allouées...
    bref, ne te plonge pas directement dans du code, tu ne ferai que perdre ton temps.

    une fois que tu aura compris toutes ces notions, tu pourra commencer a decrire ton langage et enfin t'attaquer au code...

    mais ca demande du temps...beaucoup de temps...
    et sinon l'IDE ne fais pas partie du compilateur, c'est juste un éditeur de texte + coloration syntaxique + options = generalement usine à gaz.
    j'oubliais...il faut aussi connaitre le format d'un executable sous l'OS que tu utilisera comme cible...

    bon courage à toi en tout cas !

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Pourquoi en privé, fais en profiter le forum, s'il est vraiment bien ce PDF ou un peu trop gros et qu'il ne présente pas de problèmes de copyright, on trouveras peut être un moyen pour lui donner un peu plus de visibilité à ce document.
    Salut,
    Enfin j'ai trouvé une copie similaire sur google j'espère que je vais profiter le forum.

    Je vous donne le fichier PDF mais une remarque c'est pas la même version que j'ai utilisé malgré tout il est bien pour un débutant
    Télécharger PDF (à l'aide de se tutoriel j'ai réussi a faire mon mini compilateur)

    Bon courage

  9. #9
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 18
    Par défaut le lien du pdf ne marche plus =(
    s'il vous plait le lien ne marche plus remplacez par un lien qui marche.
    merci

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Février 2008
    Messages : 191
    Par défaut
    Bonjour,

    Citation Envoyé par lolo_momo Voir le message
    s'il vous plait le lien ne marche plus remplacez par un lien qui marche.
    merci
    Passe moi ton email en MP, je vais t'envoyer le PDF

  11. #11
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par Crabe05 Voir le message
    Bonjour à tous.
    ça fait un moment que je programme dans de multiples langage, et aimerais créer le mien. Voilà le problème : je sais absolument pas comment faire. Je ne sais pas comment programmer un traducteur [...]
    Il me semble vraiment que tu ne poses pas *du tout* la bonne question ! Quand on veut "créer" un nouveau langage, la question n'est pas de savoir si on va le compiler vers x86 ou vers la JVM et dans quel langage on va écrire le compilo !

    Les vraies questions sont plutôt :
    • Qu'est ce que je veux de particulier dans mon langage (est ce que ce sera un langage généraliste, un langage de manipulation de texte (à la perl), un langage de graphisme, un langage pour le web, ou que sais je encore) Va-t-il apporter quelque chose à l'existant ou est-ce juste pour le fun ?
    • Dans quelle grande famille de langage va-t-il se situer ? Un langage impératif, un langage objet, un langage fonctionnel ? Puis quelle sera la "philosophie" du langage ? Du 100% tout objet ? Du fonctionnel pur ? Du très bas niveau ? Un mix d'un peu tout ça ?
    • Est ce que je veux un langage typé ou non ? Si oui, quel genre de système de types ? Un truc faiblard à la C, un truc avancé à la Haskell/OCaml ? Si non, quel permissivité ? Tout accepter à la PHP ? Etre plus strict à la python/ruby ?
    • Il faut ensuite définir une syntaxe (pas forcément directement à la virgule et au mot clé près, mais au moins les grandes lignes, genre la structure des arbres de syntaxe abstraite)
    • Définir une sémantique de ton langage (si j'ai tel programme, que veut-il dire ? Comment va-t-il s'exécuter ?) Je ne dis pas qu'il faut le faire formellement, mais au moins s'en faire une bonne idée. Vérifier la cohérence !
    • Si tu as choisi d'avoir un langage typé, regarder l'algorithme de typage. Est ce de l'inférence, ou est ce qu'il faut que le programmeur annote tout son code ?

    Après seulement tu pourras fixer la syntaxe en écrivant un parseur, puis un typeur (si besoin est) et enfin un interpréteur (c'est un bon début avant de se lancer dans de la compilation...). Quand tu auras tout ça, tu pourras sans doute te demander si la compilation est une bonne idée. Mais c'est quand même un peu plus tard dans le cheminement intellectuel de la création de langage que vient vraiment se poser cette question

Discussions similaires

  1. [Bénévole] Projet Open Source (Java) dev's : création d'un langage de programmation
    Par izanagi1995 dans le forum Autres
    Réponses: 0
    Dernier message: 10/01/2014, 10h46
  2. [Questions]Le langage de programmation Binaire existe t-il ?
    Par Nasky dans le forum Langages de programmation
    Réponses: 30
    Dernier message: 16/11/2012, 09h09
  3. Qui a inventé le concept de "langage de programmation?
    Par Biane dans le forum Langages de programmation
    Réponses: 10
    Dernier message: 11/02/2004, 10h11
  4. Création d'un langage de programmation
    Par liquid_stone dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 09/11/2003, 16h44
  5. Nombre de langage de programmation total
    Par Adrael dans le forum Langages de programmation
    Réponses: 16
    Dernier message: 22/07/2003, 00h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo