home *** CD-ROM | disk | FTP | other *** search
- " - - - - - GB - Parser - - - - - "
-
- satz(d,d0,not(<Comp,z>),<INFL'',N-P,<INFL',<INFL,n>,V-P>>) ->
- wort-elemente-VFNP(d,d1,s,m)
- maximale-projektion(s,m,N-P)
- wort(d1,d2,<minus-N,plus-V>,<INFL,n>,v)
- maximale-projektion-VP(d2,d0,not(<Comp,z>),<minus-N,plus-V>,v,V-P);
- satz(d,d0,<Comp,z>,<INFL'',N-P,<INFL',<INFL,n>,V-P>>) ->
- wort-elemente-VFNP(d,d1,s,m)
- maximale-projektion(s,m,N-P)
- wort(d1,d2,<minus-N,plus-V>,<INFL,n>,v)
- maximale-projektion-VP(d2,d0,<Comp,z>,<minus-N,plus-V>,v,V-P);
-
- maximale-projektion-VP(nil,nil,<Comp,z>,<minus-N,plus-V>,v,<VP,v,<XP,<Spec,"*">,
- <XX',<XX,z>>>>) ->
- kopf(<minus-N,plus-V>,v);
- maximale-projektion-VP(nil,nil,not(<Comp,z>),<minus-N,plus-V>,v,<VP,v>) ->
- kopf(<minus-N,plus-V>,v);
- maximale-projektion-VP(d,d0,not(<Comp,z>),<minus-N,plus-V>,v,<VP,v,<CP,<SpecC,
- "*">,<CC',<CC,<a,z>>,s>>>) ->
- kopf(<minus-N,plus-V>,v)
- wort(d,d1,<Comp1>,<CC,<a,z>>)
- satz(d1,d0,<Comp,z>,s);
- maximale-projektion-VP(d,d0,not(<Comp,z>),<minus-N,plus-V>,v,<VP,v,N-Ps>) ->
- kopf(<minus-N,plus-V>,v)
- wort-elemente(d,d0,s,m)
- maximale-projektion(s,m,N-Ps);
-
- wort-elemente-VFNP(a.d,a.d0,nil,nil) ->
- wort(a.d,d0,s-pec,<INFL,m>,v);
- wort-elemente-VFNP(d,d0,s-pec.s,n.m) ->
- wort(d,d1,s-pec,n)
- wort-elemente-VFNP(d1,d0,s,m);
-
- wort-elemente(nil,nil,nil,nil) ->;
- wort-elemente(d,d0,s-pec.s,n.m) ->
- wort(d,d1,s-pec,n)
- wort-elemente(d1,d0,s,m);
-
- maximale-projektion(<plus-N,minus-V>.nil,n.nil,<XP,<XX',<Spec,"*">,n>>) ->
- kopf(<plus-N,minus-V>,n);
- maximale-projektion(<Specifier>.<plus-N,minus-V>.nil,n.n2.nil,<XP,<XX',<Spec,n>,
- n2>>) ->
- kopf(<plus-N,minus-V>,n2);
- maximale-projektion(<Specifier>.<plus-N,plus-V>.<plus-N,minus-V>.nil,n.n2.n3.nil
- ,<XP,<Spec,n>,<XX',n2,n3>>) ->
- kopf(<plus-N,minus-V>,n3);
- maximale-projektion(<plus-N,plus-V>.x,a.y,<AP,a,P-P>) ->
- kopf(<plus-N,plus-V>,a)
- maximale-projektion(x,y,P-P);
- maximale-projektion(<minus-N,minus-V>.x,p.y,<PP,<XX',p,N-P>>) ->
- kopf(<minus-N,minus-V>,p)
- maximale-projektion(x,y,N-P);
-
- kopf(<plus-N,minus-V>,<XX,n>) ->;
- kopf(<minus-N,plus-V>,<VV,v>) ->;
- kopf(<minus-N,minus-V>,<XX,p>) ->;
- kopf(<Comp>,<CC,c>) ->;
-
- " - - - - - Hauptprogramm - - - - - "
-
- lesen(nil) -> next-char'(".") / in-char'(".");
- lesen(c.b) -> in-word(a,c) lesen(b);
-
- gb ->
- repeat
- line
- outm("Satz: ")
- lesen(d)
- satz(d,nil,not(<Comp,z>),s-yntax)
- outm("Syntax: ")
- outl(s-yntax)
- fail;
-
- repeat ->;
- repeat -> repeat;
-
- " - - - - - GB - Lexikon - - - - - "
- " "
- " - - - Wort-Kategorien - - - "
-
- wort(Hans.x,x,<plus-N,minus-V>,<XX,hans>) ->;
- wort(Paul.x,x,<plus-N,minus-V>,<XX,paul>) ->;
- wort(Maria.x,x,<plus-N,minus-V>,<XX,maria>) ->;
- wort(Kind.x,x,<plus-N,minus-V>,<XX,kind>) ->;
- wort(Garten.x,x,<plus-N,minus-V>,<XX,garten>) ->;
- wort(Wochenende.x,x,<plus-N,minus-V>,<XX,wochenende>) ->;
- wort(Flirt.x,x,<plus-N,minus-V>,<XX,flirt>) ->;
- wort(das.x,x,<Specifier>,das) ->;
- wort(dem.x,x,<Specifier>,dem) ->;
- wort(einem.x,x,<Specifier>,einem) ->;
- wort(kleine.x,x,<plus-N,plus-V>,klein) ->;
- wort(anregende.x,x,<plus-N,plus-V>,anregend) ->;
- wort(anregenden.x,x,<plus-N,plus-V>,anregend) ->;
- wort(spielt.x,x,<minus-N,plus-V>,<INFL,"t">,<VV,spiel>) ->;
- wort(traeumt.x,x,<minus-N,plus-V>,<INFL,"t">,<VV,traeum>) ->;
- wort(liebt.x,x,<minus-N,plus-V>,<INFL,"t">,<VV,lieb>) ->;
- wort(weiss.x,x,<minus-N,plus-V>,<INFL,"*">,<VV,weiss>) ->;
- wort(in.x,x,<minus-N,minus-V>,<XX,in>) ->;
- wort(von.x,x,<minus-N,minus-V>,<XX,von>) ->;
- wort(mit.x,x,<minus-N,minus-V>,<XX,mit>) ->;
- wort(was.x,x,<Comp1>,<CC,was(z)>) ->;
- wort(wen.x,x,<Comp1>,<CC,wen(z)>) ->;
- wort(dass.x,x,<Comp2>,<CC,dass>) ->;
-
- ;End world: Normal