From a0150f72a7f003b5da6f226858572a1a016bd032 Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 21 Feb 2006 15:35:14 +0000 Subject: [PATCH] documenting new API structure --- lib/resource-1.0/Makefile | 2 +- lib/resource-1.0/doc/German.dot | 17 ++--- lib/resource-1.0/doc/German.png | Bin 23052 -> 21000 bytes lib/resource-1.0/doc/Lang.dot | 12 +++- lib/resource-1.0/doc/Lang.png | Bin 7896 -> 7676 bytes lib/resource-1.0/doc/Resource-HOWTO.html | 12 ++-- lib/resource-1.0/doc/Resource-HOWTO.txt | 10 ++- lib/resource-1.0/doc/gfdoc/Adjective.html | 2 +- lib/resource-1.0/doc/gfdoc/Adverb.html | 2 +- lib/resource-1.0/doc/gfdoc/Cat.html | 15 +++-- lib/resource-1.0/doc/gfdoc/Common.html | 60 ++++++++++++++++++ lib/resource-1.0/doc/gfdoc/Conjunction.html | 2 +- lib/resource-1.0/doc/gfdoc/Demonstrative.html | 2 +- lib/resource-1.0/doc/gfdoc/Idiom.html | 52 +++++++++++++++ lib/resource-1.0/doc/gfdoc/IrregFre.gf | 2 +- lib/resource-1.0/doc/gfdoc/Lang.html | 4 +- lib/resource-1.0/doc/gfdoc/Mathematical.html | 2 +- lib/resource-1.0/doc/gfdoc/Multimodal.html | 2 +- lib/resource-1.0/doc/gfdoc/Noun.html | 4 +- lib/resource-1.0/doc/gfdoc/Numeral.html | 2 +- lib/resource-1.0/doc/gfdoc/ParadigmsEng.html | 5 +- lib/resource-1.0/doc/gfdoc/ParadigmsFin.html | 10 +-- lib/resource-1.0/doc/gfdoc/ParadigmsFre.html | 18 ++---- lib/resource-1.0/doc/gfdoc/ParadigmsGer.html | 2 +- lib/resource-1.0/doc/gfdoc/ParadigmsIta.html | 11 ++-- lib/resource-1.0/doc/gfdoc/ParadigmsNor.html | 2 +- lib/resource-1.0/doc/gfdoc/ParadigmsSpa.html | 13 ++-- lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html | 2 +- lib/resource-1.0/doc/gfdoc/Phrase.html | 2 +- lib/resource-1.0/doc/gfdoc/Predication.html | 2 +- lib/resource-1.0/doc/gfdoc/Question.html | 2 +- lib/resource-1.0/doc/gfdoc/Relative.html | 2 +- lib/resource-1.0/doc/gfdoc/Sentence.html | 2 +- lib/resource-1.0/doc/gfdoc/Structural.html | 2 +- lib/resource-1.0/doc/gfdoc/Symbol.html | 2 +- lib/resource-1.0/doc/gfdoc/Tense.html | 2 +- lib/resource-1.0/doc/gfdoc/Text.html | 45 +++++++++++++ lib/resource-1.0/doc/gfdoc/Verb.html | 2 +- lib/resource-1.0/doc/index.html | 6 +- lib/resource-1.0/doc/index.txt | 4 +- lib/resource-1.0/english/ParadigmsEng.gf | 2 +- lib/resource-1.0/french/LexiconFre.gf | 2 +- lib/resource-1.0/french/ParadigmsFre.gf | 12 ++-- lib/resource-1.0/italian/LexiconIta.gf | 3 +- lib/resource-1.0/italian/ParadigmsIta.gf | 10 +-- lib/resource-1.0/lang.gfprob | 2 +- lib/resource-1.0/romance/CatRomance.gf | 4 +- lib/resource-1.0/romance/VerbRomance.gf | 12 +++- lib/resource-1.0/spanish/LexiconSpa.gf | 2 +- lib/resource-1.0/spanish/ParadigmsSpa.gf | 12 ++-- 50 files changed, 284 insertions(+), 117 deletions(-) create mode 100644 lib/resource-1.0/doc/gfdoc/Common.html create mode 100644 lib/resource-1.0/doc/gfdoc/Idiom.html create mode 100644 lib/resource-1.0/doc/gfdoc/Text.html diff --git a/lib/resource-1.0/Makefile b/lib/resource-1.0/Makefile index 861b3afcc..7daa44921 100644 --- a/lib/resource-1.0/Makefile +++ b/lib/resource-1.0/Makefile @@ -1,7 +1,7 @@ all: langs test test: - echo "gr -cat=S -number=11 -prob | tb" | gf -nocf -probs=lang.gfprob langs.gfcm + echo "gr -cat=Text -number=11 -prob | tb" | gf -nocf -probs=lang.gfprob langs.gfcm langs: echo "s ;; pm | wf langs.gfcm" | gf -src -nocf */Lang??*.gf english/LangEng.gf +RTS -M500M diff --git a/lib/resource-1.0/doc/German.dot b/lib/resource-1.0/doc/German.dot index 2927af446..e17ca1484 100644 --- a/lib/resource-1.0/doc/German.dot +++ b/lib/resource-1.0/doc/German.dot @@ -73,19 +73,19 @@ ParadigmsGer -> MorphoGer [style = "dotted"]; ParadigmsGer -> CatGer [style = "dotted"]; CatGer [style = "dashed", shape = "box", URL = "CatGer.gf"]; -CatGer -> TenseX [style = "solid"]; +CatGer -> CommonX [style = "solid"]; CatGer -> ResGer [style = "dotted"]; CatGer -> Prelude [style = "dotted"]; CatGer -> Cat [arrowhead = "empty", style = "dashed"]; Cat [style = "solid", shape = "ellipse", URL = "Cat.gf"]; -Cat -> Tense [style = "solid"]; +Cat -> Common [style = "solid"]; -TenseX [style = "dashed", shape = "box", URL = "TenseX.gf"]; -TenseX -> ParamX [style = "dotted"]; -TenseX -> Tense [arrowhead = "empty", style = "dashed"]; +CommonX [style = "dashed", shape = "box", URL = "CommonX.gf"]; +CommonX -> ParamX [style = "dotted"]; +CommonX -> Common [arrowhead = "empty", style = "dashed"]; -Tense [style = "solid", shape = "ellipse", URL = "Tense.gf"]; +Common [style = "solid", shape = "ellipse", URL = "Common.gf"]; MorphoGer [style = "dashed", shape = "ellipse", URL = "MorphoGer.gf"]; MorphoGer -> ResGer [style = "solid"]; @@ -93,12 +93,9 @@ MorphoGer -> Prelude [style = "dotted"]; MorphoGer -> Predef [style = "dotted"]; ResGer [style = "dashed", shape = "ellipse", URL = "ResGer.gf"]; -ResGer -> ParamGer [style = "solid"]; +ResGer -> ParamX [style = "solid"]; ResGer -> Prelude [style = "dotted"]; -ParamGer [style = "dashed", shape = "ellipse", URL = "ParamGer.gf"]; -ParamGer -> ParamX [style = "solid"]; - ParamX [style = "dashed", shape = "ellipse", URL = "ParamX.gf"]; ParamX -> Prelude [style = "dotted"]; diff --git a/lib/resource-1.0/doc/German.png b/lib/resource-1.0/doc/German.png index df3c71c86f56a7d9161c84ade374f25be3a9c9a2..7c6303897a4b886ce47b8ee35d40ba63b2ec041e 100644 GIT binary patch literal 21000 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 WxMd`}a~%T%1B0ilpUXO@geCxkR7a-( literal 23052 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 M>FVdQ&MBb@0H5h>`v3p{ diff --git a/lib/resource-1.0/doc/Lang.dot b/lib/resource-1.0/doc/Lang.dot index ec1fa508a..7de26e74c 100644 --- a/lib/resource-1.0/doc/Lang.dot +++ b/lib/resource-1.0/doc/Lang.dot @@ -13,6 +13,8 @@ Lang -> Question [style = "solid"]; Lang -> Relative [style = "solid"]; Lang -> Conjunction [style = "solid"]; Lang -> Phrase [style = "solid"]; +Lang -> Text [style = "solid"]; +Lang -> Idiom [style = "solid"]; Lang -> Structural [style = "solid"]; Lang -> Lexicon [style = "solid"]; @@ -46,6 +48,12 @@ Conjunction -> Cat [style = "solid"]; Phrase [style = "solid", shape = "ellipse", URL = "Phrase.gf"]; Phrase -> Cat [style = "solid"]; +Text [style = "solid", shape = "ellipse", URL = "Phrase.gf"]; +Text -> Cat [style = "solid"]; + +Idiom [style = "solid", shape = "ellipse", URL = "Phrase.gf"]; +Idiom -> Cat [style = "solid"]; + Structural [style = "solid", shape = "ellipse", URL = "Structural.gf"]; Structural -> Cat [style = "solid"]; @@ -53,8 +61,8 @@ Lexicon [style = "solid", shape = "ellipse", URL = "Lexicon.gf"]; Lexicon -> Cat [style = "solid"]; Cat [style = "solid", shape = "ellipse", URL = "Cat.gf"]; -Cat -> Tense [style = "solid"]; +Cat -> Common [style = "solid"]; -Tense [style = "solid", shape = "ellipse", URL = "Tense.gf"]; +Common [style = "solid", shape = "ellipse", URL = "Tense.gf"]; } diff --git a/lib/resource-1.0/doc/Lang.png b/lib/resource-1.0/doc/Lang.png index 4010ed9c94cb69fcfc85e27a27b9d0ae5669eb36..3fc770382edfb5bbad6884393b869bb90c084383 100644 GIT binary patch literal 7676 zcmeAS@N?(olHy`uVBq!ia0y~yVCiRIVEDtr%)r3Fqcqc(fq_9cz$e7@-~a#J-QDHo z<-x(hhYufKzI^%q{rlzRrJkO$ z(`#mx#NIg{Acr!M5s#XWf#qY*T^7p^r`~0dyGs}t3<&iAA{OAAv z^>t@|-2;BNrBN~UzYm8#cPQ0eqOh`RV$+gWu3VE=iEDbSih~Fo(c1ZnXHBb!N>HI@ zYv<%97mc-yU5~ZTo{;izJoNO4BCppL5tR@*D=#5UR?c9CzDX{gj!skBZoIJQoY2(5 zv4AbXJJi#$iPdSbBIoob7VZ=`XCXaSPLZabHkA-Ap%q&$r%i2Y;o!8rwS8gG1c#>w zWcD|2U(KNDF`?_kWVeHSvMPx|6BI;~6&X|@Oj8BfJ@ajTY@WHd^R{)!LJ<`YUXN(! zVxyi*FT<+awWc(&tYpkA$~l%frGY1W`yCS|V_ zLf&M%isYAVv#bry%X9GDs}NG&lkLUH+|7^XKb^8+m)!y)H4# zDy!M$X%SmJ;nrW@o4Z!tW^NTZ`sJ_3yjm&tzcVl2zRNRboxVq=^ujH_c)qybJFN8d z%KSafMqghxu(_LOzbTP*EMj*2d^F!rAu43?%V*46jQ`6>G#os>_~oxhC2Ji%Nu7Rw z_0}?n`jjYtnWdaRL^_WrCJ3_a&?>w!uNZDg>ik=?pYfpvLl z#XRQcwq6sPU9QS9o&U#fD<>7z;dk!*m(mBBypCKQp3E(OB~kV$b6WlTW+~=`OSNK-w^ik16@?=eE@xfcAW!n5gCEAiF1U5|wz9sz6 z_Ws)QoS!87j96C6wmnI`*kGK#b?Yew$K`5=1UBh~>^kWGe!@>56TgqqE@U zf}PCX!N;$fzIq)dtg?gY;spN^){xgsfk!00tQB^CXI>ETpffPJ=*O9YYtIUguU;6+ z%xTSjahHmdpy5sZ8aC^@nlr02uUU(I_AKgtn-UpSJ1dM`#ir+Rs7IgIOhN4}DKF$4 zY7fg#Rhcc_?s(vm*X1o-3W3Uui=LgZQr&IBY`*>YMDgaPsVDsQ-LCG;i!k~Xeb)1? zXtT?_q%(GRv@b7B6hHZ=(ER7rnwr^eo%0?veqYaUy)vw4*=lCaxSDlG-m1uKHs!gi z#H15heE+04V}VBCYeA!FAO(z_YZzx4v?=|&`pUzG!-7jG;K!7=N|Fo3RSl+1ke(OT zu*{pi^UawXQHdIl+}zk^trB%-n|)YQ_Cb$d*FE1a1sR?fq!ZTFh}6wgn7GibAg!>} zb(>FWQx1Rsl$?ig#fMWmp2@A`tJ(Y5YyH|7F^?2URnY_U3Y)B4Jee(+9`RR7mme2- z{rEYDcS>r^)!UqU%qn?l$Bw7$J3Wb|tmYo?*e*)>P_WX#0X4^9*{R4i^0I_&p=r}|pJ63$g6H}}T8SD5&B<{YJ)Dn3uT zbJBI@9GJaP=VV*ep0iA=Q<}PBv-Gd)dvxonTTNTjnUQg1W}-}K?dSi88Ur&n-`J|S z`AFP4`w15Jo~ll8ky3Pv>2K2GD7lr>qS9GsJt21L()7QRM5bLl{gp*1xJl13G{{TS zEvCHb-LX5uhebT=T>eUjTc{oLnjTWc=TqBoBv{3sQRV66O+#qF=JSkM?( zu3YfaOJs`5>4)7_88*6iPM_rt+Arei-jOtak9C%3+Z^$UucdP~HK{~p>b_d$+^c)* z^jTJritgJ>gDTRmT>Nr(cJZ#SvYu<6?Y+A>_X1pfnBDE~Ey+YN7H&0}j7ge_%QLs1&{@w>Woc4=B=)1| zvsGK(U0BB8@sK;F>C0X5eMeq&w%T+tPCNd6f>h2P!K$;ltlI?)lb^DD<5TsIW;`h{ zy?XKm*@Rr{)a?e1t(;jpADSPw-T5;!JS%~B>QQFR3hphXqU^m7XEX#SJ@5Vgwn@d| zNrukkY0NKDdKH6Ti*_((&S3ts&ia6u=p^>@DvW0)DhDm^3f576yP2UbdV4VM4Ef)C z_i|>h%vyh$r^41!Vd>jP;q`yd9Ghoo(qG7*70ICcazE>epCU&z?q|PF4q*NFJ7Ll) zlM5&LZYmXh3yL@-$()=tYfIPNbv);*_bO(z+*)w!@wL9^YNd-BX7Aphd%5hj<+j|- zW*%|Nx)%0l&pUQ-`i5MG4U>&NPEh_}ozih6b4B4Hoh5}$Uvf6+u2Jx4a-Q>PW#Sp$ zDG8acWFOY|o_2FIo^XvNc;*^y@qEn-RyQu+y1=CQK#`Ma(sbqDrWJhBEBEb?$YD)) z&zRFM$u!}B-f|D^4_xVteQq;!HwenLCmvlof6+(dz(HZr=%L!JE<2AO zH)a2QQ@2}~cCI3iKkDNni&jYySBAgK84IU)MjZVrXK$(1{xCr%_xh6F8N4Zcj`H6AOh8G80^K_5KRGj=iO=00Q&L4ss9~g*FyK(>K z(>D+GPo7IZ9ee)$0rfeIi51VJ8PC5ciduCiwxK0FbF$L?-=61=gmJRW;J$n8fqTST zO+WVAe1U;76OL>>nC^Uqqj>uim7?hiH|v+lmz`-Z-#77l=Hq>pg&FoWM|93qe*3@t zMe*KB?vLSOY3FC$EZbTbCVl*!;`(}H@%`>`&+OdxU0!r9y}yii)sep@wg30UK0Du$ zJMqZJcbivuZjap%Ce}4)|D9ShhL~OdX0z$qrT(kGVb-{3m%+=;|Nq(*$yUyfoA0(c z*L>}T7ng4zHdwo>q;9F)^{ZP_Z7LOJewk9GUJy8|d##K}a@$tdM^Q5#YTTCaJ=NR% zX8*SR%U*TaU%vcie&N=_SMS$#B|Z}TFz@CG!%Qxry=#K`r|goCb9v_X^q9{XmTkJh z9*b}KOzCyJ-C?vKi~?c2MB$^7xlxZsv! zJJy8WPmR5qxHPJnY00KpeTz4k``qD=-2LD1zrhimGy2hMLzdg^v(q$|zQv+2x9_O} zFT1fysc^#=yX@(|j@&t(lRe=R&#jW$>v1`j_9l}ZCv1Da|Lf}ITkD0EY!ckW)%}S- z`d!~KrOeQ*8ONKx3V$vR?oi7PUAsu3@n^Av)qT&i2X9Ai61@9w3;Xj6HQD=S@0G0m z^~1k@Z+}FO+1Z2bFZ@cr+>o)EKlk5;y@tCc%RY(@SE!YXk?B=mK6&oq>I+t+^0)IWbfzMs!GWq*+B@H~;LLCx0kt zZ#?_<_v88RUD)$|V}A)O`8-$Wqls0;d+{@;4?S-*T)NtN;@R?foUi{s%2>ZLR^K@D zOVaZ%vzw34W`Do=&Xs+Cb0R$Y)ZW(;As4RZf}5ueZUmdBzk6~mBg5}s zZOy*N6|3!4(%Vm7=(&8*ZORkL8|VLZ3M`l3roK2atSvL>&sn2MwI5`rf3#iwwJ@o8 z_E%Qt$@^qt-dtV!-FRZ%@2ML*-J_lNCphMuTom+Bt2bxgXP=aRiRWH7Ouh%B6^Ie}yHkr?P zcJ|(?(Dgx^&$=!;Htoo?w%wo1FGSQnkF+J185&$N)=Y)X@K&;68Ry!6+`clNal3AsD>&%N;^$UBNL zXm{A*ju4fs9M7Da$EK!AOjP?njc?g^&k1V#XFk7ne#5&^+iv-@H`^OoGgB^a`4WYe6p)ppa{xywVFpX{6|n`U_U#+F6x>)j4#-h1P_mTB|0@0E*=O;dUNM1VQ- z*TV~QX5Ll)eD?UoV{3!$Kfbzb{rS=LiyvRSQONlC=W@#Bm_OgA*UK(hKhI`{-Ayxo zV}Jd(ijAf7F5YJT{P4Y8?yQ&hzMO2nxw5k4NoZu{iP!ggZ(7!WNJuWJdA;StfydR- zjh7dt#_g$}Rk=B}qQd{ON87dB=+)?(cK=ODYn#oofnQ^VVrQGjeuzB5 z&u)G1-~7Ml%S$T1?bqxymt;6Dc4YJauen_B-k8kbd0^QX_qyo`TlKg5g_o-Cx0V;k zNI2`hnYMLfL(;C#Ontu`GCl|=-(R4ka=<+08_%snllJs3@$>j)HYrW`tJ$PuJk`>k z!TeWld+bTybN3G8)_YldZfwk*UHIPJ$WfV5?E-^A9_Q(Z)h2~MBn(S79p9i?qvU9L z;MuW=JjR8U8Na<1ir-{rm4E9?JyNS9yDq9xe*dx;-<226RKDLIBE>HK!hBon$%kbf z_SzXg8hi2{t}PI=^7--lH&2FYgXJ8=yM*3P zn6mQ;kBh=Z%a;M-hhn~ej{A1Hw*ASRxaqAy?CXu9zs-rr*#7dw#52?4r$sTj#je@C zH+^^h6qjeQd${T!HsADLe*D=oZud)C5myeBuq^)l`oHzwpZ~k!Zr(e(`i++O-q|Gw z*_QChc-FftY8T!iEb;k|g6H-7N;_xCPn@uyAvVqHc1QjcrtjqsJgy1r_XTeMamiBR z>8$71Csw(7&Unwabn+7a`27pYiq76D{*ZE>o6~LXv46#hCimZO{rcZIT1k83<<@%n zPOnbO?jtkbEWfa4dYi+lNoV6>aYH)v)Ek78S$@lx^#p#TyJ<-@W?MK~3-Y*CD&ATR69N(R!!fVJ~meDK5 zdh*MeNe6c9UnsPzT5dvBRP>Y|kEVZaseOJ(Hfph)gVEnjN3J{7FU~8`pXRXLdws*y zjJ;D<`@Ac-cxLJPfRI)46L_SRtuNkxUTSLv)RF_q0wVmUpN6eFJRxVvHTC%BdLhYv6 zvnAB$O?>cAc-bcp{w9lkDjjQnv7Owo;e@qi9c%2Z=pe~g1)pWaCWyV?$o2hGbxq^m zoLF6crPZnpDOGQtSXf(5ZsGsHkfA(jdfmH+3Wkf$OV+L19MiF88uO%3|Hb)wZ@v^X z&-qdoq@wV3(>K>7m;Wka$8UU6+!Q6};U+R8W$&S+@= zmRzZAQGJzp%;BM$Mr-T(^T85<>KuL-m$EI2n$9#yR5*i`*{RMUP@Eqtjq)5)%9t-LXx*X88LUB&V{UoDcwBR zUg$MBlt~)jc{2A$pT2qA*~u#V#P3~RR<3$Dz+0OoNb%8Fo`sn+>j5BO{hCUV!uSw~K~lofxv_3}$knVpgX!EuW=yK#s{rB2{l7|M0ArHtvy zoAbZtT}fPdW3q{Scm9Osm1z?W_St-YeQ`2tRPBVKg^qG7N|kyJp8G30Yssw%V()TK zg_PKd6l(vtD1u7A-`)DH~J2=9MfL@^-|i5=-l=F%{C?R%^cTP zTr=j`x+P3O^pMtF`}u*|2bR}cs%$UZuG$*A!6LLFUx!W*ia2sR@TH9o`1Ho z*GNumei3CjCHtllRpRCBt{Xmk$C)-Eu(bycnO+&XoauC6-S#kYb?B?g5?#ktPtLABy{$z5CaaDp`-AWMZq7|KpUD#aYRY%Scvj(k9 z<9OPiG|9;3Vfb;W38(yZ#XaBtQBw?g;nozgN^S=-y`#9YX^Dbj)4QA38d|&^omlK#7db6eNNk#y9lS7TLV%H zQE@tO+ashyL?x(7e0B(zkanww5^LwwCY6azN4y*-c{nC5Rq$M*urX+YO3;J|O%EYW zk2NAHogyk>T$5b5gtS>bX|7!G)9jmC{#-)Jte$GDos<8iw0Lj{sk3^juy#)VmZPNU zF((M@ir`hYvt3{^Q@`cFo$6G$W`C>B)TS2A(uWtHszh-KEt()5%f4WVLSxhNEUU)D zOBEcQlKa_IeYk`a9(~_pqNW%$!D-_D)5}y222EhPsH`Zf4q_NCdGX$(DQH5?#swK3 zO-mGhCRtvbz~brnN#%fxvycMo$>3T4e;0kf*nszn8DKd;9c%jLh4+|F&G;2GSQJn*7$})S^odlJsSBTs;4s5B_Yn z*IKW)WQ(kqrpMyK+ip)i96yEhPV}*wk!PwfcSbF1=cJ}5 zD`#xYopti`-kXWcmyC;-Cv2Ui`S0`S1MCgAb3by}YgS)WoJI zp5fb`Pi}hRy?*OiRo0W!CyOw?_}i?h1N^e+n!HoV)2--^iq$N zbCTWlYmr<+8nu_Utrk&n`SqsWT+?I5mt2*(OB4hzeOErYRAFOKi%QUhki8y`L0^?v nJ+F3)sD$dn1QzZ8Yj1DAY{rYeT}v1k7#KWV{an^LB{Ts5zuKF; literal 7896 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 Vmh_nW6$}gv44$rjF6*2UngBdwum%7C diff --git a/lib/resource-1.0/doc/Resource-HOWTO.html b/lib/resource-1.0/doc/Resource-HOWTO.html index 92a5b7c8c..1b77a9191 100644 --- a/lib/resource-1.0/doc/Resource-HOWTO.html +++ b/lib/resource-1.0/doc/Resource-HOWTO.html @@ -7,7 +7,7 @@

Resource grammar writing HOWTO

Author: Aarne Ranta <aarne (at) cs.chalmers.se>
-Last update: Tue Feb 7 09:22:12 2006 +Last update: Tue Feb 21 16:34:52 2006

@@ -101,6 +101,8 @@ one of a small number of different types). Thus we have
  • Relative: construction of relative clauses
  • Conjunction: coordination of phrases
  • Phrase: construction of the major units of text and speech +
  • Text: construction of texts as sequences of phrases +
  • Idiom: idiomatic phrases such as existentials @@ -346,8 +348,8 @@ package.

    • ParamX: parameter types used in many languages -
    • TenseX: implementation of the logical tense, anteriority, - and polarity parameters +
    • CommonX: implementation of the categories $Text$ and $Phr$, as well as of + the logical tense, anteriority, and polarity parameters
    • Coordination: operations to deal with lists and coordination
    • Prelude: general-purpose operations on strings, records, truth values, etc. @@ -566,13 +568,13 @@ are only found in the comments of the modules.

      The category system

      Phrase category modules

      diff --git a/lib/resource-1.0/doc/Resource-HOWTO.txt b/lib/resource-1.0/doc/Resource-HOWTO.txt index 28e11d632..6a176651e 100644 --- a/lib/resource-1.0/doc/Resource-HOWTO.txt +++ b/lib/resource-1.0/doc/Resource-HOWTO.txt @@ -56,6 +56,8 @@ one of a small number of different types). Thus we have - ``Relative``: construction of relative clauses - ``Conjunction``: coordination of phrases - ``Phrase``: construction of the major units of text and speech +- ``Text``: construction of texts as sequences of phrases +- ``Idiom``: idiomatic phrases such as existentials @@ -289,8 +291,8 @@ These modules are language-independent and provided by the existing resource package. - ``ParamX``: parameter types used in many languages -- ``TenseX``: implementation of the logical tense, anteriority, - and polarity parameters +- ``CommonX``: implementation of the categories $Text$ and $Phr$, as well as of + the logical tense, anteriority, and polarity parameters - ``Coordination``: operations to deal with lists and coordination - ``Prelude``: general-purpose operations on strings, records, truth values, etc. @@ -489,12 +491,12 @@ are only found in the comments of the modules. ===The category system=== +- [Common gfdoc/Common.html], [CommonX ../common/CommonX.gf] - [Cat gfdoc/Cat.html], [CatGer gfdoc/CatGer.gf] ===Phrase category modules=== -- [Tense gfdoc/Tense.html], [TenseGer ../german/TenseGer.gf] - [Noun gfdoc/Noun.html], [NounGer ../german/NounGer.gf] - [Adjective gfdoc/Adjective.html], [AdjectiveGer ../german/AdjectiveGer.gf] - [Verb gfdoc/Verb.html], [VerbGer ../german/VerbGer.gf] @@ -505,6 +507,8 @@ are only found in the comments of the modules. - [Relative gfdoc/Relative.html], [RelativeGer ../german/RelativeGer.gf] - [Conjunction gfdoc/Conjunction.html], [ConjunctionGer ../german/ConjunctionGer.gf] - [Phrase gfdoc/Phrase.html], [PhraseGer ../german/PhraseGer.gf] +- [Text gfdoc/Text.html], [TextX ../common/TextX.gf] +- [Idiom gfdoc/Idiom.html], [IdiomGer ../german/IdiomGer.gf] - [Lang gfdoc/Lang.html], [LangGer ../german/LangGer.gf] diff --git a/lib/resource-1.0/doc/gfdoc/Adjective.html b/lib/resource-1.0/doc/gfdoc/Adjective.html index 5e1b3aa6f..df84b9bc0 100644 --- a/lib/resource-1.0/doc/gfdoc/Adjective.html +++ b/lib/resource-1.0/doc/gfdoc/Adjective.html @@ -7,7 +7,7 @@

      Adjectives and adjectival phrases

      Author:
      -Last update: Tue Feb 7 19:04:48 2006 +Last update: Tue Feb 21 16:23:51 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/Adverb.html b/lib/resource-1.0/doc/gfdoc/Adverb.html index 6b4c3b7a9..bc988a462 100644 --- a/lib/resource-1.0/doc/gfdoc/Adverb.html +++ b/lib/resource-1.0/doc/gfdoc/Adverb.html @@ -7,7 +7,7 @@

      Adverbs and adverbial phrases

      Author:
      -Last update: Tue Feb 7 19:04:48 2006 +Last update: Tue Feb 21 16:23:52 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/Cat.html b/lib/resource-1.0/doc/gfdoc/Cat.html index ea2d10b2e..b4427a1e6 100644 --- a/lib/resource-1.0/doc/gfdoc/Cat.html +++ b/lib/resource-1.0/doc/gfdoc/Cat.html @@ -7,7 +7,7 @@

      The category system

      Author:
      -Last update: Tue Feb 7 19:04:49 2006 +Last update: Tue Feb 21 16:23:52 2006

      @@ -40,8 +40,11 @@ gfdoc - a rudimentary GF document generator.

      The category system

      +

      +Some categories are inherited from Common. +

      -    abstract Cat = Tense ** {
      +    abstract Cat = Common ** {
           
             cat
       
      @@ -49,11 +52,10 @@ gfdoc - a rudimentary GF document generator.

      Top-level units

      -Constructed in Phrase. +Constructed in Text: Text. +Constructed in Phrase: Phr and

      -        Text ;  -- text consisting of several phrases
      -        Phr ;   -- phrase in a text                    e.g. "But be quiet my darling."
               Utt ;   -- sentence, question, word...         e.g. "be quiet"
               Voc ;   -- vocative or "please"                e.g. "my darling"
       
      @@ -61,7 +63,8 @@ Constructed in Phrase.

      Sentences and clauses

      -Constructed in Sentence. +Constructed in Sentence, and also in +Idiom.

               S ;     -- declarative sentence                e.g. "she lived here"
      diff --git a/lib/resource-1.0/doc/gfdoc/Common.html b/lib/resource-1.0/doc/gfdoc/Common.html
      new file mode 100644
      index 000000000..d4cbfe679
      --- /dev/null
      +++ b/lib/resource-1.0/doc/gfdoc/Common.html
      @@ -0,0 +1,60 @@
      +
      +
      +
      +
      + Infrastructure with common implementations.
      +
      +

      Infrastructure with common implementations.

      + +Author:
      +Last update: Tue Feb 21 16:23:52 2006 +
      + +

      +
      +

      + + +

      +
      +

      +

      +Produced by +gfdoc - a rudimentary GF document generator. +(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL. +

      + +

      Infrastructure with common implementations.

      +

      +This module defines the abstract parameters of tense, polarity, and +anteriority, which are used in Phrase to generate different +forms of sentences. Together they give 2 x 4 x 4 = 16 sentence forms. +These tenses are defined for all languages in the library. More tenses +can be defined in the language extensions, e.g. the passé simple of +Romance languages. +

      +
      +    abstract Common = {
      +    
      +      cat
      +        Text ;   -- text consisting of several phrases
      +        Phr ;    -- phrase in a text                    e.g. "But be quiet my darling."
      +    
      +        Pol ;
      +        Tense ;
      +        Ant ;
      +    
      +      fun
      +        PPos, PNeg : Pol ;                  -- I sleep/don't sleep
      +        TPres, TPast, TFut, TCond : Tense ; -- I sleep/slept/will sleep/would sleep
      +        ASimul, AAnter : Ant ;              -- I sleep/have slept
      +    
      +    }
      +
      +

      + + + + diff --git a/lib/resource-1.0/doc/gfdoc/Conjunction.html b/lib/resource-1.0/doc/gfdoc/Conjunction.html index 26709d54e..6f8abd9f0 100644 --- a/lib/resource-1.0/doc/gfdoc/Conjunction.html +++ b/lib/resource-1.0/doc/gfdoc/Conjunction.html @@ -7,7 +7,7 @@

      Coordination

      Author:
      -Last update: Tue Feb 7 19:04:49 2006 +Last update: Tue Feb 21 16:23:52 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/Demonstrative.html b/lib/resource-1.0/doc/gfdoc/Demonstrative.html index 4f83d397a..0191ab138 100644 --- a/lib/resource-1.0/doc/gfdoc/Demonstrative.html +++ b/lib/resource-1.0/doc/gfdoc/Demonstrative.html @@ -14,7 +14,7 @@

      Author: -Last update: Tue Feb 7 19:04:53 2006 +Last update: Tue Feb 21 16:23:56 2006

      Produced by diff --git a/lib/resource-1.0/doc/gfdoc/Idiom.html b/lib/resource-1.0/doc/gfdoc/Idiom.html new file mode 100644 index 000000000..e06b24bee --- /dev/null +++ b/lib/resource-1.0/doc/gfdoc/Idiom.html @@ -0,0 +1,52 @@ + + + + + Idiomatic expressions + +

      Idiomatic expressions

      + +Author:
      +Last update: Tue Feb 21 16:23:52 2006 +
      + +

      +
      +

      + + +

      +
      +

      +

      +Produced by +gfdoc - a rudimentary GF document generator. +(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL. +

      + +

      Idiomatic expressions

      +
      +    abstract Idiom = Cat ** {
      +
      +

      +

      +This module defines constructions that are formed in fixed ways, +often different even in closely related languages. +

      +
      +      fun
      +        ExistNP   : NP -> Cl ;    -- there is a house
      +        ImpersCl  : VP -> Cl ;    -- it rains
      +        GenericCl : VP -> Cl ;    -- one sleeps
      +    
      +        ProgrVP   : VP -> VP ;    -- sleeping
      +    
      +    }
      +
      +

      + + + + diff --git a/lib/resource-1.0/doc/gfdoc/IrregFre.gf b/lib/resource-1.0/doc/gfdoc/IrregFre.gf index f4d9cb042..748cb4361 100644 --- a/lib/resource-1.0/doc/gfdoc/IrregFre.gf +++ b/lib/resource-1.0/doc/gfdoc/IrregFre.gf @@ -24,7 +24,7 @@ lin admettre_V2 = v_besch56 "admettre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ; advenir_V = v_besch23 "advenir" ** {vtyp = VEsse ; lock_V = <>} ; aller_V = v_besch22 "aller" ** {vtyp = VEsse ; lock_V = <>} ; - apercevoir_V2 = v_besch38 "apercevoir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complGen} ; + apercevoir_V2 = v_besch38 "apercevoir" ** {vtyp = VRefl ; lock_V2 = <> ; c2 = complGen} ; apparaître_V = v_besch64 "apparaître" ** {vtyp = VHabere ; lock_V = <>} ; appartenir_V2 = v_besch23 "appartenir" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complDat} ; appendre_V2 = v_besch53 "appendre" ** {vtyp = VHabere ; lock_V2 = <> ; c2 = complAcc} ; diff --git a/lib/resource-1.0/doc/gfdoc/Lang.html b/lib/resource-1.0/doc/gfdoc/Lang.html index 4c81cec31..db99ade40 100644 --- a/lib/resource-1.0/doc/gfdoc/Lang.html +++ b/lib/resource-1.0/doc/gfdoc/Lang.html @@ -7,7 +7,7 @@

      The Main Module of the Resource Grammar

      Author:
      -Last update: Tue Feb 7 19:04:49 2006 +Last update: Tue Feb 21 16:23:53 2006

      @@ -44,7 +44,9 @@ grammar. A smaller top module is Test. Relative, Conjunction, Phrase, + Text, Structural, + Idiom, Lexicon ** {} ;
      diff --git a/lib/resource-1.0/doc/gfdoc/Mathematical.html b/lib/resource-1.0/doc/gfdoc/Mathematical.html index e018465dd..154d0ecd9 100644 --- a/lib/resource-1.0/doc/gfdoc/Mathematical.html +++ b/lib/resource-1.0/doc/gfdoc/Mathematical.html @@ -7,7 +7,7 @@

      The Mathematics API to the Resource Grammar

      Author:
      -Last update: Tue Feb 7 19:04:53 2006 +Last update: Tue Feb 21 16:23:56 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/Multimodal.html b/lib/resource-1.0/doc/gfdoc/Multimodal.html index a8890de6f..59b903185 100644 --- a/lib/resource-1.0/doc/gfdoc/Multimodal.html +++ b/lib/resource-1.0/doc/gfdoc/Multimodal.html @@ -14,7 +14,7 @@

      Author: -Last update: Tue Feb 7 19:04:53 2006 +Last update: Tue Feb 21 16:23:56 2006

      Produced by diff --git a/lib/resource-1.0/doc/gfdoc/Noun.html b/lib/resource-1.0/doc/gfdoc/Noun.html index 77bf1aa6f..32290145c 100644 --- a/lib/resource-1.0/doc/gfdoc/Noun.html +++ b/lib/resource-1.0/doc/gfdoc/Noun.html @@ -7,7 +7,7 @@

      The construction of nouns, noun phrases, and determiners

      Author:
      -Last update: Tue Feb 7 19:04:50 2006 +Last update: Tue Feb 21 16:23:53 2006

      @@ -59,7 +59,7 @@ Pronouns are defined in the module Structural. A noun phrase already formed can be modified by a Predeterminer.

      -       PredetNP : Predet -> NP -> NP; -- only the man 
      +        PredetNP : Predet -> NP -> NP; -- only the man 
       

      diff --git a/lib/resource-1.0/doc/gfdoc/Numeral.html b/lib/resource-1.0/doc/gfdoc/Numeral.html index 2cfffa8e6..0677803f6 100644 --- a/lib/resource-1.0/doc/gfdoc/Numeral.html +++ b/lib/resource-1.0/doc/gfdoc/Numeral.html @@ -7,7 +7,7 @@

      Numerals

      Author:
      -Last update: Tue Feb 7 19:04:50 2006 +Last update: Tue Feb 21 16:23:53 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsEng.html b/lib/resource-1.0/doc/gfdoc/ParadigmsEng.html index 89c0eda59..926a8830a 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsEng.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsEng.html @@ -43,7 +43,7 @@

      Author: -Last update: Tue Feb 7 19:04:51 2006 +Last update: Tue Feb 21 16:23:54 2006

      Produced by @@ -54,7 +54,7 @@ gfdoc - a rudimentary GF document generator. ==

      -# -path=.:../abstract:../../prelude +# -path=.:../abstract:../../prelude:../common

      English Lexical Paradigms

      @@ -109,7 +109,6 @@ To abstract over gender names, we define the following identifiers. human : Gender ; nonhuman : Gender ; masculine : Gender ; - feminite : Gender ;

      diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsFin.html b/lib/resource-1.0/doc/gfdoc/ParadigmsFin.html index 3af26d9b5..0a3d72c29 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsFin.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsFin.html @@ -28,7 +28,7 @@

      Author: -Last update: Tue Feb 7 19:04:51 2006 +Last update: Tue Feb 21 16:23:55 2006

      Produced by @@ -190,14 +190,6 @@ Examples: talo, kukko, huippu, koira, kukka,

      -For convenience, we define 1-argument paradigms as producing the -nonhuman gender; the following function changes this: -

      -
      -      humanN : N -> N ;
      -
      -

      -

      A special case are nouns with no alternations: the vowel harmony is inferred from the last letter, which must be one of o, u, ö, y. diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsFre.html b/lib/resource-1.0/doc/gfdoc/ParadigmsFre.html index bd788334a..daebfdf4f 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsFre.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsFre.html @@ -41,7 +41,7 @@

      Author: -Last update: Tue Feb 7 19:04:52 2006 +Last update: Tue Feb 21 16:23:55 2006

      Produced by @@ -276,13 +276,6 @@ the following pattern is used:

      -From a given A, it is possible to get back to A. -

      -
      -      adegA : A -> A ;
      -
      -

      -

      For prefixed adjectives, the following function is provided.

      @@ -397,25 +390,24 @@ questions, verb phrases, and adjectives. aVV : V -> VV ; -- "j'arrive à parler" mkV2V : V -> Preposition -> Preposition -> V2V ; mkVA : V -> VA ; - mkV2A : V -> Preposition -> V2A ; + mkV2A : V -> Preposition -> Preposition -> V2A ; mkVQ : V -> VQ ; mkV2Q : V -> Preposition -> V2Q ; - mkAS : A -> AS ; - subjAS : A -> AS ; + mkAS : A -> AS ; mkA2S : A -> Preposition -> A2S ; mkAV : A -> Preposition -> AV ; mkA2V : A -> Preposition -> Preposition -> A2V ;

      -Notice: categories V2S, V2V, V2A, V2Q are in v 1.0 treated +Notice: categories V2S, V2V, V2Q are in v 1.0 treated just as synonyms of V2, and the second argument is given as an adverb. Likewise AS, A2S, AV, A2V are just A. V0 is just V.

      -      V0, V2S, V2V, V2A, V2Q : Type ;
      +      V0, V2S, V2V, V2Q : Type ;
             AS, A2S, AV, A2V : Type ;
       

      diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsGer.html b/lib/resource-1.0/doc/gfdoc/ParadigmsGer.html index 39fc6b7f0..badbb7e36 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsGer.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsGer.html @@ -35,7 +35,7 @@

      Author: -Last update: Tue Feb 7 19:04:52 2006 +Last update: Tue Feb 21 16:23:55 2006

      Produced by diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsIta.html b/lib/resource-1.0/doc/gfdoc/ParadigmsIta.html index a3295f030..a4503dc3c 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsIta.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsIta.html @@ -41,7 +41,7 @@

      Author: -Last update: Tue Feb 7 19:04:52 2006 +Last update: Tue Feb 21 16:23:55 2006

      Produced by @@ -389,25 +389,24 @@ questions, verb phrases, and adjectives. aVV : V -> VV ; -- "j'arrive à parler" mkV2V : V -> Preposition -> Preposition -> V2V ; mkVA : V -> VA ; - mkV2A : V -> Preposition -> V2A ; + mkV2A : V -> Preposition -> Preposition -> V2A ; mkVQ : V -> VQ ; mkV2Q : V -> Preposition -> V2Q ; - mkAS : A -> AS ; - subjAS : A -> AS ; + mkAS : A -> AS ; mkA2S : A -> Preposition -> A2S ; mkAV : A -> Preposition -> AV ; mkA2V : A -> Preposition -> Preposition -> A2V ;

      -Notice: categories V2S, V2V, V2A, V2Q are in v 1.0 treated +Notice: categories V2S, V2V, V2Q are in v 1.0 treated just as synonyms of V2, and the second argument is given as an adverb. Likewise AS, A2S, AV, A2V are just A. V0 is just V.

      -      V0, V2S, V2V, V2A, V2Q : Type ;
      +      V0, V2S, V2V, V2Q : Type ;
             AS, A2S, AV, A2V : Type ;
       

      diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsNor.html b/lib/resource-1.0/doc/gfdoc/ParadigmsNor.html index 22b6b8240..d8adfc52b 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsNor.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsNor.html @@ -43,7 +43,7 @@

      Author: -Last update: Tue Feb 7 19:04:52 2006 +Last update: Tue Feb 21 16:23:55 2006

      Produced by diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsSpa.html b/lib/resource-1.0/doc/gfdoc/ParadigmsSpa.html index 76b8015b3..fcb1f3e89 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsSpa.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsSpa.html @@ -41,7 +41,7 @@

      Author: -Last update: Tue Feb 7 19:04:52 2006 +Last update: Tue Feb 21 16:23:55 2006

      Produced by @@ -396,26 +396,25 @@ questions, verb phrases, and adjectives. aVV : V -> VV ; -- "j'arrive à parler" mkV2V : V -> Preposition -> Preposition -> V2V ; mkVA : V -> VA ; - mkV2A : V -> Preposition -> V2A ; + mkV2A : V -> Preposition -> Preposition -> V2A ; mkVQ : V -> VQ ; mkV2Q : V -> Preposition -> V2Q ; - mkAS : A -> AS ; - subjAS : A -> AS ; + mkAS : A -> AS ; mkA2S : A -> Preposition -> A2S ; mkAV : A -> Preposition -> AV ; mkA2V : A -> Preposition -> Preposition -> A2V ;

      -Notice: categories V2S, V2V, V2A, V2Q are in v 1.0 treated +Notice: categories V2S, V2V, V2Q are in v 1.0 treated just as synonyms of V2, and the second argument is given as an adverb. Likewise AS, A2S, AV, A2V are just A. V0 is just V.

      -      V0, V2S, V2V, V2A, V2Q : Type ;
      -      AS, A2S, AV, A2V : Type ;
      +      V0, V2S, V2V, V2Q : Type ;
      +      AS, A2S, AV, A2V  : Type ;
       

      diff --git a/lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html b/lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html index b73be52a1..4d8d34ca4 100644 --- a/lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html +++ b/lib/resource-1.0/doc/gfdoc/ParadigmsSwe.html @@ -43,7 +43,7 @@

      Author: -Last update: Tue Feb 7 19:04:52 2006 +Last update: Tue Feb 21 16:23:55 2006

      Produced by diff --git a/lib/resource-1.0/doc/gfdoc/Phrase.html b/lib/resource-1.0/doc/gfdoc/Phrase.html index 8cb2731b0..a5a43935c 100644 --- a/lib/resource-1.0/doc/gfdoc/Phrase.html +++ b/lib/resource-1.0/doc/gfdoc/Phrase.html @@ -7,7 +7,7 @@

      Phrases and utterances

      Author:
      -Last update: Tue Feb 7 19:04:50 2006 +Last update: Tue Feb 21 16:23:53 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/Predication.html b/lib/resource-1.0/doc/gfdoc/Predication.html index 03a6e4e8f..ad208d90f 100644 --- a/lib/resource-1.0/doc/gfdoc/Predication.html +++ b/lib/resource-1.0/doc/gfdoc/Predication.html @@ -7,7 +7,7 @@

      A Small Predication Library

      Author:
      -Last update: Tue Feb 7 19:04:53 2006 +Last update: Tue Feb 21 16:23:56 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/Question.html b/lib/resource-1.0/doc/gfdoc/Question.html index 6ef994d05..8fe66fa78 100644 --- a/lib/resource-1.0/doc/gfdoc/Question.html +++ b/lib/resource-1.0/doc/gfdoc/Question.html @@ -7,7 +7,7 @@

      Questions and interrogative pronouns

      Author:
      -Last update: Tue Feb 7 19:04:50 2006 +Last update: Tue Feb 21 16:23:53 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/Relative.html b/lib/resource-1.0/doc/gfdoc/Relative.html index 92ca39433..841449a6b 100644 --- a/lib/resource-1.0/doc/gfdoc/Relative.html +++ b/lib/resource-1.0/doc/gfdoc/Relative.html @@ -7,7 +7,7 @@

      Relative clauses and pronouns

      Author:
      -Last update: Tue Feb 7 19:04:50 2006 +Last update: Tue Feb 21 16:23:53 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/Sentence.html b/lib/resource-1.0/doc/gfdoc/Sentence.html index c3f9beb7a..fe3c8ca6d 100644 --- a/lib/resource-1.0/doc/gfdoc/Sentence.html +++ b/lib/resource-1.0/doc/gfdoc/Sentence.html @@ -7,7 +7,7 @@

      Sentences, clauses, imperatives, and sentential complements

      Author:
      -Last update: Tue Feb 7 19:04:50 2006 +Last update: Tue Feb 21 16:23:54 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/Structural.html b/lib/resource-1.0/doc/gfdoc/Structural.html index b344945af..f87e9e4ba 100644 --- a/lib/resource-1.0/doc/gfdoc/Structural.html +++ b/lib/resource-1.0/doc/gfdoc/Structural.html @@ -7,7 +7,7 @@

      GF Resource Grammar API for Structural Words

      Author:
      -Last update: Tue Feb 7 19:04:51 2006 +Last update: Tue Feb 21 16:23:54 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/Symbol.html b/lib/resource-1.0/doc/gfdoc/Symbol.html index 37b4c5a85..7903f9236 100644 --- a/lib/resource-1.0/doc/gfdoc/Symbol.html +++ b/lib/resource-1.0/doc/gfdoc/Symbol.html @@ -7,7 +7,7 @@

      Symbolic expressions

      Author:
      -Last update: Tue Feb 7 19:04:53 2006 +Last update: Tue Feb 21 16:23:56 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/Tense.html b/lib/resource-1.0/doc/gfdoc/Tense.html index 5ad23f01d..79f170e2b 100644 --- a/lib/resource-1.0/doc/gfdoc/Tense.html +++ b/lib/resource-1.0/doc/gfdoc/Tense.html @@ -7,7 +7,7 @@

      Tense, Polarity, and Anteriority

      Author:
      -Last update: Tue Feb 7 19:04:51 2006 +Last update: Tue Feb 21 16:23:54 2006

      diff --git a/lib/resource-1.0/doc/gfdoc/Text.html b/lib/resource-1.0/doc/gfdoc/Text.html new file mode 100644 index 000000000..0d28c3e6e --- /dev/null +++ b/lib/resource-1.0/doc/gfdoc/Text.html @@ -0,0 +1,45 @@ + + + + + Texts + +

      Texts

      + +Author:
      +Last update: Tue Feb 21 16:23:54 2006 +
      + +

      +
      +

      + + +

      +
      +

      +

      +Produced by +gfdoc - a rudimentary GF document generator. +(c) Aarne Ranta (aarne@cs.chalmers.se) 2002 under GNU GPL. +

      + +

      Texts

      +
      +    abstract Text = Cat ** {
      +    
      +      fun
      +        TEmpty : Text ;
      +        TFullStop : Phr -> Text -> Text ;
      +        TQuestMark : Phr -> Text -> Text ;
      +        TExclMark : Phr -> Text -> Text ;
      +    
      +    }
      +
      +

      + + + + diff --git a/lib/resource-1.0/doc/gfdoc/Verb.html b/lib/resource-1.0/doc/gfdoc/Verb.html index 119b1ffad..c1fd5b16b 100644 --- a/lib/resource-1.0/doc/gfdoc/Verb.html +++ b/lib/resource-1.0/doc/gfdoc/Verb.html @@ -7,7 +7,7 @@

      The construction of verb phrases

      Author:
      -Last update: Tue Feb 7 19:04:51 2006 +Last update: Tue Feb 21 16:23:54 2006

      diff --git a/lib/resource-1.0/doc/index.html b/lib/resource-1.0/doc/index.html index 05331eef9..513397e85 100644 --- a/lib/resource-1.0/doc/index.html +++ b/lib/resource-1.0/doc/index.html @@ -7,7 +7,7 @@

      GF Resource Grammar Library v. 1.0

      Author: Aarne Ranta <aarne (at) cs.chalmers.se>
      -Last update: Tue Feb 7 19:05:12 2006 +Last update: Tue Feb 21 16:23:46 2006

      @@ -47,8 +47,8 @@ The following figure gives the dependencies of these modules. The documentation of the individual modules:

        +
      • Common: abstract notions with language-indep. implementations
      • Cat: the category system -
      • Tense: tense, anteriority, and polarity values
      • Noun: construction of nouns and noun phrases
      • Adjective: construction of adjectival phrases
      • Verb: construction of verb phrases @@ -59,6 +59,8 @@ The documentation of the individual modules:
      • Relative: construction of relative clauses
      • Conjunction: coordination of phrases
      • Phrase: construction of the major units of text and speech +
      • Text: construction of texts from phrases, using punctuation +
      • Idiom: idiomatic phrases, such as existentials
      • Structural: a lexicon of structural words
      • Lexicon: a lexicon of other common words, for test purposes
      • Lang: the main module comprising all the others diff --git a/lib/resource-1.0/doc/index.txt b/lib/resource-1.0/doc/index.txt index a097e2322..8b7175aa6 100644 --- a/lib/resource-1.0/doc/index.txt +++ b/lib/resource-1.0/doc/index.txt @@ -27,8 +27,8 @@ The following figure gives the dependencies of these modules. The documentation of the individual modules: +- [Common gfdoc/Common.html]: abstract notions with language-indep. implementations - [Cat gfdoc/Cat.html]: the category system -- [Tense gfdoc/Tense.html]: tense, anteriority, and polarity values - [Noun gfdoc/Noun.html]: construction of nouns and noun phrases - [Adjective gfdoc/Adjective.html]: construction of adjectival phrases - [Verb gfdoc/Verb.html]: construction of verb phrases @@ -39,6 +39,8 @@ The documentation of the individual modules: - [Relative gfdoc/Relative.html]: construction of relative clauses - [Conjunction gfdoc/Conjunction.html]: coordination of phrases - [Phrase gfdoc/Phrase.html]: construction of the major units of text and speech +- [Text gfdoc/Text.html]: construction of texts from phrases, using punctuation +- [Idiom gfdoc/Idiom.html]: idiomatic phrases, such as existentials - [Structural gfdoc/Structural.html]: a lexicon of structural words - [Lexicon gfdoc/Lexicon.html]: a lexicon of other common words, for test purposes - [Lang gfdoc/Lang.html]: the main module comprising all the others diff --git a/lib/resource-1.0/english/ParadigmsEng.gf b/lib/resource-1.0/english/ParadigmsEng.gf index 0ca711c4d..f9abbaf02 100644 --- a/lib/resource-1.0/english/ParadigmsEng.gf +++ b/lib/resource-1.0/english/ParadigmsEng.gf @@ -1,4 +1,4 @@ ---# -path=.:../abstract:../../prelude +--# -path=.:../abstract:../../prelude:../common --1 English Lexical Paradigms -- diff --git a/lib/resource-1.0/french/LexiconFre.gf b/lib/resource-1.0/french/LexiconFre.gf index 336c449cd..79c873a0b 100644 --- a/lib/resource-1.0/french/LexiconFre.gf +++ b/lib/resource-1.0/french/LexiconFre.gf @@ -129,7 +129,7 @@ lin old_A = prefA (compADeg (mkA "vieux" "vieille" "vieux" "vieillement")) ; ---- vieil open_V2 = ouvrir_V2 ; - paint_V2A = mkV2A (v2V peindre_V2) accusative ; + paint_V2A = mkV2A (v2V peindre_V2) accusative (mkPreposition "en") ; paper_N = regN "papier" masculine ; paris_PN = mkPN "Paris" masculine ; peace_N = regN "paix" feminine ; diff --git a/lib/resource-1.0/french/ParadigmsFre.gf b/lib/resource-1.0/french/ParadigmsFre.gf index 5a6a5086b..d0f7531b9 100644 --- a/lib/resource-1.0/french/ParadigmsFre.gf +++ b/lib/resource-1.0/french/ParadigmsFre.gf @@ -250,21 +250,21 @@ oper aVV : V -> VV ; -- "j'arrive à parler" mkV2V : V -> Preposition -> Preposition -> V2V ; mkVA : V -> VA ; - mkV2A : V -> Preposition -> V2A ; + mkV2A : V -> Preposition -> Preposition -> V2A ; mkVQ : V -> VQ ; mkV2Q : V -> Preposition -> V2Q ; - mkAS : A -> AS ; + mkAS : A -> AS ; mkA2S : A -> Preposition -> A2S ; mkAV : A -> Preposition -> AV ; mkA2V : A -> Preposition -> Preposition -> A2V ; --- Notice: categories $V2S, V2V, V2A, V2Q$ are in v 1.0 treated +-- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated -- just as synonyms of $V2$, and the second argument is given -- as an adverb. Likewise $AS, A2S, AV, A2V$ are just $A$. -- $V0$ is just $V$. - V0, V2S, V2V, V2A, V2Q : Type ; + V0, V2S, V2V, V2Q : Type ; AS, A2S, AV, A2V : Type ; --2 Definitions of the paradigms @@ -331,7 +331,7 @@ oper dirdirV3 v = dirV3 v complDat ; V0 : Type = V ; - V2S, V2V, V2Q, V2A : Type = V2 ; + V2S, V2V, V2Q : Type = V2 ; AS, AV : Type = A ; A2S, A2V : Type = A2 ; @@ -343,7 +343,7 @@ oper aVV v = v ** {c2 = complDat ; lock_VV = <>} ; mkV2V v p t = mkV2 v p ** {c3 = t.p1 ; s3 = p.p2 ; lock_V2V = <>} ; mkVA v = v ** {lock_VA = <>} ; - mkV2A v p = mkV2 v p ** {lock_V2A = <>} ; + mkV2A v p q = mkV3 v p q ** {lock_V2A = <>} ; mkVQ v = v ** {lock_VQ = <>} ; mkV2Q v p = mkV2 v p ** {lock_V2Q = <>} ; diff --git a/lib/resource-1.0/italian/LexiconIta.gf b/lib/resource-1.0/italian/LexiconIta.gf index ab92c51bb..49d83cbc8 100644 --- a/lib/resource-1.0/italian/LexiconIta.gf +++ b/lib/resource-1.0/italian/LexiconIta.gf @@ -128,7 +128,8 @@ lin oil_N = regN "olio" ; old_A = prefA (regADeg "vecchio") ; open_V2 = dirV2 (verboV (aprire_102 "aprire")) ; - paint_V2A = mkV2A (verboV (cingere_31 "pingere")) accusative ; + paint_V2A = + mkV2A (verboV (cingere_31 "pingere")) accusative (mkPreposition "in") ; paper_N = regN "carta" ; paris_PN = mkPN "Parigi" masculine ; peace_N = femN (regN "pace") ; diff --git a/lib/resource-1.0/italian/ParadigmsIta.gf b/lib/resource-1.0/italian/ParadigmsIta.gf index dea627a9a..1742721c8 100644 --- a/lib/resource-1.0/italian/ParadigmsIta.gf +++ b/lib/resource-1.0/italian/ParadigmsIta.gf @@ -248,7 +248,7 @@ oper aVV : V -> VV ; -- "j'arrive à parler" mkV2V : V -> Preposition -> Preposition -> V2V ; mkVA : V -> VA ; - mkV2A : V -> Preposition -> V2A ; + mkV2A : V -> Preposition -> Preposition -> V2A ; mkVQ : V -> VQ ; mkV2Q : V -> Preposition -> V2Q ; @@ -257,12 +257,12 @@ oper mkAV : A -> Preposition -> AV ; mkA2V : A -> Preposition -> Preposition -> A2V ; --- Notice: categories $V2S, V2V, V2A, V2Q$ are in v 1.0 treated +-- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated -- just as synonyms of $V2$, and the second argument is given -- as an adverb. Likewise $AS, A2S, AV, A2V$ are just $A$. -- $V0$ is just $V$. - V0, V2S, V2V, V2A, V2Q : Type ; + V0, V2S, V2V, V2Q : Type ; AS, A2S, AV, A2V : Type ; @@ -354,7 +354,7 @@ oper dirdirV3 v = dirV3 v dative ; V0 : Type = V ; - V2S, V2V, V2Q, V2A : Type = V2 ; + V2S, V2V, V2Q : Type = V2 ; AS, AV : Type = A ; A2S, A2V : Type = A2 ; @@ -366,7 +366,7 @@ oper aVV v = v ** {c2 = complDat ; lock_VV = <>} ; mkV2V v p t = mkV2 v p ** {c3 = t.p1 ; s3 = p.p2 ; lock_V2V = <>} ; mkVA v = v ** {lock_VA = <>} ; - mkV2A v p = mkV2 v p ** {lock_V2A = <>} ; + mkV2A v p q = mkV3 v p q ** {lock_V2A = <>} ; mkVQ v = v ** {lock_VQ = <>} ; mkV2Q v p = mkV2 v p ** {lock_V2Q = <>} ; diff --git a/lib/resource-1.0/lang.gfprob b/lib/resource-1.0/lang.gfprob index 28dcd8432..742081a0b 100644 --- a/lib/resource-1.0/lang.gfprob +++ b/lib/resource-1.0/lang.gfprob @@ -14,4 +14,4 @@ --# prob UsePN 0.01 --# prob yes_Phr 0.02 --# prob no_Phr 0.02 ---# prob TEmpty 0.1 +--# prob TEmpty 0.05 diff --git a/lib/resource-1.0/romance/CatRomance.gf b/lib/resource-1.0/romance/CatRomance.gf index f7d2c75f6..98e56152d 100644 --- a/lib/resource-1.0/romance/CatRomance.gf +++ b/lib/resource-1.0/romance/CatRomance.gf @@ -75,8 +75,8 @@ incomplete concrete CatRomance of Cat = -- Open lexical classes, e.g. Lexicon V, VQ, VA = Verb ; - V2, VV, V2A = Verb ** {c2 : Compl} ; - V3 = Verb ** {c2,c3 : Compl} ; + V2, VV = Verb ** {c2 : Compl} ; + V2A, V3 = Verb ** {c2,c3 : Compl} ; VS = Verb ** {m : Polarity => Mood} ; A = {s : Degree => AForm => Str ; isPre : Bool} ; diff --git a/lib/resource-1.0/romance/VerbRomance.gf b/lib/resource-1.0/romance/VerbRomance.gf index 0f3b09719..5fc172c62 100644 --- a/lib/resource-1.0/romance/VerbRomance.gf +++ b/lib/resource-1.0/romance/VerbRomance.gf @@ -10,7 +10,8 @@ incomplete concrete VerbRomance of Verb = ComplV3 v np1 np2 = insertObject v.c3 np2 (insertObject v.c2 np1 (predV v)) ; - ComplVV v vp = insertComplement (\\a => prepCase v.c2.c ++ infVP vp a) (predV v) ; + ComplVV v vp = + insertComplement (\\a => prepCase v.c2.c ++ infVP vp a) (predV v) ; ComplVS v s = insertExtrapos (\\b => conjThat ++ s.s ! (v.m ! b)) (predV v) ; ComplVQ v q = insertExtrapos (\\_ => q.s ! QIndir) (predV v) ; @@ -18,9 +19,14 @@ incomplete concrete VerbRomance of Verb = ComplVA v ap = insertComplement (\\a => ap.s ! AF a.g a.n) (predV v) ; ComplV2A v np ap = + let af = case v.c3.isDir of { + True => AF np.a.g np.a.n ; -- ... bleues + _ => AF Masc Sg -- il les peint en bleu + } + in insertComplement - (\\a => ap.s ! AF np.a.g np.a.n) - (insertObject v.c2 np (predV v)) ; + (\\a => v.c3.s ++ prepCase v.c3.c ++ ap.s ! af) + (insertObject v.c2 np (predV v)) ; UseComp comp = insertComplement comp.s (predV copula) ; diff --git a/lib/resource-1.0/spanish/LexiconSpa.gf b/lib/resource-1.0/spanish/LexiconSpa.gf index 5a38ae085..bb01b102a 100644 --- a/lib/resource-1.0/spanish/LexiconSpa.gf +++ b/lib/resource-1.0/spanish/LexiconSpa.gf @@ -127,7 +127,7 @@ lin oil_N = regN "aceite" ; old_A = prefA (regADeg "viejo") ; open_V2 = dirV2 (special_ppV (regV "abrir") "abierto") ; - paint_V2A = mkV2A (regV "pintar") accusative ; + paint_V2A = mkV2A (regV "pintar") accusative (mkPreposition "en") ; paper_N = regN "papel" ; paris_PN = mkPN "Paris" masculine ; peace_N = femN (regN "paz") ; diff --git a/lib/resource-1.0/spanish/ParadigmsSpa.gf b/lib/resource-1.0/spanish/ParadigmsSpa.gf index 17263b1a5..c65855292 100644 --- a/lib/resource-1.0/spanish/ParadigmsSpa.gf +++ b/lib/resource-1.0/spanish/ParadigmsSpa.gf @@ -251,7 +251,7 @@ oper aVV : V -> VV ; -- "j'arrive à parler" mkV2V : V -> Preposition -> Preposition -> V2V ; mkVA : V -> VA ; - mkV2A : V -> Preposition -> V2A ; + mkV2A : V -> Preposition -> Preposition -> V2A ; mkVQ : V -> VQ ; mkV2Q : V -> Preposition -> V2Q ; @@ -260,13 +260,13 @@ oper mkAV : A -> Preposition -> AV ; mkA2V : A -> Preposition -> Preposition -> A2V ; --- Notice: categories $V2S, V2V, V2A, V2Q$ are in v 1.0 treated +-- Notice: categories $V2S, V2V, V2Q$ are in v 1.0 treated -- just as synonyms of $V2$, and the second argument is given -- as an adverb. Likewise $AS, A2S, AV, A2V$ are just $A$. -- $V0$ is just $V$. - V0, V2S, V2V, V2A, V2Q : Type ; - AS, A2S, AV, A2V : Type ; + V0, V2S, V2V, V2Q : Type ; + AS, A2S, AV, A2V : Type ; --2 The definitions of the paradigms @@ -364,7 +364,7 @@ oper dirdirV3 v = dirV3 v dative ; V0 : Type = V ; - V2S, V2V, V2Q, V2A : Type = V2 ; + V2S, V2V, V2Q : Type = V2 ; AS, AV : Type = A ; A2S, A2V : Type = A2 ; @@ -376,7 +376,7 @@ oper aVV v = v ** {c2 = complDat ; lock_VV = <>} ; mkV2V v p t = mkV2 v p ** {c3 = t.p1 ; s3 = p.p2 ; lock_V2V = <>} ; mkVA v = v ** {lock_VA = <>} ; - mkV2A v p = mkV2 v p ** {lock_V2A = <>} ; + mkV2A v p q = mkV3 v p q ** {lock_V2A = <>} ; mkVQ v = v ** {lock_VQ = <>} ; mkV2Q v p = mkV2 v p ** {lock_V2Q = <>} ;