; .EnTete "Programmer en Ceyx" "" "Annexe I: Le Kit de Distribution" ; .Annexe I "Le Kit de Distribution" ; .Auteur "Jean-Marie Hullot, Bertrand Serlet" (setq #:system:read-case-flag t) ; .Section "Installation" ; Vous venez de recevoir le kit de distribution Ceyx version 5. ; Vous devez avoir au minimum dans ce kit les fichiers suivants: ; ; \(bu \fBmake.ll\fR, c'est a` partir de ce fichier que sera ; engendre'e une image me'moire standard de Ceyx. C'est le fichier ; que vous e^tes en train de lire. ; ; Dans le cas d'une distribution \fIavec les sources\fR: ; ; \(bu \fBceyx.ll\fR, ce fichier contient tout le noyau de Ceyx, correspondant ; aux chapitres 1 et 2 du manuel. ; ; \(bu \fBcxcp.ll\fR, qui contient le pre'compilateur Ceyx de'crit au chapitre ; 3 du manuel. ; ; \(bu \fBceyxlib.ll\fR, qui contient la biliothe`que initiale Ceyx de'crite au ; chapitre 4. ; ; Dans le cas d'une distribution \fIsans les sources\fR: ; ; \(bu \fBceyx.ll\fR, qui regroupe les trois fichiers pre'ce'dents en format ; loader. ; ; ; ; Une distribution standard contient e'galement ge'ne'ralement les fichiers ; ; \(bu \fBdefrule.ll\fR, qui contient la construction defrule pour de'finir des ; re`gles (cf. chapitre 4). ; ; \(bu \fBdescribe.ll\fR, qui contient un certains nombres d'utilitaires ; de'finis au chapitre 1. ; ; \(bu \fBcoord.ll\fR, dans lequel sont range'es des structures de manipulations ; d'objets e'le'mentaires dans le plan carte'sien. Ce fichier est ; inclus in extenso dans l'annexe II. ; ; \(bu \fBunion.ll\fR, dans lequel nous de'finissons une structure d'ensembles ; ordonne's. Ce fichier est inclus in extenso dans l'annexe III. ; ; \(bu \fBleflip.ll\fR, imple'mentation du langage Flip. Ce fichier est ; inclus in extenso dans l'annexe IV. ; ; \(bu \fBstream.ll\fR, dans lequel sont de'finies des structures permettant ; de jouer avec les entre'es sorties. Ce fichier est inclus in extenso dans ; l'annexe V. ; ; \(bu \fBvprint.ll\fR, qui est le code du formatteur dont la documentation ; est donne'e dans le rapport \fI"Vprint, Le Composeur Ceyx"\fR. ; ; D'autres fichiers peuvent se trouver la`, regardez ce qu'ils font, ; ge'ne'ralement chaque fichier est auto-documente'. ; ; Avant toute chose, vous devez mettre dans la valeur de la variable ; #:Ceyx:directory, l'emplacement ou` vous voulez installer Ceyx ; sur votre machine. Il peut e^tre exprimer par rapport a` ; l'installation LeLisp. (defvar #:Ceyx:directory (catenate #:system:directory "ceyx/")) ; Ceci e'tant fait, vous n'avez plus qu'a`: ; ; \(bu appeler lelisp, ; ; \(bu charger le fichier make.ll par (load "make.ll"), ; ; \(bu appeler (make-ceyx). ; ; et ainsi une image me'moire de nom ceyx.core est construite. ; Notez que l'image me'moire construite ne contient ; que les fichiers de base ceyx.ll, ceyxlib.ll, cxcp.ll ; (ou seulement ceyx.ll qui contient les trois pour les ; distributions sans le source). Les autres ; peuvent e^tre charge's a` la demande avec la fonction ceyx-load. ; La fonction make-ceyx est de'finie ci-dessous: (de make-ceyx name (setq name (if (consp name) (car name) 'ceyx)) (print "Avant chargement : " (gc t)) (ceyx-load ceyx) (ceyx-load compat) (ceyx-autoload describe describe mdescribe tracesems help) (ceyx-autoload defrule defrule) (print "Avant compilation : " (gc t)) (cxcp) (print "Apres compilation : " (gc t)) (save-std name "Ceyx - Version 15.2")) ; .Section "Divers" ; Pour charger seulement une fois les fichiers de la librairie: (df ceyx-load args (mapc (lambda (x) (unless (get x 'ceyx-loaded) (print "Loading from Ceyx library " x) (loadfile (catenate #:Ceyx:directory x ".ll") t) (putprop x t 'ceyx-loaded))) args)) (df ceyx-autoload (file . symbs) (eval (mcons 'autoload (catenate #:Ceyx:directory file ".ll") symbs)))