Le langage SMS est exclu sur les forums ProgBoards, tout message ne respectant pas la charte sera déplacé, modifié, ou supprimé par nos modérateurs.

Forum Groupes de travail » FlexProject » [interpréteur] compilation avant éxécution

Freem
Modérateur
Citer Windows XP Firefox 1 - Posté le 24/12/2006 à 18:59
Je vient d'y penser, mais comment on va faire pour éxécuter les lignes unes a unes?
Le C++ ne permet pas de compiler ligne par ligne, il vas donc falloir trouver une méthode pour contourner cette difficulté...
Et on devra encore trouver le moyen de contourner le problème des compilateurs C++ différents qui n'acceptent pas tous les mêmes arguments en ligne de commande.
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin
Francesco
Modérateur
RemonterCiter Linux Mozilla 5 - Posté le 24/12/2006 à 19:28
Il n'y a pas de réel difficulté. Lorsqu'un fichier source sera "parsé", nous aurons une structure qui contiendra les informations contenu dans le fichier (ici, on déclare la variable truc de type entier, là on initialise truc à 0, etc...).

Il suffira donc de faire des fonctions qui permettrons de réaliser ce comportement...

Pour les compilateurs C++ qui ne prennent pas les mêmes options en ligne de commande, ce n'est pas très compliqué non plus, en utilisant le polymorphisme par exemple...

Faudra mettre 2 ou 3 info sur le wiki la dessus tient ^^
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
Freem
Modérateur
RemonterCiter Windows XP Firefox 1 - Posté le 26/12/2006 à 14:08
Il faudra bien compiler les fonctions, et si on active la compilation instantannée, il faudra compiler chaque ligne séparément... la compilation ne posera peut-être pas de problème, par contre, le linkage risque d'être assez chiant, non?
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin
Francesco
Modérateur
RemonterCiter Linux Mozilla 5 - Posté le 26/12/2006 à 14:16
Il n'est pas nécessaire de compiler pour pouvoir interpréter.

Arrete moi si je me trompe, mais j'ai l'impression que pour toi, l'interprétation, c'est une compilation instantanée. Ceci est faux. La compilation instantanée, aussi appelée compilation à la volée, est juste un moyen pour accélérer l'interprétation ! Mais ce n'est pas nécessaire.

Ensuite, pour le linkage, tout dépend du type de librairie :
- pour les librairies statiques : oui, ca va être chiant ^^
- pour les librairies dynamiques : non, puisqu'il est possible de charger dynamiquement une librairie dynamique, et plus particulièremen, les fonctions contenues dans une librairie dynamique.
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
Freem
Modérateur
RemonterCiter Windows XP Firefox 1 - Posté le 26/12/2006 à 16:57
Il n'est pas nécessaire de compiler pour pouvoir interpréter. => Ah? Je ne vois pas comment tu éxécutes le code source alors. Il faut quand même générer le code machine, même dans une compilation JIT.
La j'ai besoin qu'on m'explique, en tout cas.
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin
kod128
ProgBoarder
RemonterCiter Windows XP Firefox 2 - Posté le 26/12/2006 à 17:35
Pur l'API standard, il suffit de "binder" les appels de fonction : regarde par exemple lua!!
Ensuite pour les extentions utilisateur, si c'est une lib dynamique, on regarde si la fonction demandée est chargée en mémoire, puis on l'appelle si elle est la (sinon on passe une soufflante a l'utilisateur). Certe c'est chaud a programmer, mais c'est rapide et relativement fiable...
Francesco
Modérateur
RemonterCiter Linux Mozilla 5 - Posté le 26/12/2006 à 21:31
Freem, le code source n'est pas exécuté, mais interprété. C'est comme un émulateur si tu veux. Il faut certes utilisé du code machine, mais c'est celui ce l'interpréteur. Contrairement à la compilation où le code machine est généré.

Je te conseil de faire des recherches sur internet. Commence par exemple sur http://fr.wikipedia.org/wiki/Langage_interpr%C3%A9t%C3%A9
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
Freem
Modérateur
RemonterCiter Windows XP Firefox 1 - Posté le 26/12/2006 à 23:52
OK. Merci, je vais voir comment ca marche de plus près.
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin

Poster une réponse

STOP aux fautes volontaires !
Message
Formatage
Note: pour partager du code source, merci d'utiliser le wall !
Smileys (sourire) (yekyek) (clein d'oeil) (désapprouve) (triste) (cool) (langue) (confus) (gêné) (neutre) (eek) (surpris) (diable) (flèche) (exclamation) (question) (diable) (idée) (méchant)
Pseudonyme
Recopiez le code
v6 © Computaid SPRL 2005-2010 - Tous droits réservés - Hébergé par eTigris - Page générée en 0,020 s - Crédits - Stats
1 connecté