home *** CD-ROM | disk | FTP | other *** search
- " - - - - - LFG-Grammatik - Parser - - - - - "
-
- syntax(a,<SATZ,b>) -> satz-bau(a,nil,b,c) /;
- syntax(a,KEIN-SATZ) ->;
-
- satz-bau(nil,nil,y,nil) ->;
- satz-bau(d,d2,<np,<en,a,n-um.g-en.k-as>>.y,nil) ->
- eigenname(d,d1,a,n-um.g-en.k-as.nil)
- satz-bau(d1,d2,y,n-um.g-en.k-as.nil);
- satz-bau(d,d2,<np,<en,a,n-um.g-en.k-as>>.y,n-um.g-en.k-as.z) ->
- eigenname(d,d1,a,n-um.g-en.k-as.nil)
- satz-bau(d1,d2,y,z);
- satz-bau(d,d3,<np,<art,a>,nomen(b),n-um.g-en.k-as>.y,nil) ->
- artikel(d,d1,a,n-um.g-en.k-as.nil)
- nomen(d1,d2,b,n-um.g-en.k-as.nil)
- satz-bau(d2,d3,y,n-um.g-en.k-as.nil);
- satz-bau(d,d3,<np,<art,a>,nomen(b),n-um.g-en.k-as>.y,n-um.g-en.k-as.z) ->
- artikel(d,d1,a,n-um.g-en.k-as.nil)
- nomen(d1,d2,b,n-um.g-en.k-as.nil)
- satz-bau(d2,d3,y,z);
- satz-bau(d,d4,<np,<art,a>,<adj,b>,nomen(c),n-um.g-en.k-as>.y,nil) ->
- artikel(d,d1,a,n-um.g-en.k-as.nil)
- adjektiv(d1,d2,b,n-um.g-en.k-as.nil)
- nomen(d2,d3,c,n-um.g-en.k-as.nil)
- satz-bau(d3,d4,y,n-um.g-en.k-as.nil);
- satz-bau(d,d4,<np,<art,a>,<adj,b>,nomen(c),n-um.g-en.k-as>.y,n-um.g-en.k-as.z)
- ->
- artikel(d,d1,a,n-um.g-en.k-as.nil)
- adjektiv(d1,d2,b,n-um.g-en.k-as.nil)
- nomen(d2,d3,c,n-um.g-en.k-as.nil)
- satz-bau(d3,d4,y,z);
- satz-bau(d,d2,<pp,<praep,a>,b,n-um.g-en.k-as>.y,n-um.g-en.k-as.z) ->
- praeposition(d,d1,a,n-um.g-en.k-as.nil)
- satz-bau(d1,d2,b.y,n-um.g-en.k-as.z);
- satz-bau(d,d2,<vp,verb(a,n-um.g-en.k-as)>,n-um.g-en.k-as.nil) ->
- verb(d,d1,a,n-um.g-en.k-as.nil)
- satz-bau(d1,d2,nil,nil);
- satz-bau(d,d2,<vp,verb(a,n-um.g-en.k-as,n-um2.g-en2.k-as2),b>,n-um.g-en.k-as.nil
- ) ->
- verb(d,d1,a,n-um.g-en.k-as.nil,n-um2.g-en2.k-as2.nil)
- satz-bau(d1,d2,b.nil,n-um2.g-en2.k-as2.nil);
- satz-bau(d,d2,<vp,verb(a,n-um.g-en.k-as,n-um2.g-en2.k-as2,n-um3.g-en3.k-as3),b,c
- >,n-um.g-en.k-as.nil) ->
- verb(d,d1,a,n-um.g-en.k-as.nil,n-um2.g-en2.k-as2.nil,n-um3.g-en3.k-as3.nil)
- satz-bau(d1,d2,b.c.nil,n-um2.g-en2.k-as2.n-um3.g-en3.k-as3.nil);
-
- " - - - - - Hauptprogramm - - - - - "
-
- lesen(nil) -> next-char'(".") / in-char'(".");
- lesen(c.b) -> in-word(a,c) lesen(b);
-
- lfg ->
- repeat
- line
- outm("Satz: ")
- lesen(x)
- syntax(x,y)
- outm("Syntax: ")
- outl(y)
- fail;
-
- repeat ->;
- repeat -> repeat;
-
- " - - - - - Datenbank - - - - - "
-
- eigenname(Hans.d,d,Hans,sg.mask.c.nil) ->;
- eigenname(Maria.d,d,Maria,sg.fem.c.nil) ->;
-
- nomen(Kind.d,d,Kind,sg.ntr.c.nil) -> dif(c,gen);
- nomen(Kindes.d,d,Kindes,sg.ntr.gen.nil) ->;
- nomen(Wochenende.d,d,Wochenende,sg.ntr.c.nil) -> dif(c,gen);
- nomen(Wochenendes.d,d,Wochenendes,sg.ntr.gen.nil) ->;
-
- artikel(das.d,d,das,sg.ntr.c.nil) -> dif(c,gen) dif(c,dat);
- artikel(des.d,d,des,sg.ntr.gen.nil) ->;
- artikel(dem.d,d,dem,sg.b.dat.nil) -> dif(b,fem);
- artikel(einem.d,d,einem,sg.b.dat.nil) -> dif(b,fem);
-
- praeposition(von.d,d,von,a.b.dat.nil) ->;
- praeposition(mit.d,d,mit,a.b.dat.nil) ->;
-
- adjektiv(anregenden.d,anregenden,d,a.b.dat.nil) ->;
- adjektiv(anregende.d,d,anregende,a.b.akk.nil) ->;
-
- verb(traeumt.d,d,traeumt,sg.b1.nom.nil) ->;
- verb(traeumt.d,d,traeumt,sg.b1.nom.nil,a2.b2.dat.nil) ->;
- verb(traeumt.d,d,traeumt,sg.b1.nom.nil,a2.b2.dat.nil,a3.b3.dat.nil) ->;
- verb(liebt.d,d,liebt,sg.b1.nom.nil,a2.b2.akk.nil) ->;
-
- ;End world: Normal