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

Discussion :

créer mon propre langage de programmation

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 21
    Points : 20
    Points
    20
    Par défaut créer mon propre langage de programmation
    Salut;

    Je suis un nouveau membre dans ce forum, et je suis un programmeur. Je veut savoir les techniques suivies lors de la création d'un langage de programmation. J'ai aussi quelques questions à poser:

    1- Comment débuter dans ce projet, et quelles sont toutes ses étapes?

    2- Quel est le langage de programmation qui peut m'aider à créer mon propre compilateur?

    3- Est qu'il est nécéssaire de créer d'autres instructions qui peut faciliter l'exécution des actions classiques d'une façon plus simple? (ex: je crois que la création d'un instruction "when .. do" facilitera la conception des threads limité, cela sans supprimer l'instruction de condition principale "if .. then").

    5- Je veut que l'exe généré par le compilateur soit protégé, donc est que la méthode de protéger un logiciel crée sous un envirenement de programmation existant est la même suivie lors de la compilation du programme?

    6- Je veut savoir la téchnique qui va rendre le programme généré par le compilateur inhackable , donc est ce qu'il est necéssaire de créer une nouvelle méthode de déclaration (qui n'existe pas dans autres langages de programmation) des variables et tout type de données virtuelles concernant le programme généré par le compilateur?

    J'espère bien que vos réponses seront claires et ne conduisent pas à d'autres choses. Et pour le facteur de temps, j'ai tout le temps pour réaliser cela car j'ai 14 ans seulement.

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Fue,
    Citation Envoyé par fethi_09dz Voir le message
    ...
    6- Je veut savoir la téchnique qui va rendre le programme généré par le compilateur inhackable , donc est ce qu'il est necéssaire de créer une nouvelle méthode de déclaration (qui n'existe pas dans autres langages de programmation) des variables et tout type de données virtuelles concernant le programme généré par le compilateur?
    Si c'est le but de ton compilateur, laisse tomber tout de suite : si un programme en vaut la peine, il sera craqué, quoi que tu puisses faire.
    Si les cons volaient, il ferait nuit à midi.

  3. #3
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Comme dit droggo, rien n'est inhackable (surtout que le mot n'existe pas). Ton programme finit forcément par aboutir à du code binaire, au moins en RAM, et ce code peut-être reconnu et modifié. La seule technique réellement efficace aujourd'hui, c'est lorsque le logiciel n'est pas sur l'ordinateur du client, mais sur un serveur auquel il n'a accès que de façon controlé.

    J'espère bien que vos réponses seront claires et ne conduisent pas à d'autres choses.
    Toi tu commences mal... Si tu crois que quelqu'un sur le forum va te donner en 2000 mots la méthode définitive et complète pour créer un langage de programmation, tu te fais pas mal d'illusions !!

    Il n'est pas très difficile de créer un premier langage interprété, pour une valeur particulière de "difficile" que tu n'as sans doute jamais rencontré à 14 ans. Cela exige néanmoins un minimum de compréhension des notions de syntaxe, de grammaire et de parser. Il faut au minimum une maitrise correcte de ton langage d'implémentation (pour lequel les langages fonctionnels sont plus que recommandés, OCaml par exemple fournit pas mal d'outils dans cette optique et facilite la tache).
    Tout ceci étant acquis, quelques heures suffisent pour obtenir un premier résultat.

    Créer un langage utilisable est plus difficile et requiert un minimum de réflexion et surtout de l'expérience avec plusieurs langages pour cerner les besoins. Créer un langage réellement utile... avec un compilateur un minimum efficace... On n'est plus dans le même monde point de vue difficulté de la tache.

    --
    Jedaï

  4. #4
    Membre confirmé Avatar de aziz jim
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 455
    Points : 567
    Points
    567
    Ce n'est qu'en forgeant qu'on devient forgeron.

  5. #5
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Quels genre de projets as-tu déjà fait? Par tes questions, je dirais que c'est au delà de tes capacités.

  6. #6
    Membre à l'essai
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par GnuVince Voir le message
    Quels genre de projets as-tu déjà fait? Par tes questions, je dirais que c'est au delà de tes capacités.
    ==>Pas de grandes choses , seulement un logiciel de gestion commerciale et une suite des outils de maintenance et accélération de windows, et quelques autres petits trucs , exemples: éditeur de texte, un créateur de fonds des dossiers windows.

  7. #7
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 256
    Points : 90
    Points
    90
    Par défaut
    pour espérer créer son propre langage :

    il faut maitrisé l'assembleur, langage c

    lire beacoup de livres qui parle de compilation

    mais c'est vraiment dur en plus les langage maitenant sont vraiment evolué

    on parle de technologie comme .net ou J2EE

    bon courage

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Le fait même qu'il pose la question montre qu'il n'en a pas les moyens,.

  9. #9
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par Garulfo Voir le message
    Le fait même qu'il pose la question montre qu'il n'en a pas les moyens,.
    +1


    Mais si tu veux des pistes, maîtriser le C et/ou l'Assembleur, faire éventuellement par le biais de Lex et Yacc au moins le compilateur et l'analyse syntaxique... sans compter une bonne étude sur la théorie des langages !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  10. #10
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Tiens, un peu de lecture, tant que tu n'auras pas compris 70% du cours, ça sera tendu pour commencer à faire un compilateur de langage simple (quoique des outils comme lex et yacc aide à ne pas avoir à comprendre comment sont implémentés les analyseurs lexicaux et syntaxiques) :

    Techniques et outils pour la compilation (PDF 456 Ko) : analyse lexicale, analyse syntaxique, analyse sémantique et production de code. Par Henri Garreta


    Compiler construction, theory and techniques of compiler constructions (PDF 597 Ko) Par Niklaus Wirth.

    En français, le livre là est pas mal : http://algo.developpez.com/livres/#L2100058878 mais coûte assez cher
    Un point intéressant dans le bouquin par rapport à d'autres cours est qu'ils expliquent comment faire des compilateurs pour d'autres paradigmes que le paradigmes impératifs (ici, logique, objet, fonctionnel) et il y a une introduction pour la génération du code sur des ordinateurs à plusieurs processeurs. Il y a également une introduction à la réalisation de garbage collector
    Je ne répondrai à aucune question technique en privé

  11. #11
    Membre averti

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    638
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 638
    Points : 408
    Points
    408
    Par défaut
    Un cours pour créer un petit compilateur Pascal.

  12. #12
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Je suis tombé dessus il y a deux jours, un livre sur Lex & Yacc: http://www.oreilly.fr/catalogue/2841774252
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  13. #13
    Membre à l'essai
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 21
    Points : 20
    Points
    20
    Par défaut Merci pour tous


    Merci pour tous les membres qui ont participer à cette discussion. Vraiment vos conseils m'ont donner la puissance de commencer . Et un jour (qui n'est pas loin) vous verrez la naissance d'un nouveau langage de programmation puissant et simple à prendre à main.

    Créer un nouveau langage de programmation est un de mes plus importants projets.

    Voila mes reponses pour tous:

    ==================================================
    Pour "droggo": C'est vrai ce que tu as dit, je le sais trés bien , mais il y a sûrement des limites pour les pirates, il ne peuvent pas cracké un logiciel s'il ne savent pas comment il est protégé, cela est possible seulement quand le developpeur lui même ne save pas la façon dont son programme est protégé par, mais une autre source qui sait cela. Essays de protéger ton programme avec et donner le pour in pirate que tu save. Si ce que je dit est vrai , je pouurai donc appliquer cette methode de protection sur les programmes générés par mon compilateur.
    Si tu veux savoir ce que je pense , si on peut verrouiller les adresses mémoire sensibles (reliées à la méthode de protection de logiciel) par un moyen ou un autre (comme un mot de passe) on poura bloquer la tête du hackeur . Mais moi je ne sais pas pour le moment est ce que c'est possible.
    Si tu as des commentaires envoyes les.

    Pour "jeadai": Peut être j'ai mal commencé, mais je te comprend maintenant (même si j'ai trouvé des conseils précieux). Le but de ce projet est d'approfondir en programmation.

    Pour "aziz jim": Merci , cela m'a encouragé.

    Pour "GnuVince": ==>Pas de grandes choses , seulement un logiciel de gestion commerciale et une suite des outils de maintenance et accélération de windows, et quelques autres petits trucs , exemples: éditeur de texte, un créateur de fonds des dossiers windows.

    Pour "adel.87": Je me débrouille trés avec le "C", mais l'assemebleur je vais l'étudier dans les vacances.

    Pour "Garulfo": Merci , et surtout pour le proverbe.

    Pour "Franck.H": Ta réponse sur cette discussion était ma clef principale pour commencer, merci.

    Pour "millie": merci pour les deux livres gratuits, il sont vraiment trés interessants. je les aimait surtout celui de "Niklaus Wirth".

    Pour "Neuromancien2": Merci pour le cour.
    ===============================================

    Maintenant je sais que j'ai choisi le bon forum.

    Merci une autre fois pour tous.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer mon propre Vertex Format
    Par Op_m90 dans le forum Moteurs 3D
    Réponses: 1
    Dernier message: 21/06/2010, 21h55
  2. [CSS 3] Créer mon propre CSS à partir d'une image
    Par Invit-é dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 27/07/2009, 10h50
  3. Créer mon propre TaskPane
    Par jojodu31 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 17/06/2008, 10h46
  4. [VB.NET] Créer mon propre programme d'installation
    Par Aspic dans le forum Visual Studio
    Réponses: 2
    Dernier message: 13/11/2006, 14h32
  5. Réponses: 4
    Dernier message: 13/08/2005, 10h20

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