charset iso-8859-1 delimiter ":,()" define pattern digit="[0-9]+" define pattern names="[A-Z][a-z]+ [A-Z]?" define pattern namep="[A-Z][a-z]+" define pattern nameshort="[A-Z]?" define pattern name="[A-Z][a-z]+( [A-Z])? [A-Z][a-z]+" define pattern au=".*[A-Z]{2,}.*" define pattern time="([A-Z][a-z]+ )?19[0-9]{2,2}" define pattern time="([A-Z][a-z]+ )?20[0-9]{2,2}" define pattern time="([A-Z][a-z]+ )?[5-9][0-9]" define pattern time="([A-Z][a-z]+ )?0[0-9]" define pattern timein=".*19[0-9]{2,2}.*" define pattern timein=".*20[0-9]{2,2}.*" define pattern timein=".*[5-9][0-9].*" define pattern timein=".*0[0-9].*" define pattern jvol="[0-9]{1,4}\([0-9]{1,4}\)" define pattern injvol=".+ [0-9]{1,4}\([0-9]{1,4}\)" define pattern ppage="[0-9]+-[0-9]+" define sentence proc="in proc ,In proc ,Proc ,inProc ,in Proc ,To appear in" define sentence conf="Workshop,Conference,Journal,Symposium, Trans" define sentence jvol="Vol " define sentence the="the,The,THE" do ft="in".--?proc.(a).$l("proc").$debug((a)) do ft(a)names-="."-namep(b)-d.$l( "name",(a),(b)) do ft(a)namep-namep(b)-d.$l("name",(a),(b)) do nl(a)digit-="."-(b)$l("nllist",(a),(b)) do nl.nllist?.(a)[nameshort-="."-]#(c).namep(b)-d.$l("name",(a),(b)) do !="."-ft(a)[nameshort-="."-]#namep(b)-d.$l("name",(a),(b)) do nl.nllist?(a).$debug((a)).$loop[name,d,="and"](b)!proc.$l("namelist",(a),(b)) do $endwith." Vol"(a).-=".".$l("jvol",(a)) do ="vol"(a).-=".".$l("jvol",(a)) do -d-ppage(a).~content.$l("page",(a)) do -d-ppage(a)-d-time-d.~content.$l("page",(a)) do (a)timein.-d-page.$l("_conference",(a)).$debug((a)) do namelist.(a)$until[n,|[d-&[au,timein],d-proc,d-conf,d--time,d-injvol,d--jvol,d--d-jvol,d-the-digit-conf,d-_conference]](b)$l("title",(a),(b)) do title-[proc-]?-[au,conf,injvol](a).$l("conference",(a)) do title-_conference(a).$l("conference",(a)) do title-[proc-]?[au,conf,injvol](a).$l("conference",(a)) do title-[proc-]?-?(a)the-digit-conf(b).$l("conference",(a),(b)) do title-[proc-]?(a)-?-jvol(b).$l("conference",(a),(b)) do title-&[proc,[au,conf,injvol]](a).$l("conference",(a)) do title-proc-(a)$until[n,-time](b)$l("conference",(a),(b)) do ="References".$l("_ref") do ="Referenced by".$l("_refed") do content-="Abstract".-$l("_abstract") do (a)title.+._ref;(b)title.![+._ref].+._refed.$l("_reference",(a),(b)) do $ifn[_refed](a)title.+._ref;(b)title.![+._ref]$l("_reference",(a),(b)) do (a)title.+._ref;(b)title.![+._refed].$l("_reference",(b),(a)) set PAPER=content[title!,author=namelist-name,conference%,page?,time?,abstract?=_abstract.content,reference?=_reference.title] output PAPER