Re: Unreadable: "Removing unused routines, almost done!"

new topic     » goto parent     » topic index » view thread      » older message » newer message

--------------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&nbsp;by the=20
way...</DIV>
      <DIV>Thanks for you interest in the project =3D)</DIV>
      <DIV>&nbsp;</DIV>
      <DIV>
      <DIV>Best Regards,</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Guillermo Bonveh=ED</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AKA: Knixeur, Red Knight, Cabal=
lero=20
      Rojo</DIV></DIV>
      <DIV>&nbsp;</DIV>
      <DIV>The code is pasted below:</DIV>
      <DIV>&nbsp;</DIV>
      <DIV>
      <DIV>-- THE FILE STARTS HERE</DIV>
      <DIV>&nbsp;</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>&nbsp;&nbsp;&nbsp; "length", "puts",=
=20
      "integer", "sequence", "position", "object",<BR>&nbsp;&nbsp;&nbsp;=20
      "append", "prepend", "print", "printf", <BR>&nbsp;&nbsp;&nbsp;=20
      "clear_screen", "floor", "getc", "gets", "get_key",<BR>&nbsp;&nbsp;=
&nbsp;=20
      "rand", "repeat", "atom", "compare", "find",=20
      "match",<BR>&nbsp;&nbsp;&nbsp; "time", "command_line", "open", "clo=
se",=20
      "trace", "getenv",<BR>&nbsp;&nbsp;&nbsp; "sqrt", "sin", "cos", "tan=
",=20
      "log", "system", "date", "remainder",<BR>&nbsp;&nbsp;&nbsp; "power"=
,=20
      "machine_func", "machine_proc", "abort", "peek", "poke",=20
      <BR>&nbsp;&nbsp;&nbsp; "call", "sprintf", "arctan", "and_bits", "or=
_bits",=20
      "xor_bits",<BR>&nbsp;&nbsp;&nbsp; "not_bits", "pixel", "get_pixel",=
=20
      "mem_copy", "mem_set",<BR>&nbsp;&nbsp;&nbsp; "c_proc", "c_func",=20
      "routine_id", "call_proc", "call_func", <BR>&nbsp;&nbsp;&nbsp; "pok=
e4",=20
      "peek4s", "peek4u"} -- Taken from David's Cuny Win32lib</DIV>
      <DIV>sequence cm<BR>cm =3D command_line()<BR>if length(cm) &lt; 4=20
      then<BR>&nbsp;&nbsp;&nbsp; puts(1,"Sintax: ex r6 input=20
      output")<BR>&nbsp;&nbsp;&nbsp; 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
      ","+","-","..","/","*","&amp;","=3D","[","]",",","=3D","\"","&lt;",=
"&gt;","{","}"}<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>&nbsp;&nbsp;&nbsp; whi=
le=20
      length(text) &gt; 1 and text[1] =3D 32=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text =3D=20
      text[2..length(text)]<BR>&nbsp;&nbsp;&nbsp; end=20
      while<BR>&nbsp;&nbsp;&nbsp; while length(text) &gt; 1 and=20
      text[length(text)] =3D 32&nbsp;=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text =3D=20
      text[1..length(text)-1]<BR>&nbsp;&nbsp;&nbsp; end while</DIV>
      <DIV>&nbsp;&nbsp;&nbsp; while length(text) &gt; 1 and text[1] =3D 0=
9=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text =3D=20
      text[2..length(text)]<BR>&nbsp;&nbsp;&nbsp; end=20
      while<BR>&nbsp;&nbsp;&nbsp; while length(text) &gt; 1 and=20
      text[length(text)] =3D 09&nbsp;=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text =3D=20
      text[1..length(text)-1]<BR>&nbsp;&nbsp;&nbsp; end while</DIV>
      <DIV>&nbsp;&nbsp;&nbsp; return text<BR>end function</DIV>
      <DIV>function removeEnd(sequence text)<BR>&nbsp;&nbsp;&nbsp; if=20
      length(text) &gt; 1 then<BR>&nbsp;&nbsp;&nbsp; while text[length(te=
xt)] =3D=20
      10 or text[length(text)] =3D 13=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text =3D=20
      text[1..length(text)-1]<BR>&nbsp;&nbsp;&nbsp; end=20
      while<BR>&nbsp;&nbsp;&nbsp; end if<BR>&nbsp;&nbsp;&nbsp; return=20
      text<BR>end function</DIV>
      <DIV>procedure BuscarRutinas(sequence l)<BR>&nbsp;&nbsp;&nbsp; sequ=
