begin process at 2012 02 12 13:48:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths & Algorithmes

 > UN PETIT INTERPRETE LISP

UN PETIT INTERPRETE LISP


 Information sur la source

Note :
Aucune note
Catégorie :Maths & Algorithmes Classé sous :interpreteur, lisp, structure, donnee Niveau :Initié Date de création :12/12/2006 Vu / téléchargé :5 665 / 378

Auteur : acx01b

Ecrire un message privé
Site perso
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

Vu que j'ai mis du temps à le faire et qu'il marche plutôt bien j'ai eu envie de le poster ici...

la compilation marche très bien sur toute les plateformes.
il y a aussi un Makefile pour les parresseux.
                                  ---------------
Il y a les principales fonctions pour apprendre les bases du Lisp, et un petit Garbage Collector qui marche bien.
          -------------------------------------------------- --------------------------------------------

                    --------> la structure de donnée: arbre en listes chainées <-----------

  un noeud est un objet, avec un car et un cdr, le car c'est descendre d'un niveau dans l'arbre, et le cdr c'est se déplacer vers la droite.
  le car et le cdr sont donc tous les deux fils de l'objet mais dans deux directions différentes.

                                      ***********
un objet peut aussi etre un symbole (chaine de caractère), dans ce cas il possède un pointeur vers sa pile de valeurs, une valeur c'est un morceau de l'arbre..

                                      ***********
** et enfin il y a aussi les int, les tableaux, les pointeurs vers fonctions C, et les fonctions Lisp, qui sont également des objets avec respectivement 1, 2, 1 et 2 valeurs attachées.


lisez le code pour mieux comprendre !


 Conclusion

remarque : on évalue d'abord une feuille de l'arbre tout en empilant les pointeurs vers les parents de cette feuille, puis on dépile lentement mais sûrement les pointeurs vers les parents en remplacement le car et le cdr des parents par l'évaluation des feuilles, ainsi les parent deviennent à leur tour des feuilles.

ainsi le ramasse miette devient très simple à écrire puisque tout ce qui n'est pas dans l'arbre ou dans la pile de valeurs d'un symbole ne peut être atteint et donc peut être supprimé

pour tester: tapez tout simplement (somme 4000) le fonction somme (des n premiers entiers) est déja écrite dans fstd.l

ha oui et dernière chose, je l'ai fait à partir d'une ébauche de quelqu'un d'autre trouvée sur Google:
  http://www.sonoma.edu/users/l/luvisi/sl3.c

merci à la personne qui l'a fait ça m'a quand même pas mal aidé pour le début

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec une capture OPENGL - JEU DE BILLARD EN 3D PAS FINI
Source avec Zip (WIN32) PARSER DU LANGAGE C AVEC YACC
Source avec Zip Source avec une capture BIEN EXPLIQUE: EXEMPLE DE RESEAU DE NEURONE
Source avec Zip OPENGL: CLASSE CAMERA QUI GÈRE LE GLULOOKAT
Source avec Zip Source avec une capture SCREENSAVER HYPNOTISEUR

 Sources de la même categorie

Source avec Zip UN EXAMPLE D'APPLICATION EN CUDA DE L'ALGORITHME DE SCAN POU... par oguzaras
Source avec Zip Source avec une capture CHIFFREMENT DE VIGENERE par lajouad
Source avec Zip Source avec une capture ANALYSE SYNTAXIQUE par lajouad
Source avec Zip Source avec une capture STRUCTURE D'UNE MATRICE PAR LES LISTE LINÉAIRE (NON CONTUGUS... par benzarabel
Source avec Zip Source avec une capture DESSINER UNE ARBRE BINAIRE( MODE CONSOLE): par benzarabel

 Sources en rapport avec celle ci

Source avec Zip JEU DES PETIT CHEVAUX par flamt
Source avec Zip STRUCTURE DES FICHIERS DBF par Stanel
Source avec Zip INTERPRETEUR BRAINFUCK par coucou747
ENSEMBLE DISJOINT par mehdi7604
FILE DE PRIORITÉ DYNAMIQUE par mehdi7604

Commentaires et avis

Commentaire de acx01b le 24/12/2006 00:41:23

Si vous lisez ou exécutez mon code laissez un petit commentaire je le lirai

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Structure de communication. [ par lektrosonic ] Bonsoir,je travaille sur un projet client-serveur. J'ai reflechi sur comment je vais envoyer les donnees entre les deux applications et j'ai etablit l besoin d'un tuto svp [ par mana ] j'ai besoin d'un tuto sur les structures mais expliqué le plus simplement possible. j'ai quelques livres et j'ai fait des recherches sur internet mais requete en base de donnee [ par lionjpl ] bonjour a tous. je suis en train de faire une applic en c# qui travaillera en liaison avec une base de donnees. j'aimerais envoyer un mail a certaines structure de données?? [ par debutant0c ] Salut, Je dois écrire un programme EN C qui permet de placer n taches sur m machines tel que une fois une tache terminée placer la tache suivante sur recuperation donnee d'un edit box [ par babe7 ] bonjour, j'ai commencé à programmer une interface graphique. j'ai creer ma fenetre de base sans problème. j'ai un problème lorsque je crée une editbo choix du structure des données [ par boualiasma ] Bonjour, Je vais refaire une grande partie de mon travail car j'ai mal choisi les structures des données car les accès fichiers sont plus coûteux. To Aide pour la realisation d'une structure de donnée [ par zinoking ] Bonjour à tous voila pour mon projet,j'aimerai faire une liste chainnée des arbres,c'est à dire chaque bulle contient le numero + un arbre binaire pa Définition structure [ par Willi ] Bonsoir, Que signifie la valeur qui suit les ':' d'un membre d'une structure ? (Voir ci-dessous) [code=cpp] typedef struct { ULONGLONG Member1:48; donnee type double [ par totoscill ] Bonjour, Je dois manipuler des données de type double mais je ne sais pas du tout comment est géré un type double (à part qu'il est codé sur 64 bit a


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,182 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales