As an update to my earlier post, I was playing with the parser, and I know I
didn't do it right however I thought I was close.

Can anyone tell me where I went wrong?  This is the code I came up with, I
have stepped through how I thought it worked, but it doesn't.


declare
proc{FS P0 P}
   P1 in
   {FNP P0 P1}
   {FVP P1 P}
end
proc{FNP P0 P}
   P1 in
   {FNP1 P0 P1}
   {FNP2 P1 P}
end
proc{FVP P0 P}
   P1 P2 in
   {FVERB P1 P2}
   {FNP2 P2 P}
end
proc{FNP1 P0 P}
   {FPRN P0 P}
end
proc{FPRN P0 P}
   choice
      P0 = je|P
   [] P0 = me|P
   [] P0 = nous|P
   [] P0 = tu|P
   [] P0 = te|P
   [] P0 = vous|P
   [] P0 = il|P
   [] P0 = le|P
   [] P0 = ils|P
   [] P0 = les|P
   end
end
proc{FNP2 P0 P}
   P1 in
   {FDET P0 P1}
   {FNOUN P1 P}
end
proc{FDET P0 P}
   choice
      P0 = le|P
   [] P0 = les|P
   end
end
proc{FVERB P0 P}
   choice
      P0 = vois|P
   [] P0 = voit|P
   [] P0 = voyons|P
   [] P0 = voyez|P
   [] P0 = voient|P
   end
end
proc{FNOUN P0 P}
   choice
      P0 = chat|P
   [] P0 = chats|P
   end
end

{Explorer.all proc{$ _}{FS [je vois le chat] nil} end}



-- 
Kurt Breitsprecher
(807) 474-9601
[email protected]
_________________________________________________________________________________
mozart-users mailing list                               
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users

Reply via email to