Re: Unreadable: "Removing unused routines, almost done!"
- Posted by pampeano at ROCKETMAIL.COM Apr 23, 2001
- 379 views
--------------Boundary-00=_MS7924L0000000000000 --------------Boundary-00=_MS79XFP0000000000000 charset="iso-8859-1" I don't know what happened, the code is pasted here so I assume you will = now be able to read it, a few bugs were fixed by the way... Thanks for you interest in the project =3D) Best Regards, Guillermo Bonveh=ED AKA: Knixeur, Red Knight, Caballero Rojo The code is pasted below: -- THE FILE STARTS HERE -- Program Name: (No name yet) -- Author: Guillermo Boveh=ED (pampeano at rocketmail.com) -- Version: 6 -- Description: A program that almost removed the unused routines =3D). -- It doesn't work 100% right for now, you probably have to edit some -- little things in the generated file. include file.e include wildcard.e include sort.e constant BuiltIn =3D { "length", "puts", "integer", "sequence", "position", "object", "append", "prepend", "print", "printf",=20 "clear_screen", "floor", "getc", "gets", "get_key", "rand", "repeat", "atom", "compare", "find", "match", "time", "command_line", "open", "close", "trace", "getenv", "sqrt", "sin", "cos", "tan", "log", "system", "date", "remainder", "power", "machine_func", "machine_proc", "abort", "peek", "poke",=20 "call", "sprintf", "arctan", "and_bits", "or_bits", "xor_bits", "not_bits", "pixel", "get_pixel", "mem_copy", "mem_set", "c_proc", "c_func", "routine_id", "call_proc", "call_func",=20 "poke4", "peek4s", "peek4u"} -- Taken from David's Cuny Win32lib sequence cm cm =3D command_line() if length(cm) < 4 then puts(1,"Sintax: ex r6 input output") abort(1) end if atom out sequence Routines, UsedRoutines, Code, Matches, Separators, Includeds Routines =3D {} UsedRoutines =3D {} Code =3D {} Includeds =3D {} with trace Separators =3D {"(",")"," ","+","-","..","/","*","&","=3D","[","]",",","=3D= ","\"","<",">","{","}"} Matches =3D {"include ","procedure ","global procedure ","function ","glo= bal function "} atom logfn logfn =3D open("log","w") function removeSpaces(sequence text) while length(text) > 1 and text[1] =3D 32 do text =3D text[2..length(text)] end while while length(text) > 1 and text[length(text)] =3D 32 do text =3D text[1..length(text)-1] end while while length(text) > 1 and text[1] =3D 09 do text =3D text[2..length(text)] end while while length(text) > 1 and text[length(text)] =3D 09 do text =3D text[1..length(text)-1] end while return text end function function removeEnd(sequence text) if length(text) > 1 then while text[length(text)] =3D 10 or text[length(text)] =3D 13 do text =3D text[1..length(text)-1] end while end if return text end function procedure BuscarRutinas(sequence l) sequence sep, t integer temp, tf, tt, is, issep is =3D 2 issep =3D 0 t =3D reverse(l) while match("(",t) do trace(1) sep =3D {} temp =3D match("(",t) tt =3D match("\"",t) while tt !=3D 0 or is =3D 1 or is =3D 2 do t =3D t[tt+1..length(t)] tt =3D match("\"",t) if tt > 1 and t[tt-1] =3D 92 then t =3D t[tt+1..length(t)] end if if is =3D 0 then is =3D 1 elsif is =3D 1 then is =3D 0 elsif is =3D 2 then is =3D 1 end if tt =3D match("\"",t) end while temp =3D match("(",t) t =3D t[temp+1..length(t)] t =3D removeSpaces(t) for I =3D 1 to length(Separators) do sep =3D sep & match(Separators[I],t) end for sep =3D sort(sep) tf =3D 0 for I =3D 1 to length(sep) do if sep[I] !=3D 0 and length(t) > 1 then if length(removeSpaces(reverse(t[1..sep[I]-1]))) = =3D 1 then for S =3D 1 to length(Separators) do if match(removeSpaces(reverse(t[1..sep[I]-1])= ),Separators[S]) then issep =3D 1 end if end for end if if issep =3D 0 then puts(logfn,"Used routine: "&removeSpaces(reverse(= t[1..sep[I]-1]))&"\n") if not find(removeSpaces(reverse(t[1..sep[I]-1]))= ,UsedRoutines) then UsedRoutines =3D append(UsedRoutines,removeSp= aces(reverse(t[1..sep[I]-1]))) end if ------- t =3D t[sep[I]+1..length(t)] tf =3D 1 issep =3D 0 exit end if elsif sep[I] !=3D 0 and length(t) <=3D 1 then tf =3D 1 end if end for if tf =3D 0 then if length(removeSpaces(reverse(t[1..length(t)])))= =3D 1 then for S =3D 1 to length(Separators) do if match(removeSpaces(reverse(t[1..length(t)]= )),Separators[S]) then issep =3D 1 end if end for elsif length(removeSpaces(reverse(t[1..length(t)]= ))) =3D 0 then issep =3D 1 end if if issep =3D 0 then puts(logfn,"Used routine: "&removeSpaces(reverse(t[1.= =2Elength(t)]))&"\n") if not find(removeSpaces(reverse(t[1..length(t)])),Us= edRoutines) and not find(removeSpaces(reverse(t[1..length(t)])),BuiltIn) = then UsedRoutines =3D append(UsedRoutines,removeSpaces= (reverse(t[1..length(t)]))) end if issep =3D 0 end if end if end while trace(0) end procedure procedure checkFile(sequence file) object linea atom fn integer inc inc =3D 0 fn =3D open(file,"r") if fn =3D -1 then fn =3D open(getenv("EUDIR")&"\\include\\"&file,"r") if fn =3D -1 then puts(logfn,"No se encontr=F3 el archivo: "&getenv("EUDIR")&"\\inc= lude\\"&file) abort(1) end if end if while 1 do linea =3D gets(fn) if atom(linea) then exit end if linea =3D removeEnd(linea) trace(1) if wildcard_match(Matches[1]&"*",linea) then puts(logfn,"Including file: "&linea[match(Matches[1],linea)+lengt= h(Matches[1])..length(linea)]&"\n") for I =3D 1 to length(Includeds) do if equal(Includeds[I][1],linea[match(Matches[1],linea)+length(Mat= ches[1])..length(linea)]) then inc =3D 1 end if end for if inc =3D 0 then Includeds =3D append(Includeds,{}) Includeds[length(Includeds)] =3D append(Includeds[length(Included= s)],linea[match(Matches[1],linea)+length(Matches[1])..length(linea)]) checkFile(linea[match(Matches[1],linea)+length(Matches[1])..lengt= h(linea)]) end if elsif wildcard_match(Matches[2]&"*",linea) then --------- puts(logfn,"Appending: "&Matches[2]&linea[match(Matches[= 2],linea)+length(Matches[2])..length(linea)]&"\n") puts(logfn,"Appending: "&Matches[2]&linea[match(Matches[2],linea)= +length(Matches[2])..match("(",linea)-1]&"\n") --------- Routines =3D append(Routines,linea[match(Matches[2],line= a)+length(Matches[2])..length(linea)]) Routines =3D append(Routines,removeSpaces(linea[match(Matches[2],= linea)+length(Matches[2])..match("(",linea)-1])) Code =3D append(Code,{}) Code[length(Code)] =3D append(Code[length(Code)],linea) while not match("end "&Matches[2][1..length(Matches[2])-1],linea)= do linea =3D gets(fn) if atom(linea) then puts(logfn,"Error, expected to see: end "&Matches[2]) abort(1) end if linea =3D removeEnd(linea) BuscarRutinas(linea) Code[length(Code)] =3D append(Code[length(Code)],linea) end while elsif wildcard_match(Matches[3]&"*",linea) then --------- puts(logfn,"Appending: "&Matches[2]&linea[match(Matches[= 3],linea)+length(Matches[3])..length(linea)]&"\n") puts(logfn,"Appending: "&Matches[2]&linea[match(Matches[3],linea)= +length(Matches[3])..match("(",linea)-1]&"\n") --------- Routines =3D append(Routines,linea[match(Matches[3],line= a)+length(Matches[3])..length(linea)]) Routines =3D append(Routines,removeSpaces(linea[match(Matches[3],= linea)+length(Matches[3])..match("(",linea)-1])) Code =3D append(Code,{}) Code[length(Code)] =3D append(Code[length(Code)],linea) while not match("end "&Matches[2][1..length(Matches[2])-1],linea)= do linea =3D gets(fn) if atom(linea) then puts(logfn,"Error, expected to see: end "&Matches[2]) abort(1) end if linea =3D removeEnd(linea) BuscarRutinas(linea) Code[length(Code)] =3D append(Code[length(Code)],linea) end while elsif wildcard_match(Matches[4]&"*",linea) then --------- puts(logfn,"Appending: "&Matches[4]&linea[match(Matches[= 4],linea)+length(Matches[4])..length(linea)]&"\n") puts(logfn,"Appending: "&Matches[4]&linea[match(Matches[4],linea)= +length(Matches[4])..match("(",linea)-1]&"\n") --------- Routines =3D append(Routines,linea[match(Matches[3],line= a)+length(Matches[4])..length(linea)]) Routines =3D append(Routines,removeSpaces(linea[match(Matches[3],= linea)+length(Matches[4])..match("(",linea)-1])) Code =3D append(Code,{}) Code[length(Code)] =3D append(Code[length(Code)],linea) while not match("end "&Matches[4][1..length(Matches[4])-1],linea)= do linea =3D gets(fn) if atom(linea) then puts(logfn,"Error, expected to see: end "&Matches[4]) abort(1) end if linea =3D removeEnd(linea) BuscarRutinas(linea) Code[length(Code)] =3D append(Code[length(Code)],linea) end while elsif wildcard_match(Matches[5]&"*",linea) then --------- puts(logfn,"Appending: "&Matches[4]&linea[match(Matches[= 5],linea)+length(Matches[5])..length(linea)]&"\n") puts(logfn,"Appending: "&Matches[4]&linea[match(Matches[5],linea)= +length(Matches[5])..match("(",linea)-1]&"\n") --------- Routines =3D append(Routines,linea[match(Matches[5],line= a)+length(Matches[5])..length(linea)]) Routines =3D append(Routines,removeSpaces(linea[match(Matches[5],= linea)+length(Matches[5])..match("(",linea)-1])) Code =3D append(Code,{}) Code[length(Code)] =3D append(Code[length(Code)],linea) while not match("end "&Matches[4][1..length(Matches[4])-1],linea)= do linea =3D gets(fn) if atom(linea) then puts(logfn,"Error, expected to see: end "&Matches[4]) abort(1) end if linea =3D removeEnd(linea) BuscarRutinas(linea) Code[length(Code)] =3D append(Code[length(Code)],linea) end while else Routines =3D append(Routines,"-") Code =3D append(Code,{}) linea =3D removeEnd(linea) linea =3D removeSpaces(linea) BuscarRutinas(linea) Code[length(Code)] =3D append(Code[length(Code)],linea) end if trace(0) end while puts(logfn, "Closing file: "&file&"\n") ------------------- for I =3D 1 to length(Routines) do puts(logfn, "\n" & Routines[I]) end for ------------------- close(fn) end procedure checkFile(cm[3]) out =3D open(cm[4],"w") for I =3D 1 to length(Routines) do if equal("-",Routines[I]) then for S =3D 1 to length(Code[I]) do puts(out,Code[I][S]&"\n") end for else if find(Routines[I],UsedRoutines) then for S =3D 1 to length(Code[I]) do puts(out,Code[I][S]&"\n") end for end if end if end for -- END OF FILE -------Original Message------- From: rolf.schroeder at desy.de To: EUforum=20 Subject: Unreadable: "Removing unused routines, almost done!" > > pampeano at ROCKETMAIL.COM wrote: >=20 > Part 1.1.1.1 Type: Hypertext Markup Language (Text/HTML) > Encoding: quoted-printable >=20 > Name: r6.ex > r6.ex Type: Unknown/Unknown > Encoding: base64 Is it only my problem that I'm unable to open "Part 1.1.1.1" ? When I click this 'link' the browser (NS 4.77) opens a new window and the location is: "IMAP://ntmail.desy.de?fetch>UID>/INBOX>12530&part=3D1.1.1.1= " Do I have to change any preferences of my browser? Any idea or recommendation is appreciated! Have a nice day, Rolf =3D=3D^=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --------------Boundary-00=_MS79XFP0000000000000 Content-Type: Multipart/related; boundary="------------Boundary-00=_MS79SPT1VA4000000000" --------------Boundary-00=_MS79SPT1VA4000000000 Content-Type: Text/HTML; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <html> <head> <meta name=3D"GENERATOR" content=3D"IncrediMail 1.0"> </head> <BODY background=3D"" bgColor=3D#ffffff style=3D"BACKGROUND-POSITION: 0px= 0px; FONT-FAMILY: Arial" scroll=3Dyes ORGYPOS=3D"0"> <TABLE border=3D0 cellPadding=3D2 cellSpacing=3D0 id=3DINCREDIMAINTABLE w= idth=3D"100%"> <TBODY> <TR> <TD id=3DINCREDIHEADER width=3D"100%"></TD> </TR> <TR> <TD id=3DINCREDITEXTREGION width=3D"100%"> <DIV> <DIV>I don't know what happened, the code is pasted here so I assum= e you=20 will now be able to read it, a few bugs were fixed by the=20 way...</DIV> <DIV>Thanks for you interest in the project =3D)</DIV> <DIV> </DIV> <DIV> <DIV>Best Regards,</DIV> <DIV> Guillermo Bonveh=ED</DIV> <DIV> AKA: Knixeur, Red Knight, Cabal= lero=20 Rojo</DIV></DIV> <DIV> </DIV> <DIV>The code is pasted below:</DIV> <DIV> </DIV> <DIV> <DIV>-- THE FILE STARTS HERE</DIV> <DIV> </DIV> <DIV>-- Program Name: (No name yet)<BR>-- Author: Guillermo Boveh=ED= (<A=20 href=3D"mailto:pampeano at rocketmail.com">pampeano at rocketmail.com</A>= )<BR>--=20 Version: 6<BR>-- Description: A program that almost removed the unu= sed=20 routines =3D).<BR>-- It doesn't work 100% right for now, you probab= ly have=20 to edit some<BR>-- little things in the generated file.</DIV> <DIV><BR>include file.e<BR>include wildcard.e<BR>include sort.e</DI= V> <DIV>constant BuiltIn =3D {<BR> "length", "puts",= =20 "integer", "sequence", "position", "object",<BR> =20 "append", "prepend", "print", "printf", <BR> =20 "clear_screen", "floor", "getc", "gets", "get_key",<BR> = =20 "rand", "repeat", "atom", "compare", "find",=20 "match",<BR> "time", "command_line", "open", "clo= se",=20 "trace", "getenv",<BR> "sqrt", "sin", "cos", "tan= ",=20 "log", "system", "date", "remainder",<BR> "power"= ,=20 "machine_func", "machine_proc", "abort", "peek", "poke",=20 <BR> "call", "sprintf", "arctan", "and_bits", "or= _bits",=20 "xor_bits",<BR> "not_bits", "pixel", "get_pixel",= =20 "mem_copy", "mem_set",<BR> "c_proc", "c_func",=20 "routine_id", "call_proc", "call_func", <BR> "pok= e4",=20 "peek4s", "peek4u"} -- Taken from David's Cuny Win32lib</DIV> <DIV>sequence cm<BR>cm =3D command_line()<BR>if length(cm) < 4=20 then<BR> puts(1,"Sintax: ex r6 input=20 output")<BR> abort(1)<BR>end if</DIV> <DIV>atom out<BR>sequence Routines, UsedRoutines, Code, Matches,=20 Separators, Includeds</DIV> <DIV>Routines =3D {}<BR>UsedRoutines =3D {}<BR>Code =3D {}<BR>Inclu= deds =3D=20 {}</DIV> <DIV>with trace</DIV> <DIV>Separators =3D {"(",")","=20 ","+","-","..","/","*","&","=3D","[","]",",","=3D","\"","<",= ">","{","}"}<BR>Matches=20 =3D {"include ","procedure ","global procedure ","function ","globa= l=20 function "}</DIV> <DIV>atom logfn<BR>logfn =3D open("log","w")</DIV> <DIV>function removeSpaces(sequence text)<BR> whi= le=20 length(text) > 1 and text[1] =3D 32=20 do<BR> text =3D=20 text[2..length(text)]<BR> end=20 while<BR> while length(text) > 1 and=20 text[length(text)] =3D 32 =20 do<BR> text =3D=20 text[1..length(text)-1]<BR> end while</DIV> <DIV> while length(text) > 1 and text[1] =3D 0= 9=20 do<BR> text =3D=20 text[2..length(text)]<BR> end=20 while<BR> while length(text) > 1 and=20 text[length(text)] =3D 09 =20 do<BR> text =3D=20 text[1..length(text)-1]<BR> end while</DIV> <DIV> return text<BR>end function</DIV> <DIV>function removeEnd(sequence text)<BR> if=20 length(text) > 1 then<BR> while text[length(te= xt)] =3D=20 10 or text[length(text)] =3D 13=20 do<BR> text =3D=20 text[1..length(text)-1]<BR> end=20 while<BR> end if<BR> return=20 text<BR>end function</DIV> <DIV>procedure BuscarRutinas(sequence l)<BR> sequ= ence=20 sep, t<BR> integer temp, tf, tt, is,=20 issep<BR> is =3D 2<BR> issep =3D= =20 0<BR> t =3D=20 reverse(l)<BR>  = ; =20 while match("(",t)=20 do<BR> &= nbsp; =20 trace(1)<BR> &= nbsp; =20 sep =3D=20 {}<BR> &= nbsp; =20 temp =3D=20 match("(",t)<BR> &nb= sp; =20 tt =3D=20 match("\"",t)<BR> &n= bsp; =20 while tt !=3D 0 or is =3D 1 or is =3D 2=20 do<BR> &= nbsp; =20 t =3D=20 t[tt+1..length(t)]<BR> &nb= sp; &nbs= p; =20 tt =3D=20 match("\"",t)<BR> &n= bsp; &nb= sp; =20 if tt > 1 and t[tt-1] =3D 92=20 then<BR>  = ; = =20 t =3D=20 t[tt+1..length(t)]<BR> &nb= sp; &nbs= p; =20 end=20 if<BR> &= nbsp; =20 if is =3D 0 then is =3D=20 1<BR> &n= bsp; =20 elsif is =3D 1 then is =3D=20 0<BR> &n= bsp; =20 elsif is =3D 2 then is =3D=20 1<BR> &n= bsp; =20 end=20 if<BR> &= nbsp; =20 tt =3D=20 match("\"",t)<BR> &n= bsp; =20 end=20 while<BR> &nbs= p; =20 temp =3D=20 match("(",t)<BR> &nb= sp; =20 t =3D=20 t[temp+1..length(t)]<BR> &= nbsp; =20 t =3D=20 removeSpaces(t)<BR> = =20 for I =3D 1 to length(Separators)=20 do<BR> &= nbsp; =20 sep =3D sep &=20 match(Separators[I],t)<BR>  = ; =20 end=20 for<BR> = =20 sep =3D=20 sort(sep)<BR> = =20 tf =3D=20 0<BR> &n= bsp; =20 for I =3D 1 to length(sep)=20 do<BR> &= nbsp; =20 if sep[I] !=3D 0 and length(t) > 1=20 then<BR>  = ; = =20 if length(removeSpaces(reverse(t[1..sep[I]-1]))) =3D 1=20 then<BR>  = ; = =20 for S =3D 1 to length(Separators)=20 do<BR> &= nbsp; &n= bsp; =20 if match(removeSpaces(reverse(t[1..sep[I]-1])),Separators[S])=20 then<BR>  = ; = =20 issep =3D=20 1<BR> &n= bsp; &nb= sp; =20 end=20 if<BR> &= nbsp; &n= bsp;=20 end=20 for<BR> = &= nbsp;=20 end=20 if<BR> &= nbsp; &n= bsp;=20 if issep =3D 0=20 then<BR>  = ; = =20 puts(logfn,"Used routine:=20 "&removeSpaces(reverse(t[1..sep[I]-1]))&"\n")<BR> &nbs= p;  = ; =20 if not find(removeSpaces(reverse(t[1..sep[I]-1])),UsedRoutines)=20 then<BR>  = ; = =20 UsedRoutines =3D=20 append(UsedRoutines,removeSpaces(reverse(t[1..sep[I]-1])))<BR> = ; = =20 end if<BR> =20 ------- = =20 t =3D=20 t[sep[I]+1..length(t)]<BR>  = ; = =20 tf =3D=20 1<BR> &n= bsp; &nb= sp;=20 issep =3D=20 0<BR> &n= bsp; &nb= sp;=20 exit<BR>  = ; = =20 end=20 if<BR> &= nbsp; =20 elsif sep[I] !=3D 0 and length(t) <=3D 1=20 then<BR>  = ; = =20 tf =3D=20 1<BR> &n= bsp; =20 end=20 if<BR> &= nbsp; =20 end=20 for<BR> = =20 if tf =3D 0=20 then<BR>  = ; = =20 if length(removeSpaces(reverse(t[1..length(t)]))) =3D 1=20 then<BR>  = ; = =20 for S =3D 1 to length(Separators)=20 do<BR> &= nbsp; &n= bsp; =20 if match(removeSpaces(reverse(t[1..length(t)])),Separators[S])=20 then<BR>  = ; = =20 issep =3D=20 1<BR> &n= bsp; &nb= sp; =20 end=20 if<BR> &= nbsp; &n= bsp;=20 end=20 for<BR> = &= nbsp;=20 elsif length(removeSpaces(reverse(t[1..length(t)]))) =3D 0=20 then<BR>  = ; = =20 issep =3D=20 1<BR> &n= bsp; &nb= sp;=20 end=20 if<BR> &= nbsp; =20 if issep =3D 0=20 then<BR>  = ; =20 puts(logfn,"Used routine:=20 "&removeSpaces(reverse(t[1..length(t)]))&"\n")<BR> &nb= sp; &nbs= p; =20 if not find(removeSpaces(reverse(t[1..length(t)])),UsedRoutines) an= d not=20 find(removeSpaces(reverse(t[1..length(t)])),BuiltIn)=20 then<BR>  = ; = =20 UsedRoutines =3D=20 append(UsedRoutines,removeSpaces(reverse(t[1..length(t)])))<BR>&nbs= p;  = ; =20 end=20 if<BR> &= nbsp; =20 issep =3D=20 0<BR> &n= bsp; =20 end=20 if<BR> &= nbsp; =20 end=20 if<BR> &= nbsp;=20 end=20 while<BR> &nbs= p; =20 trace(0)<BR>end procedure</DIV> <DIV>procedure checkFile(sequence file)</DIV> <DIV>object linea<BR>atom fn<BR>integer inc<BR>inc =3D 0</DIV> <DIV>fn =3D open(file,"r")<BR>if fn =3D -1 then<BR> &nbs= p; fn =3D=20 open(getenv("EUDIR")&"\\include\\"&file,"r")<BR>  = ; =20 if fn =3D -1 then<BR> =20 puts(logfn,"No se encontr=F3 el archivo:=20 "&getenv("EUDIR")&"\\include\\"&file)<BR> &n= bsp; =20 abort(1)<BR> end if<BR>end if<BR>while 1=20 do<BR> linea =3D gets(fn)<BR> i= f=20 atom(linea) then<BR> =20 exit<BR> end if<BR> linea =3D=20 removeEnd(linea)<BR> trace(1)<BR> &nbs= p; if=20 wildcard_match(Matches[1]&"*",linea)=20 then<BR> puts(logfn,"Incl= uding=20 file:=20 "&linea[match(Matches[1],linea)+length(Matches[1])..length(line= a)]&"\n")<BR> =20 for I =3D 1 to length(Includeds)=20 do<BR> if=20 equal(Includeds[I][1],linea[match(Matches[1],linea)+length(Matches[= 1])..length(linea)])=20 then<BR>  = ; =20 inc =3D 1<BR> end=20 if<BR> end=20 for<BR> if inc =3D 0=20 then<BR> Includeds =3D=20 append(Includeds,{})<BR> =20 Includeds[length(Includeds)] =3D=20 append(Includeds[length(Includeds)],linea[match(Matches[1],linea)+l= ength(Matches[1])..length(linea)])<BR>  = ; =20 checkFile(linea[match(Matches[1],linea)+length(Matches[1])..length(= linea)])<BR> =20 end if</DIV> <DIV> elsif wildcard_match(Matches[2]&"*",lin= ea)=20 then<BR>--------- =20 puts(logfn,"Appending:=20 "&Matches[2]&linea[match(Matches[2],linea)+length(Matches[2= ])..length(linea)]&"\n")<BR>  = ;=20 puts(logfn,"Appending:=20 "&Matches[2]&linea[match(Matches[2],linea)+length(Matches[2= ])..match("(",linea)-1]&"\n")<BR>--------- &nb= sp; =20 Routines =3D=20 append(Routines,linea[match(Matches[2],linea)+length(Matches[2])..l= ength(linea)])<BR> =20 Routines =3D=20 append(Routines,removeSpaces(linea[match(Matches[2],linea)+length(M= atches[2])..match("(",linea)-1]))<BR> = =20 Code =3D append(Code,{})<BR> &nb= sp;=20 Code[length(Code)] =3D append(Code[length(Code)],linea)</DIV> <DIV> while not match("en= d=20 "&Matches[2][1..length(Matches[2])-1],linea)=20 do<BR> &= nbsp;=20 linea =3D=20 gets(fn)<BR> &= nbsp; =20 if atom(linea)=20 then<BR>  = ; =20 puts(logfn,"Error, expected to see: end=20 "&Matches[2])<BR> &nbs= p; =20 abort(1)<BR> &= nbsp; =20 end=20 if<BR> &= nbsp;=20 linea =3D removeEnd(linea)</DIV> <DIV> &n= bsp;=20 BuscarRutinas(linea)</DIV> <DIV> &n= bsp;=20 Code[length(Code)] =3D=20 append(Code[length(Code)],linea)<BR> &= nbsp; =20 end while</DIV> <DIV> elsif wildcard_match(Matches[3]&"*",lin= ea)=20 then<BR>--------- =20 puts(logfn,"Appending:=20 "&Matches[2]&linea[match(Matches[3],linea)+length(Matches[3= ])..length(linea)]&"\n")<BR>  = ;=20 puts(logfn,"Appending:=20 "&Matches[2]&linea[match(Matches[3],linea)+length(Matches[3= ])..match("(",linea)-1]&"\n")<BR>--------- &nb= sp; =20 Routines =3D=20 append(Routines,linea[match(Matches[3],linea)+length(Matches[3])..l= ength(linea)])<BR> =20 Routines =3D=20 append(Routines,removeSpaces(linea[match(Matches[3],linea)+length(M= atches[3])..match("(",linea)-1]))<BR> = =20 Code =3D append(Code,{})<BR> &nb= sp;=20 Code[length(Code)] =3D append(Code[length(Code)],linea)</DIV> <DIV> while not match("en= d=20 "&Matches[2][1..length(Matches[2])-1],linea)=20 do<BR> &= nbsp;=20 linea =3D=20 gets(fn)<BR> &= nbsp; =20 if atom(linea)=20 then<BR>  = ; =20 puts(logfn,"Error, expected to see: end=20 "&Matches[2])<BR> &nbs= p; =20 abort(1)<BR> &= nbsp; =20 end=20 if<BR> &= nbsp;=20 linea =3D removeEnd(linea)</DIV> <DIV> &n= bsp;=20 BuscarRutinas(linea)</DIV> <DIV> &n= bsp;=20 Code[length(Code)] =3D=20 append(Code[length(Code)],linea)<BR> &= nbsp; =20 end while</DIV> <DIV> elsif wildcard_match(Matches[4]&"*",lin= ea)=20 then<BR>--------- =20 puts(logfn,"Appending:=20 "&Matches[4]&linea[match(Matches[4],linea)+length(Matches[4= ])..length(linea)]&"\n")<BR>  = ;=20 puts(logfn,"Appending:=20 "&Matches[4]&linea[match(Matches[4],linea)+length(Matches[4= ])..match("(",linea)-1]&"\n")<BR>--------- &nb= sp; =20 Routines =3D=20 append(Routines,linea[match(Matches[3],linea)+length(Matches[4])..l= ength(linea)])<BR> =20 Routines =3D=20 append(Routines,removeSpaces(linea[match(Matches[3],linea)+length(M= atches[4])..match("(",linea)-1]))<BR> = =20 Code =3D append(Code,{})<BR> &nb= sp;=20 Code[length(Code)] =3D append(Code[length(Code)],linea)</DIV> <DIV> while not match("en= d=20 "&Matches[4][1..length(Matches[4])-1],linea)=20 do<BR> &= nbsp;=20 linea =3D=20 gets(fn)<BR> &= nbsp; =20 if atom(linea)=20 then<BR>  = ; =20 puts(logfn,"Error, expected to see: end=20 "&Matches[4])<BR> &nbs= p; =20 abort(1)<BR> &= nbsp; =20 end=20 if<BR> &= nbsp;=20 linea =3D removeEnd(linea)</DIV> <DIV> &n= bsp;=20 BuscarRutinas(linea)</DIV> <DIV> &n= bsp;=20 Code[length(Code)] =3D=20 append(Code[length(Code)],linea)<BR> &= nbsp; =20 end while</DIV> <DIV> elsif wildcard_match(Matches[5]&"*",lin= ea)=20 then<BR>--------- =20 puts(logfn,"Appending:=20 "&Matches[4]&linea[match(Matches[5],linea)+length(Matches[5= ])..length(linea)]&"\n")<BR>  = ;=20 puts(logfn,"Appending:=20 "&Matches[4]&linea[match(Matches[5],linea)+length(Matches[5= ])..match("(",linea)-1]&"\n")<BR>--------- &nb= sp; =20 Routines =3D=20 append(Routines,linea[match(Matches[5],linea)+length(Matches[5])..l= ength(linea)])<BR> =20 Routines =3D=20 append(Routines,removeSpaces(linea[match(Matches[5],linea)+length(M= atches[5])..match("(",linea)-1]))<BR> = =20 Code =3D append(Code,{})<BR> &nb= sp;=20 Code[length(Code)] =3D append(Code[length(Code)],linea)</DIV> <DIV> while not match("en= d=20 "&Matches[4][1..length(Matches[4])-1],linea)=20 do<BR> &= nbsp;=20 linea =3D=20 gets(fn)<BR> &= nbsp; =20 if atom(linea)=20 then<BR>  = ; =20 puts(logfn,"Error, expected to see: end=20 "&Matches[4])<BR> &nbs= p; =20 abort(1)<BR> &= nbsp; =20 end=20 if<BR> &= nbsp;=20 linea =3D removeEnd(linea)</DIV> <DIV> &n= bsp;=20 BuscarRutinas(linea)</DIV> <DIV> &n= bsp;=20 Code[length(Code)] =3D=20 append(Code[length(Code)],linea)<BR> &= nbsp; =20 end while<BR> =20 else<BR> Routines =3D=20 append(Routines,"-")<BR> = Code =3D=20 append(Code,{})<BR> linea= =3D=20 removeEnd(linea)<BR> line= a =3D=20 removeSpaces(linea)<BR> =20 BuscarRutinas(linea)<BR> =20 Code[length(Code)] =3D=20 append(Code[length(Code)],linea)<BR> end=20 if<BR> trace(0)<BR>end while<BR>puts(logfn, "Closing fi= le:=20 "&file&"\n")<BR>-------------------<BR>for I =3D 1 to=20 length(Routines) do<BR> puts(logfn, "\n" &=20 Routines[I])<BR>end for<BR>-------------------<BR>close(fn)<BR>end=20 procedure</DIV> <DIV>checkFile(cm[3])</DIV> <DIV>out =3D open(cm[4],"w")<BR>for I =3D 1 to length(Routines)=20 do<BR> if equal("-",Routines[I])=20 then<BR> for S =3D 1 to=20 length(Code[I])=20 do<BR> &= nbsp;=20 puts(out,Code[I][S]&"\n")<BR> &nbs= p; =20 end for<BR> =20 else<BR> if=20 find(Routines[I],UsedRoutines)=20 then<BR> for S =3D 1 to=20 length(Code[I])=20 do<BR> &= nbsp;=20 puts(out,Code[I][S]&"\n")<BR> &nbs= p; =20 end for<BR> end=20 if<BR> end if<BR>end for<BR></DIV> <DIV> </DIV> <DIV>-- END OF FILE</DIV> <DIV> </DIV> <DIV> </DIV></DIV></DIV> <DIV> </DIV> <DIV><I>-------Original Message-------</I></DIV> <DIV> </DIV> <DIV> </DIV> <DIV dir=3Dltr id=3Dfromshowfield><U><I>From:</I></U><B>=20 rolf.schroeder at desy.de</B></DIV> <DIV dir=3Dltr id=3Dtoshowfield><U><I>To:</I></U><B> EUforum=20 <EUFORUM at TOPICA.COM></B></DIV> <DIV dir=3Dltr id=3Dsubjectshowfield><U><I>Subject:</I></U><B> Unre= adable:=20 "Removing unused routines, almost=20 done!"</B></DIV><BR>  = ; =20 Encoding: quoted-printable<BR>>=20 <BR>>  = ; =20 Name: r6.ex<BR>> r6.ex Type:= =20 Unknown/Unknown<BR>> &n= bsp;=20 Encoding: base64<BR><BR>Is it only my problem that I'm unable to op= en=20 "Part 1.1.1.1" ? When I<BR>click this 'link' the browser (NS 4.77) = opens a=20 new window and the<BR>location is:=20 "IMAP://ntmail.desy.de?fetch>UID>/INBOX>12530&part=3D1= =2E1.1.1"<BR>Do=20 I have to change any preferences of my browser? Any idea=20 or<BR>recommendation is appreciated!<BR><BR>Have a nice day,=20 Rolf<BR><BR><BR>=3D=3D^=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =20 =09<TR> =09<TD width=3D"100%"></TD> =09<TD align=3Dmiddle id=3DINCREDISOUND vAlign=3Dbottom></TD> =09<TD align=3Dmiddle id=3DINCREDIANIM vAlign=3Dbottom></TD> =09</TR> =09</TBODY> =09</TABLE> </TD> </TR> </TBODY> </TABLE><SPAN=20 id=3DIncrediStamp><FONT face=3D"Arial, Helvetica, sans-serif"=20 --------------Boundary-00=_MS79SPT1VA4000000000-- --------------Boundary-00=_MS79XFP0000000000000-- --------------Boundary-00=_MS7924L0000000000000-- >