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

Python Discussion :

Nouveau langage en python (2)


Sujet :

Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Points : 5
    Points
    5
    Par défaut Nouveau langage en python (2)
    Bonjour.
    Je voudrais créer un nouveau language en python et C/C++.
    Je sais que j'ai deja poster a ce sujet ( voir titre du topic ), sa ma aider mais pas comme je le voulez donc je reposte
    pour demander de l'aide, voir meme faire un groupe pour avancer considerablement plus vite.
    Je sais que vous allez me conseiller Lex et Yacc, je ne prefere pas le utiliser pour des raisons divers comme par exemple :
    "le merite de programmer tout un language uniquement avec python et C/C++".Et je sais ce que vous allez dire :
    Tu n'as pas asser de connaissance, tu n'y arriveras pas etc...
    C'est pour ca que je demande de l'aide a des professionnels,c'est pous ca que je voudrais faire un goupe de programmeur, pour créer ce nouveau language.
    P.S: Voir Topic :"Nouveau Language en python" sur ce meme forum.

    Merci D'avance

  2. #2
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Houla !! Vaste sujet.

    Avant de te poser la question de savoir quels outils tu vas utiliser pour ton langage (python, lex, yacc, ...) il va falloir poser les bases du langage et ceci de manière manuscrite. Peu importe les matériaux utiliser si tu ne sais pas précisément ce que tu veux faire.

    Quel type de langage veux tu créer ? http://fr.wikipedia.org/wiki/Paradig...ogrammation%29, ou autre non listé ici.

    Comptes tu t'appuyer sur les spécifications d'un langage existant pour le modifier/l'améliorer ou tout créer de zéro ?

    Donc, avant de vouloir rassembler des personnes autour d'un projet, il me semble nécessaire que tu "jettes" les bases de ce projet de manière un peu plus précise.

    Si ton projet est innovant, aucun doute que tu trouveras des personnes intéressé à y participer, maus sûrement que tu auras plus de chance sur un forum anglophone qui toucheras automatiquement plus de monde.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Points : 5
    Points
    5
    Par défaut
    Efectivement tu as raison.
    Alors pour les objets il y a Python et C/C++ et se serai un language plutot orienté objet, simple mais complet.
    J'ai deja pensé a plusieurs fonctions de base pour le graphisme, les sockets, le web et autres comme par exemple voici une horloge miniature :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Add('LocalDev; LocalTime')
    Horloge = [
    open_windows(name="Horloge"; title = "Horloge")
    a = Horloge.zone(200px * 100px)
    a.background = color('blue')
    b = text.varial: 'LocalTime'
    b.color:'red'
    include('b' inside 'a')
    ]
    start:Horloge
    pour les commentaires je pense a sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /( Ca parait bien non )\
    L'importation des modules se fera comme sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Add("module en question")
    Pour exemple, je pense que ce code est suffisant. Tu vois a peu près le genre de language que je veut faire.

    Merci

  4. #4
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Non, c'est loin de donner une idée de ce que sera ton langage.

    Et d'autre part, les fonctionnalités que tu énumères ne font en rien parti du langage, mais plutôt des bibliothèques que ce langage supportera.

    Pour te donner une idée (bon courage), voilà ce à quoi pourrais ressembler les spécifications d'un langage.

    http://docs.python.org/reference/

    Un langage est composé à la base, d'un dictionnaire de mot clé, d'une grammaire, d'une syntaxe. C'est tout cela que tu dois définir. Tu remarqueras que dans le lien précédent, il n'est nulle part défini des notions comme le web, le graphisme, les sockets ou quoi que ce soit de tel.

    Même si pour un premier jet, tu n'iras pas aussi loin, il faut s'orienter vers ce genre de document.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Points : 5
    Points
    5
    Par défaut
    OK je vois mais c'est pour sa que je demande de l'aide a des professionnels.
    Alors étapes par étapes, que dois-je faire?
    Merci

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Points : 5
    Points
    5
    Par défaut
    J'ai eu une petite idée:
    Je vais au lieu de m'attaquer a un language complet tout de suite, créer un mini language avec 3 ou 4 fonction, exeption etc... mais mon probleme reside dans l'interpreteur, comment dois-je le faire ? Supposons que je créer une fonction qui ouvre un fenete toute simple (me suis pas foulé pour cet exemple ):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    from Tkinter import *
    def open_windows(name)
    root = Tk()
    root.title(name)
    root.mainloop()
    voila comment maintenant dois-je faire pour que ma fenetre l'interprete sans que python soit ouvert ou meme installé?
    Merci

  7. #7
    Membre confirmé
    Avatar de vincent.mbg
    Homme Profil pro
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Points : 618
    Points
    618
    Par défaut
    Si tu crées un langage, tu dois créer un compilateur qui va transformer ton langage en code machine.

    Je pense que c'est assez complexe et qu'il faut avoir des notions d'assembleurs.

    A moindre d'utiliser un compilateur C open source par exemple et de faire par dessus une couche qui transformera ton langage en C avant compilation. Je te laisse imaginer le temps de compilation...

    Ca peut être plus simple pour un langage interprété. Ou tu dois développer un interpréteur avec le langage de ton choix. Par exemple, un navigateur web interprète les balise HTML et les affiches. Un navigateur peut très bien être fait en Python comme en C.
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

  8. #8
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Et il faut aussi que tu penses à la grammaire de ton langage. Exemple en python une addition se définie de cette manière :

    en lisp c'est :

    C'est la même chose mais exprimé de manière différente. Donc 1ère étape définir cette grammaire.

    2ième étape, trouver ou écrire un outil qui analyse le code source de ton langage et vérifier que la syntaxe est correcte. Tu peux partir de zéro pour le faire, mais assez ardue comme travail ou tu peux te servir d'une bibliothèque python pour t'y aider. (ex : http://pyparsing.wikispaces.com/ )

    A partir du moment ou le parser à valider ta grammaire, tu dois donc, exécuter ce code. Le plus simple restant dans un premier temps, d'après moi, de faire un langage interprété. Mais passe déjà les 2 premières étapes et on reviendra à la suite plus tard !
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  9. #9
    Membre confirmé
    Avatar de MaliciaR
    Inscrit en
    Juillet 2008
    Messages
    513
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2008
    Messages : 513
    Points : 600
    Points
    600
    Par défaut
    Bonjour,

    J'ai une question un peu différente : ça servira à quoi ce nouveau langage? Autrement dit, quel objectif? En faire un pour savoir comment? Lui faire porter des fonctionnalités que les autres (lesquels?) n'ont pas?
    Le tact dans l'audace c'est de savoir jusqu'où on peut aller trop loin. Cocteau
    L'abjection la plus totale, ce n'est pas de trahir, c'est de ne jamais donner un commencement de réalité à ses rêves les plus fous. M. Moreau


    Les indispensables : Les règles, , FAQ et tutos avant de poster, et !
    Traduction de Linux Device Drivers 3 : venez participer
    membre de l'April - Promouvoir et défendre les logiciels libres

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Points : 5
    Points
    5
    Par défaut
    Alors oui il faut que je definisse ma syntaxe pour le calculs je pense a sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     (2 + 5 )
    (5 - 6)
    etc ...
    Ca passe non ?
    Mais comment dois-je la definir ?

Discussions similaires

  1. Nouveau langage de programmation : le langage G
    Par G-FACTION dans le forum Autres langages
    Réponses: 10
    Dernier message: 19/07/2009, 19h58
  2. Nouveau langage en python
    Par bossodo dans le forum Général Python
    Réponses: 11
    Dernier message: 17/07/2009, 10h27
  3. Nouveau langage WEB
    Par Wulfgard dans le forum Autres langages pour le Web
    Réponses: 4
    Dernier message: 27/06/2009, 13h03
  4. "Rentring" : est-ce un nouveau langage ?
    Par sergi_o dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 24/11/2006, 23h35
  5. Nouveau langage : le D
    Par cheick dans le forum D
    Réponses: 4
    Dernier message: 30/05/2004, 15h56

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