-
2 pièce(s) jointe(s)
Les interpréteurs Lisp ?
Bonjour,
j'ai eu à faire un petit interpréteur Lisp en C pour la fac et j'aurais aimé avoir votre avis sur ce à quoi doit ressembler un bon interpréteur Lisp ?
si vous avez des conseils à me donner sur mon code ils seraient les bienvenus
ou bien sinon une adresse où il serait possible de voir le code d'un bon interpréteur, ou pourquoi pas d'un compilateur, par exemple une version minimale de CLisp et expliquée pas à pas... :-)
merci
voir piece jointe
Renaud
-
Salut,
à moins que par la suite tu aies des questions sur le comportement de telle ou telle fonction lisp, je te conseille plutôt de poster sur le forum C, vu que tu écris en C.
Sinon ton prof te l'autorise, jette un coup d'oeil aux outils Lex et Yacc qui facilitent grandement la tâche pour faire du parsing en C. (Je n'ai pas regardé ton code)
Bon courage
-
Bonjour,
ma question n'est pas forcément centrée sur le langage dans lequel est codé l'interpréteur mais plutôt sur la notion d'interpréteur Lisp (ou scheme car le noyau est à peu près indentique) et les techniques qui permettent d'en développer un qui soit performant
pour ce qui est de yacc et de lex vu le petit nombre de fonctions que je prends en charge je n'en ai pa besoin pour le moment, ce qui m'intéresse c'est plutôt le fonctionnement de la fonction eval, la nature de ce qu'elle prend en entrée et de ce qu'elle donne en sortie car la performance d'un interpréteur est basée essentiellement sur cette fonction !
salut
-
Lex et Yacc conviennent aussi pour des parsers simples.
Si tu veux savoir comment fonctionnent la fonction eval des différents interpréteurs et compilateurs, je pense que la meilleure façon est de regarder la doc de développement de ceux open-source et de lire le code.
Si ce n'est déjà fait, cherche et lit un peu de doc sur la théorie des langages et de la compilation, c'est un sujet de recherche qui a été abondamment traité.
-
merci pour ta réponse, j'ai en effet trouvé plusieurs liens intéressants,
mais serait-il possible puisque tu parais connaître un peu le sujet me conseiller un lien en particulier ?
(sous entendu qui contienne les notions importantes)
salut
-
yo,
si jamais t'es très intéressé sur le sujet ( aka au point de lacher des euros )
y'a un livre de "christian queinnec : les langages lisp"
a priori ceci http://paracamplus.com/Books/Cours/LiSP/4/extrait.pdf est un extrait de la prochaine réédition ( bien mise a jour je crois )
sinon y'a beaucoup de cours sur la théorie des langages et leur implantations ( evaluateur d un petit langage fonctionnel ) sur internet; par contre souvent c'est implanté en lisp ou scheme ou caml .. en C t'auras un petit peu plus de boulot a faire ( coté structures / allocations etc )
http://www.lix.polytechnique.fr/~dowek/tlp.html <= actuellement leur serveur a l'air HS mais j'ai lu les 9 cours y'a pas plus de 3 jours, j'espere que c'est juste temporaire.
peace
vive l'évaluation .. hem