LEX 'EDIT' * (c) Copyright PPC Paris 1986 ID 1 MSG 0 POLL 0 ENTRY EDITe CHAR 5 Non programmable KEY 'EDIT' Ecrase la fonction TOKEN 184 originelle. BSERR EQU #0939A COPYu EQU #08269 CRETF+ EQU #084C4 CURDVC EQU #0A60B CURRST EQU #2F55D EDIT80 EQU #0A5A5 EDITWF EQU #0A533 EOLCK EQU #02A7E FINDF+ EQU #09F63 FLDEVX EQU #01154 FSPECe EQU #02F02 FSPECp EQU #03CC5 FSPECx EQU #09F2D NXTSTM EQU #08A48 RDINFO EQU #0846B RESPTR EQU #03172 SALLOC EQU #0153B SVINFO EQU #0845A WRDSCN EQU #02C2A dCARD EQU #00007 eFSPEC EQU #0003A fBASIC EQU #0E214 lDATEh EQU #00006 lFILSV EQU #00032 lFLAGh EQU #00002 lFLENh EQU #00005 lFNAMh EQU #00010 lFTYPh EQU #00004 lTIMEh EQU #00004 oBSsod EQU #00011 oFLENh EQU #00020 sDEST EQU #00003 tCARD EQU #000D0 tEOL EQU #000F0 tKEYS EQU #000CF tTO EQU #000F3 ENDTXT REL(5) EDITP EDITe LC(5) lFILSV RÅserve 50 quartets P= 1 pour la SAVSTK GOSBVL SALLOC (= zone de sauvegarde) GOC jp INSUFFICENT MEMORY CPY010 D=0 W PÅriphÅrique initialisÅ LCASC ' ' CaractÉres 9 et 10 R0=C du nom du fichier ÅffacÅs A=DAT0 B Lit token suivant ************************************************** * COPY TO / COPY TO ... ************************************************** LC(2) tTO ?A#C B Token <> TO ? GOYES CPY030 D0=D0+ 2 Saute TO token ?ST=1 sDEST Destination ? GOYES CPY040 Analyse N2:P2 ************************************************** * * COPY TO ... * Pas de fichier source spÅcifiÅ * Prend le fichier et spÅcificateur courant * ************************************************** CPY020 GOSUB deffil N1:P1 <-- courant GONC CPY065 B.E.T. ************************************************** * * EDIT avec/sans paramÉtres / EDIT EOL * * Si Source * EDIT workfile * Sinon (CPY045) * N2:P2 <-- 0 * Si N1 pas en mÅmoire * Recopier N1 (CPY080) * EDIT N1 (edit80) * ************************************************** * CPY030 LCHEX F0 Token <> EOL ? ?A CPY080 * non -> ILLEGAL FILESPEC * EntrÅe: D[A] = :P2 * CPY80+ DSRC D[S]= type de P2 D=D+1 S P2 indÅfini ? GOC CPY080 MAIN par dÅfaut D=D+D S externe ? GONC CPY080 non LC(4) eFSPEC ILLEGAL FILE SPECIFIER CPYERX GOVLNG BSERR Basic Error deffil GOSBVL CURDVC Trouve pÅriphÅrique GOSBVL FLDEVX courant D1=(5) CURRST C=DAT1 A D1=C D1 @ sommet fichier courant A=DAT1 W A[W] <-- nom du fichier LCASC ' ' R0=C cf. CPY010 RTNCC tkysck A=DAT0 B LC(2) tKEYS ?A#C B RTNYES D0=D0+ 2 Saute token LCASC ' syek' D=0 S A=C W RTN * ******* ROUTINE DE PARSE ******* * EDITP GOSUB eolck+ GOC NAMEP7 GONC EDP10 B.E.T. RNMP05 ST=1 8 EDP10 GOSBVL FSPECp GONC RNMP25 GOVLNG FSPECe RNMP25 ?ST=1 8 GOYES LSTPDN GOSBVL WRDSCN CON(2) tTO REL(5) RNMP05 CON(2) 0 NAMEP7 GOVLNG RESPTR LSTPDN RTNCC eolck+ GOSBVL EOLCK RTNC GONC NAMEP7 B.E.T. END