ence=20
      sep, t<BR>&nbsp;&nbsp;&nbsp; integer temp, tf, tt, is,=20
      issep<BR>&nbsp;&nbsp;&nbsp; is =3D 2<BR>&nbsp;&nbsp;&nbsp; issep =3D=
=20
      0<BR>&nbsp;&nbsp;&nbsp; t =3D=20
      reverse(l)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;=20
      while match("(",t)=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      trace(1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      sep =3D=20
      {}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      temp =3D=20
      match("(",t)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      tt =3D=20
      match("\"",t)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      while tt !=3D 0 or is =3D 1 or is =3D 2=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      t =3D=20
      t[tt+1..length(t)]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;=20
      tt =3D=20
      match("\"",t)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;=20
      if tt &gt; 1 and t[tt-1] =3D 92=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;=20
      t =3D=20
      t[tt+1..length(t)]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      if is =3D 0 then is =3D=20
      1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      elsif is =3D 1 then is =3D=20
      0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      elsif is =3D 2 then is =3D=20
      1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      tt =3D=20
      match("\"",t)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      end=20
      while<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      temp =3D=20
      match("(",t)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      t =3D=20
      t[temp+1..length(t)]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      t =3D=20
      removeSpaces(t)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      for I =3D 1 to length(Separators)=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      sep =3D sep &amp;=20
      match(Separators[I],t)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      end=20
      for<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      sep =3D=20
      sort(sep)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      tf =3D=20
      0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      for I =3D 1 to length(sep)=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      if sep[I] !=3D 0 and length(t) &gt; 1=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
      if length(removeSpaces(reverse(t[1..sep[I]-1]))) =3D 1=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
      for S =3D 1 to length(Separators)=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      if match(removeSpaces(reverse(t[1..sep[I]-1])),Separators[S])=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      issep =3D=20
      1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;=20
      end=20
      for<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;=20
      if issep =3D 0=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
      puts(logfn,"Used routine:=20
      "&amp;removeSpaces(reverse(t[1..sep[I]-1]))&amp;"\n")<BR>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      if not find(removeSpaces(reverse(t[1..sep[I]-1])),UsedRoutines)=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      UsedRoutines =3D=20
      append(UsedRoutines,removeSpaces(reverse(t[1..sep[I]-1])))<BR>&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      end if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      -------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;=20
      t =3D=20
      t[sep[I]+1..length(t)]<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;=20
      tf =3D=20
      1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
      issep =3D=20
      0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
      exit<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      elsif sep[I] !=3D 0 and length(t) &lt;=3D 1=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
      tf =3D=20
      1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      end=20
      for<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      if tf =3D 0=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
      if length(removeSpaces(reverse(t[1..length(t)]))) =3D 1=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
      for S =3D 1 to length(Separators)=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      if match(removeSpaces(reverse(t[1..length(t)])),Separators[S])=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      issep =3D=20
      1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;=20
      end=20
      for<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      elsif length(removeSpaces(reverse(t[1..length(t)]))) =3D 0=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      issep =3D=20
      1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      if issep =3D 0=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      puts(logfn,"Used routine:=20
      "&amp;removeSpaces(reverse(t[1..length(t)]))&amp;"\n")<BR>&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
      UsedRoutines =3D=20
      append(UsedRoutines,removeSpaces(reverse(t[1..length(t)])))<BR>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      issep =3D=20
      0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      end=20
      while<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;=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>&nbsp;&nbsp;&nbs=
p; fn =3D=20
      open(getenv("EUDIR")&amp;"\\include\\"&amp;file,"r")<BR>&nbsp;&nbsp=
;&nbsp;=20
      if fn =3D -1 then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      puts(logfn,"No se encontr=F3 el archivo:=20
      "&amp;getenv("EUDIR")&amp;"\\include\\"&amp;file)<BR>&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      abort(1)<BR>&nbsp;&nbsp;&nbsp; end if<BR>end if<BR>while 1=20
      do<BR>&nbsp;&nbsp;&nbsp; linea =3D gets(fn)<BR>&nbsp;&nbsp;&nbsp; i=
f=20
      atom(linea) then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      exit<BR>&nbsp;&nbsp;&nbsp; end if<BR>&nbsp;&nbsp;&nbsp; linea =3D=20
      removeEnd(linea)<BR>&nbsp;&nbsp;&nbsp; trace(1)<BR>&nbsp;&nbsp;&nbs=
p; if=20
      wildcard_match(Matches[1]&amp;"*",linea)=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; puts(logfn,"Incl=
uding=20
      file:=20
      "&amp;linea[match(Matches[1],linea)+length(Matches[1])..length(line=
a)]&amp;"\n")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      for I =3D 1 to length(Includeds)=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if=20
      equal(Includeds[I][1],linea[match(Matches[1],linea)+length(Matches[=
1])..length(linea)])=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;=20
      inc =3D 1<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end=20
      for<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if inc =3D 0=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Includeds =3D=20
      append(Includeds,{})<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      Includeds[length(Includeds)] =3D=20
      append(Includeds[length(Includeds)],linea[match(Matches[1],linea)+l=
ength(Matches[1])..length(linea)])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;=20
      checkFile(linea[match(Matches[1],linea)+length(Matches[1])..length(=
linea)])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      end if</DIV>
      <DIV>&nbsp;&nbsp;&nbsp; elsif wildcard_match(Matches[2]&amp;"*",lin=
ea)=20
      then<BR>---------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      puts(logfn,"Appending:=20
      "&amp;Matches[2]&amp;linea[match(Matches[2],linea)+length(Matches[2=
])..length(linea)]&amp;"\n")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;=20
      puts(logfn,"Appending:=20
      "&amp;Matches[2]&amp;linea[match(Matches[2],linea)+length(Matches[2=
])..match("(",linea)-1]&amp;"\n")<BR>---------&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;=20
      Routines =3D=20
      append(Routines,linea[match(Matches[2],linea)+length(Matches[2])..l=
ength(linea)])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      Routines =3D=20
      append(Routines,removeSpaces(linea[match(Matches[2],linea)+length(M=
atches[2])..match("(",linea)-1]))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
      Code =3D append(Code,{})<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
      Code[length(Code)] =3D append(Code[length(Code)],linea)</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while not match("en=
d=20
      "&amp;Matches[2][1..length(Matches[2])-1],linea)=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      linea =3D=20
      gets(fn)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
      if atom(linea)=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      puts(logfn,"Error, expected to see: end=20
      "&amp;Matches[2])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      abort(1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      linea =3D removeEnd(linea)</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;=20
      BuscarRutinas(linea)</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;=20
      Code[length(Code)] =3D=20
      append(Code[length(Code)],linea)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
      end while</DIV>
      <DIV>&nbsp;&nbsp;&nbsp; elsif wildcard_match(Matches[3]&amp;"*",lin=
ea)=20
      then<BR>---------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      puts(logfn,"Appending:=20
      "&amp;Matches[2]&amp;linea[match(Matches[3],linea)+length(Matches[3=
])..length(linea)]&amp;"\n")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;=20
      puts(logfn,"Appending:=20
      "&amp;Matches[2]&amp;linea[match(Matches[3],linea)+length(Matches[3=
])..match("(",linea)-1]&amp;"\n")<BR>---------&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;=20
      Routines =3D=20
      append(Routines,linea[match(Matches[3],linea)+length(Matches[3])..l=
ength(linea)])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      Routines =3D=20
      append(Routines,removeSpaces(linea[match(Matches[3],linea)+length(M=
atches[3])..match("(",linea)-1]))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
      Code =3D append(Code,{})<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
      Code[length(Code)] =3D append(Code[length(Code)],linea)</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while not match("en=
d=20
      "&amp;Matches[2][1..length(Matches[2])-1],linea)=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      linea =3D=20
      gets(fn)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
      if atom(linea)=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      puts(logfn,"Error, expected to see: end=20
      "&amp;Matches[2])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      abort(1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      linea =3D removeEnd(linea)</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;=20
      BuscarRutinas(linea)</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;=20
      Code[length(Code)] =3D=20
      append(Code[length(Code)],linea)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
      end while</DIV>
      <DIV>&nbsp;&nbsp;&nbsp; elsif wildcard_match(Matches[4]&amp;"*",lin=
ea)=20
      then<BR>---------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      puts(logfn,"Appending:=20
      "&amp;Matches[4]&amp;linea[match(Matches[4],linea)+length(Matches[4=
])..length(linea)]&amp;"\n")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;=20
      puts(logfn,"Appending:=20
      "&amp;Matches[4]&amp;linea[match(Matches[4],linea)+length(Matches[4=
])..match("(",linea)-1]&amp;"\n")<BR>---------&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;=20
      Routines =3D=20
      append(Routines,linea[match(Matches[3],linea)+length(Matches[4])..l=
ength(linea)])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      Routines =3D=20
      append(Routines,removeSpaces(linea[match(Matches[3],linea)+length(M=
atches[4])..match("(",linea)-1]))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
      Code =3D append(Code,{})<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
      Code[length(Code)] =3D append(Code[length(Code)],linea)</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while not match("en=
d=20
      "&amp;Matches[4][1..length(Matches[4])-1],linea)=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      linea =3D=20
      gets(fn)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
      if atom(linea)=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      puts(logfn,"Error, expected to see: end=20
      "&amp;Matches[4])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      abort(1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      linea =3D removeEnd(linea)</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;=20
      BuscarRutinas(linea)</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;=20
      Code[length(Code)] =3D=20
      append(Code[length(Code)],linea)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
      end while</DIV>
      <DIV>&nbsp;&nbsp;&nbsp; elsif wildcard_match(Matches[5]&amp;"*",lin=
ea)=20
      then<BR>---------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      puts(logfn,"Appending:=20
      "&amp;Matches[4]&amp;linea[match(Matches[5],linea)+length(Matches[5=
])..length(linea)]&amp;"\n")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;=20
      puts(logfn,"Appending:=20
      "&amp;Matches[4]&amp;linea[match(Matches[5],linea)+length(Matches[5=
])..match("(",linea)-1]&amp;"\n")<BR>---------&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;=20
      Routines =3D=20
      append(Routines,linea[match(Matches[5],linea)+length(Matches[5])..l=
ength(linea)])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      Routines =3D=20
      append(Routines,removeSpaces(linea[match(Matches[5],linea)+length(M=
atches[5])..match("(",linea)-1]))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;=20
      Code =3D append(Code,{})<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;=20
      Code[length(Code)] =3D append(Code[length(Code)],linea)</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while not match("en=
d=20
      "&amp;Matches[4][1..length(Matches[4])-1],linea)=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      linea =3D=20
      gets(fn)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
      if atom(linea)=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      puts(logfn,"Error, expected to see: end=20
      "&amp;Matches[4])<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      abort(1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
      end=20
      if<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      linea =3D removeEnd(linea)</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;=20
      BuscarRutinas(linea)</DIV>
      <DIV>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;=20
      Code[length(Code)] =3D=20
      append(Code[length(Code)],linea)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;=20
      end while<BR>&nbsp;&nbsp;&nbsp;=20
      else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Routines =3D=20
      append(Routines,"-")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
Code =3D=20
      append(Code,{})<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; linea=
 =3D=20
      removeEnd(linea)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line=
a =3D=20
      removeSpaces(linea)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      BuscarRutinas(linea)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
      Code[length(Code)] =3D=20
      append(Code[length(Code)],linea)<BR>&nbsp;&nbsp;&nbsp; end=20
      if<BR>&nbsp;&nbsp; trace(0)<BR>end while<BR>puts(logfn, "Closing fi=
le:=20
      "&amp;file&amp;"\n")<BR>-------------------<BR>for I =3D 1 to=20
      length(Routines) do<BR>&nbsp;&nbsp;&nbsp; puts(logfn, "\n" &amp;=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>&nbsp;&nbsp;&nbsp; if equal("-",Routines[I])=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for S =3D 1 to=20
      length(Code[I])=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      puts(out,Code[I][S]&amp;"\n")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;=20
      end for<BR>&nbsp;&nbsp;&nbsp;=20
      else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if=20
      find(Routines[I],UsedRoutines)=20
      then<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for S =3D 1 to=20
      length(Code[I])=20
      do<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
      puts(out,Code[I][S]&amp;"\n")<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;=20
      end for<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end=20
      if<BR>&nbsp;&nbsp;&nbsp; end if<BR>end for<BR></DIV>
      <DIV>&nbsp;</DIV>
      <DIV>-- END OF FILE</DIV>
      <DIV>&nbsp;</DIV>
      <DIV>&nbsp;</DIV></DIV></DIV>
      <DIV>&nbsp;</DIV>
      <DIV><I>-------Original Message-------</I></DIV>
      <DIV>&nbsp;</DIV>
      <DIV>&nbsp;</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;=20
      Encoding: quoted-printable<BR>&gt;=20
      <BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;=20
      Name: r6.ex<BR>&gt;&nbsp;&nbsp;&nbsp; r6.ex&nbsp;&nbsp;&nbsp; Type:=
=20
      Unknown/Unknown<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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&gt;UID&gt;/INBOX&gt;12530&amp;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--


>

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu