home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1988 / 01 / prolog / parsbsp4.pro < prev    next >
Encoding:
Text File  |  1987-10-29  |  4.1 KB  |  94 lines

  1. "Beispielprogramm 4 - W. Kreitmair"
  2. "Automatische Sprachanalyse mit PROLOG II"
  3.  
  4. SATZ(<x,y>, satz(n-p,v-p)) -> 
  5.                   NP(<x,x1>, n-p,<n-um,g-en,nomin>)    
  6.                   VP(<x1,y>, v-p,<n-um>);
  7.  
  8. NP(<x,y>, np(s),<n-um,g-en,k-as>) -> 
  9.                   EIGENNAME(<x,y>, s,<n-um,g-en,k-as>);
  10. NP(<x,y>, np(a-dj,n-om),<n-um,g-en,k-as>) -> 
  11.                   ADJEKTIV(<x,x1>, a-dj,<attrib,n-um,g-en,k-as>)   
  12.                   NOMEN(<x1,y>, n-om,<n-um,g-en,k-as>);
  13. NP(<x,y>, np(a-rt,a-dj,n-om),<n-um,g-en,k-as>) -> 
  14.                   ARTIKEL(<x,x1>, a-rt,<n-um,g-en,k-as>)  
  15.                   ADJEKTIV(<x,x2>, a-dj,<attrib,n-um,g-en,k-as>)  
  16.                   NOMEN(<x2,y>, n-om,<n-um,g-en,k-as>);
  17. NP(<x,y>, np(a-rt,n-om,r-el-satz),<n-um,g-en,k-as>) ->
  18.                    ARTIKEL(<x,x1>, a-rt,<n-um,g-en,k-as>)  
  19.                   NOMEN(<x1,x2>, n-om,<n-um,g-en,k-as>)  
  20.                   RELATIVSATZ(<x2,y>, r-el-satz,<n-um>);
  21.  
  22. VP(<x,y>, vp(s),<n-um>) -> 
  23.                   VERB(<x,y>, s,<intrans,n-um>);
  24. VP(<x,y>, vp(k-op,a-dj),<n-um>) -> 
  25.                   KOPULA(<x,x1>,k-op,<n-um>)  
  26.                   ADJEKTIV(<x1,y>, a-dj,<praedik,n-um,g-en,k-as>);
  27. VP(<x,y>, vp(v-erb,n-p),<n-um>) -> 
  28.                   VERB(<x,x1>, v-erb,<trans,n-um>)  
  29.                   NP(<x1,y>, n-p,<n-um,g-en,akk>);
  30.  
  31. VP'(<x,y>, vp'(a-dj,k-op),<n-um>) -> 
  32.                   ADJEKTIV(<x,x1>, a-dj,<praedik,n-um,g-en,k-as>)  
  33.                   KOPULA(<x1,y>, k-op,<n-um>);
  34. VP'(<x,y>, vp'(v-erb),<n-um>) -> 
  35.                   VERB(<x,y>, v-erb,<intrans,n-um>); 
  36. VP'(<x,y>, vp'(v-erb,n-p),<n-um>) ->  
  37.                   NP(<x,x1>, n-p,<n-um,g-en,akk>) 
  38.                   VERB(<x1,y>, v-erb,<trans,n-um>);
  39.  
  40. RELATIVSATZ(<x,x>, leer,<n-um>) -> ;
  41. RELATIVSATZ(<x,y>, rel-satz(r-elPro,v-p),<n-um>) -> 
  42.                   RELATIV-PRONOMEN(<x,x1>, r-elPro,<n-um,g-en,nomin>)  
  43.                   VP'(<x1,y>, v-p,<n-um>);
  44.  
  45. ARTIKEL(<x,y>, s,<n-um,g-en,k-as>) -> 
  46.                   UNBEST-ARTIKEL(<x,y>, s,<n-um,g-en,k-as>);
  47. ARTIKEL(<x,y>, s,<n-um,g-en,k-as>) -> 
  48.                   BEST-ARTIKEL(<x,y>, s,<n-um,g-en,k-as>);
  49.  
  50. VERB(<schlaeft.x,x>, verb(schlafen),<intrans,n-um>) ->;
  51. VERB(<kuesst.x,x>, verb(kuessen),<v-al,n-um>) ->;
  52. VERB(<kuessen.x,x>, verb(kuessen),<v-al,n-um>) ->;
  53. VERB(<liebt.x,x>, verb(lieben),<trans,n-um>) ->;
  54. VERB(<heiratet.x,x>, verb(heiraten),<trans,n-um>) ->;
  55.  
  56. KOPULA(<ist.x,x>, kop(ist),<sg>) ->;
  57. KOPULA(<sind.x,x>, kop(sind),<pl>) ->;
  58.  
  59. NOMEN(<Mann.x,x>, nom(Mann),<sg,mask,k-as>) ->;
  60. NOMEN(<Liebhaber.x,x>, nom(Liebhaber),<n-um,mask,k-as>) ->;
  61. NOMEN(<Ehefrau.x,x>, nom(Ehefrau),<sg,fem,k-as>) ->;
  62. NOMEN(<Ehefrauen.x,x>, nom(Ehefrau),<pl,fem,k-as>) ->;
  63. NOMEN(<Freundin.x,x>, nom(Freundin),<sg,fem,k-as>) ->;
  64.  
  65. EIGENNAME(<Helmut.x,x>, en(Helmut),<sg,mask,k-as>) ->;
  66. EIGENNAME(<Rita.x,x>, en(Rita),<sg,fem,k-as>) ->;
  67.  
  68. RELATIV-PRONOMEN(<der.x,x>, rel-pro(der),<sg,mask,k-as>) ->;
  69. RELATIV-PRONOMEN(<die.x,x>, rel-pro(die),<pl,g-en,k-as>) ->;
  70. RELATIV-PRONOMEN(<die.x,x>, rel-pro(die),<sg,fem,k-as>) ->;
  71.  
  72. ADJEKTIV(<jung.x,x>, adj(jung),<praedik,n-um,g-en,k-as>) ->;
  73. ADJEKTIV(<junge.x,x>, adj(junge),<attrib,n-um,g-en,nomin>) ->;
  74. ADJEKTIV(<junge.x,x>, adj(junge),<attrib,n-um,fem,akk>) ->;
  75. ADJEKTIV(<junge.x,x>, adj(junge),<attrib,pl,mask,akk>) ->;
  76. ADJEKTIV(<jungen.x,x>, adj(jungen),<attrib,sg,mask,akk>) ->;
  77. ADJEKTIV(<feurig.x,x>, adj(feurig,<praedik,n-um,g-en,k-as>)) ->;
  78. ADJEKTIV(<feurige.x,x>, adj(feurige),<attrib,n-um,g-en,nomin>) ->;
  79. ADJEKTIV(<feurige.x,x>, adj(feurige),<attrib,n-um,fem,akk>) ->;
  80. ADJEKTIV(<feurige.x,x>, adj(feurige),<attrib,pl,mask,akk>) ->;
  81. ADJEKTIV(<feurigen.x,x>, adj(feurige),<attrib,sg,mask,akk>) ->;
  82. ADJEKTIV(<betrogene.x,x>, adj(betrogene),<attrib,n-um,g-en,nomin>) ->;
  83.  
  84. UNBEST-ARTIKEL(<ein.x,x>, unbest-art(ein),<sg,mask,nomin>) ->;
  85. UNBEST-ARTIKEL(<eine.x,x>, unbest-art(eine),<sg,fem,nomin>) ->;
  86.  
  87. BEST-ARTIKEL(<der.x,x>, best-art(der),<sg,mask,nomin>) ->;
  88. BEST-ARTIKEL(<die.x,x>, best-art(die),<n-um,fem,k-as>) ->;
  89. BEST-ARTIKEL(<den.x,x>, best-art(den),<sg,mask,akk>) ->;
  90. BEST-ARTIKEL(<den.x,x>, best-art(den),<pl,g-en,akk>) ->;
  91.  
  92. >) ->;
  93. BEST-ARTIKEL(<den.x,x>, best-art(den),<sg,mask,akk>) ->;
  94. BEST-ARTIKE