[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

lujvo expander version 0.2



well, not that i'm really versioning it.  it's extremely ugly now, 
but i fixed some things.  it won't try to replace a lujvo in the 
middle of a word.  and it displays the replaced word in the 
replacement phrase (useful for when it seems to recognize an english 
word).  it worked very well for me in reading alice.  if i make it 
more elegant i'll put it on the wiki.  anybody want to do a perl 
version?  i have a feeling it'd be easier in perl.

lujvo.bat:
python space.py < %1 > temp1.txt
vlatai -el < temp1.txt > temp2.txt
python sub.py < %1 > %2

space.py:
import re
while 1:
 try:
  s=raw_input()
  a=re.split("[^a-zA-Z\',]+",s);
  for x in a:
   print x
 except EOFError:
  break


sub.py:
import re,string
qb=[]
qa=[]
f=open("temp2.txt")
s=f.readline()
while s!="":
 if re.search(": lujvo :",s) is not None:
  res=re.match("[a-z\',]+",s)
  if qb.count(res.group(0)) == 0:
   qb.append(res.group(0))
   res=re.search("\[[a-z\',\+\?]+",s)
   s2=res.group(0)
   qa.append(string.replace(s2,"[",""))
 s=f.readline()
s2="%"
while 1:
 try:
  s2+=raw_input()
  s2+="\n"
 except EOFError:
  break
s2+="%"
for x in range(len(qa)):
 while re.search("[^a-z\',]"+qb[x]+"[^a-z\',]",s2) is not None:
  res=re.search("[^a-z\',]"+qb[x]+"[^a-z\',]",s2)
  ts1=res.group(0)
  s2=re.sub(ts1,ts1[0]+"_,"+qb[x]+",="+qa[x]+"_"+ts1[len(ts1)-1],s2,1)
print s2