Inclure un compilateur dans un programme

Inclure un compilateur dans un programme - Divers - Programmation

Marsh Posté le 17-09-2013 à 19:01:52    

Bonjour ;)
 
Mon projet serait de développer d'un IDE un peu particulier : c'est à dire que l'utilisateur coderait dans un langage "custom" qui serait extrêmement proche du Français (possibilité de changer de langue ensuite). Celui-ci permettrait de plus de faire tout un bloc de commandes en une instruction. L’intérêt n°1 de cet IDE c'est que le code serait automatiquement généré dans plusieurs langages et donc qu'on pourrait coder en même temps en Français; C; C++;  
 
Le problème est que une fois dans le langage "intermédiaire" (C++; VB.NET ...) j'aurais besoin de compiler directement mon programme vers le binaire en vue de créer L'EXE ou Le DLL. Ne sachant pas créer de compilateur, savez vous si il existe un compilateur que je pourrais intégrer dans mon programme pour qu'au clic sur un bouton soit automatiquement généré mon programme ?
 
Je recrute d'ailleurs des personnes qui seraient intéressées par mon projet pour un développement en VB.NET sans prise de tête et dans la bonne ambiance. Si vous avez envie d'avoir plus d'informations à propos de ce projet, contactez moi sur mon skype (maxime-belair) où je vous pourrais vous informer plus précisément !  
:hello:

 
Bonne journée et merci pour votre aide :}

Reply

Marsh Posté le 17-09-2013 à 19:01:52   

Reply

Marsh Posté le 17-09-2013 à 19:48:26    

Salut, je suis un poil surpris de ta question,
Faut de sacrets bagages pour faire un truc pareil.
Tu peux peut-être regarder du côté de Lex et Yacc, je les connais de nom, ce sont deux outils pour générer un compilateur.
Mais pour compiler, il suffis d'appeler le compilateur.
C'est pas un interpréteur que tu veux faire ?

Reply

Marsh Posté le 17-09-2013 à 20:28:15    

Long c'est certain mais si difficile que ça je n'en suis pas si convaincu ==>
 
En gros , il faudrait  
 
-Créer la GUI
-Nommer les fonctions et les méthodes
-Trouver leur équivalents dans tout les langages souhaités ( commencer par un seul puis augmenter au fur et à mesure )
-Faire fonctionner les boutons
-Permettre d'inclure des ressources
-Mettre en place les effets visuels (coloration, sauts de lignes ...)
/!\-Ajouter le compilateur :( /!\
-Afficher une aide manuelle sur les erreurs
-Optimisation, amélioration et gestion des bugs
 
Je ne vois rien d'infaisable, mais rien de très court non plus :/ ... C est pour ça que j'ai demandé de l'aide ! ;)
 
"Mais pour compiler, il suffis d'appeler le compilateur."
Justement, c'est ça que je ne sais pas faire : Comment inclure un compilateur pour pouvoir transformer mon code en VB.NET par exemple vers du binaire ?

Reply

Marsh Posté le 17-09-2013 à 21:59:35    

Je sais pas si il existe des API pour les compilateur et encore moins pour VB.
Par contre je sais faire un appel système avec Ada.
Donc, en fait dans quel langage tu compte appeler le compilateur ?
 
edit : pardon : http://faq.vb.free.fr/index.php?question=7


Message édité par Profil supprimé le 17-09-2013 à 22:02:55
Reply

Marsh Posté le 17-09-2013 à 22:59:39    

Juste comme ça, comment tu comptes t'y prendre pour faire un langage qui soit traduisible en C/C++ sachant que le C ne contient aucune notion d'objets ?
 
Je vois pas l'intérêt de faire un langage qui permette d’englober plusieurs langages, si on choisi un langage c'est pour une raison particulière, un but / goût précis, après une fois compilé, peu importe le langage utilisé ça revient au même.
 
Et le coups de vouloir un logiciel qui te compile ça en un clic, ça montre (selon mon point de vue) que tu ne sais pas tellement comment se passe la compilation..
 
Bref, je pense que tu t'engages dans un truc assez gros sans que ça ait de réel intérêt. spamafote:


---------------
Perhaps you don't deserve to breathe
Reply

Marsh Posté le 18-09-2013 à 07:31:21    

c'ets as genre WinDev ton truc

Reply

Marsh Posté le 18-09-2013 à 10:04:13    

Joel F a écrit :

c'ets as genre WinDev ton truc


C'est exactement à Windev que j'ai pensé en lisant la description de son projet. SVP, pas une merde de plus dans le monde de la programmation :(
 
Je suis d'accord aussi avec Terminapor : quel est l'intérêt d'un tel langage ? Chaque langage a son champ (ou ses champs) d'application, une utilisation pour laquelle il est particulièrement adapté. Ex : PHP c'est très bien pour faire une appli web, mais pas pour faire de gros calculs, le C, c'est très bien pour faire de gros calculs, mais pas une appli web, pourtant, les 2 langages le permettent mais c'est juste que le PHP sera trop lent pour les gros calculs et coder une appli web en C, ça va être barbare :/
 
Par ailleurs, ce type de langage haut niveau ne permet généralement pas de faire des optimisations et tirer partie de l'efficacité du langage de dév. C'est un peut comme les éditeurs Wysiwyg style Dreamwaever : ça te génère du code bien pourri, non maintenable et non modifiable par un humain sans repasser par l'éditeur. Et si l'éditeur est buggé ou a des limitations, tu pourras pas faire certaines choses que tu pourrais normalement faire en passant direct par le lange de dév (ici, HTML/JS/CSS).
 
Enfin, faire un compilateur (dans ton cas, plutôt un traducteur d'un langage haut niveau vers un autre comme C, C++...), c'est très complexe (niveau ingénieur en info, et du bon ingé qui plus est !). Lis cet article pour voir ce qui t'attend : http://fr.wikipedia.org/wiki/Analyseur_LR
En plus, avec une langue naturelle (comme le Fr), bonjour pour lever les ambiguïtés :/
 
Conclusion, tu va galérer pour mettre au point un outil qui donnera au final des résultats pourris en termes de perfs et de code maintenable... par contre, le côté pédagogique du projet n'est pas inintéressant, tu vas apprendre pleins de trucs ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 18-09-2013 à 10:28:29    

rufo a écrit :

C'est exactement à Windev que j'ai pensé en lisant la description de son projet.

Pareil :D
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed