{ L e _ L i s p 6 8 K : le lanceur Pascal ******************************************* } program LELISP; const DFTMI = 0; { Par defaut: pas de Memoire d'Image } DFTSIZE = 3; { Par defaut: systeme Le_lisp a 24 k CONS } DEFEXT = 'LL'; { Extension par defaut des fichiers Le_Lisp } type STRNG = string[254]; STRNGPTR = @STRNG; EXT = packed array [0..1] of char; { File extension } var MI : integer; { Presence (ou non) de la MI } SIZE : integer; { Taille du segment a initialiser } STARTUP : STRNG; { Nom du fichier STARTUP } F1, F2, F3: text; { Les fichiers de Le_Lisp } { Le_Lisp soi-meme } procedure LLVSDOS (MI : integer; SIZE : integer; var STARTUP : STRNG; var F1, F2, F3 : text); forward; { Les autres petites merdes } function RMACLINE : STRNGPTR; forward; { Retourne la ligne de commande } function RMACAT : STRNGPTR; forward; { Retourne le catalogue par defaut } function OPENF (var F: text; var FILENAME : STRNG; E : EXT; MODE : integer) : integer; forward; { Ouvre un fichier } function CHECKF (var FILENAME : STRNG; E : EXT) : integer; forward; { Verifie l'existence d'un fichier } (**) { Decodage de la ligne de commande } (* La ligne de commande est supposee avoir le format LELISP {} avec: ::=