diff --git a/lib/doc/synopsis-intro.txt b/lib/doc/synopsis-intro.txt index ad2ead3b8..7b1b139bc 100644 --- a/lib/doc/synopsis-intro.txt +++ b/lib/doc/synopsis-intro.txt @@ -8,7 +8,7 @@ =Introduction= The GF Resource Grammar Library is the standard library for Grammatical Framework. -It covers the morphology and basic syntax of currently 16 languages. +It covers the morphology and basic syntax of currently 20 languages. This document contains the most important parts of the GF Resource Grammar API, as needed by a GF application programmer. @@ -24,11 +24,11 @@ constructing trees in them. examples. - [Chapter 3 #toc83]: morphological paradigms. - [Chapter 4 #toc102]: additional libraries. -- [Chapter 5 #toc108]: how to "browse" the library by +- [Chapter 5 #toc109]: how to "browse" the library by loading the grammars into the ``gf`` command editor. -- [Chapter 6 #toc109]: a brief example of how application grammars can +- [Chapter 6 #toc110]: a brief example of how application grammars can use the resource modules. -- [Detailed table of contents #toc110]. +- [Detailed table of contents #toc111]. Many examples in [Chapter 2 #toc5] can be seen in multiple languages by hovering the diff --git a/lib/doc/synopsis.html b/lib/doc/synopsis.html index 3f1b74c07..8e3c8eda1 100644 --- a/lib/doc/synopsis.html +++ b/lib/doc/synopsis.html @@ -17,7 +17,7 @@
The GF Resource Grammar Library is the standard library for Grammatical Framework. -It covers the morphology and basic syntax of currently 16 languages. +It covers the morphology and basic syntax of currently 20 languages.
This document contains the most important parts of the GF Resource Grammar API, @@ -38,11 +38,11 @@ constructing trees in them. examples.
gf command editor.
-@@ -559,12 +559,12 @@ Lexical category, constructors given in
mkAP-> VP -> APmkCl she_NP (mkAP (mkAP ready_A) (mkVP sleep_V)) mkCl she_NP (mkAP (mkAP ready_A) (mkVP sleep_V)) mkAP-> SC -> APmkCl she_NP (mkAP (mkAP ready_A) (mkSC (mkVP sleep_V))) mkCl she_NP (mkAP (mkAP ready_A) (mkSC (mkVP sleep_V))) mkAPanteriorAntmkS anteriorAnt (mkCl she_NP sleep_V) mkS anteriorAnt (mkCl she_NP sleep_V) simultaneousAntmkCN-> VP -> CNmkCN (mkCN reason_N) (mkVP sleep_V) mkCN (mkCN reason_N) (mkVP sleep_V) mkCN-> SC -> CNmkCN (mkCN reason_N) (mkVP sleep_V) mkCN (mkCN reason_N) (mkVP sleep_V) mkCNgenericCl-> ClmkS (genericCl (mkVP sleep_V)) mkS (genericCl (mkVP sleep_V)) mkClmkCl-> VV -> VP -> ClmkCl she_NP want_VV (mkVP sleep_V) mkCl she_NP want_VV (mkVP sleep_V) mkClmkCl-> V2V -> NP -> VP -> ClmkCl she_NP beg_V2V he_NP (mkVP sleep_V) mkCl she_NP beg_V2V he_NP (mkVP sleep_V) mkClmkCl-> N -> ClmkCl she_NP woman_N mkCl she_NP woman_N mkCl-> CN -> ClmkCl she_NP (mkCN old_A woman_N) mkCl she_NP (mkCN old_A woman_N) mkClmkCl-> ClmkCl (progressiveVP (mkVP rain_V0)) mkCl (progressiveVP (mkVP rain_V0)) mkClmkClSlash-> VV -> V2 -> ClSlashmkQCl who_IP (mkClSlash she_NP want_VV see_V2) mkQCl who_IP (mkClSlash she_NP want_VV see_V2) mkClSlashmkClSlash-> VS -> SSlash -> ClSlashmkQCl who_IP (mkClSlash she_NP know_VS (mkSSlash (mkTemp pastTense anteriorAnt) negativePol (mkClSlash we_NP (mkVPSlash see_V2)))) mkQCl who_IP (mkClSlash she_NP know_VS (mkSSlash (mkTemp pastTense anteriorAnt) negativePol (mkClSlash we_NP (mkVPSlash see_V2)))) someSg_DetsomeSg_Det someSg_Det that_DetmkIAdv-> Adv -> IAdvmkIAdv where_IAdv (mkAdv in_Prep (mkNP paris_PN)) mkIAdv where_IAdv (mkAdv in_Prep (mkNP paris_PN)) when_IAdvwhere_IAdvmkUtt where_IAdv mkUtt where_IAdv why_IAdvhow8many_IDetmkUtt (mkIP how8many_IDet house_N) mkUtt (mkIP how8many_IDet house_N) mkIDetmkImp-> ImpmkImp (mkVP (mkVP come_V) (mkAdv to_Prep (mkNP i_Pron house_N))) mkImp (mkVP (mkVP come_V) (mkAdv to_Prep (mkNP i_Pron house_N))) mkImp-> ImpmkImp come_V mkImp come_V mkImp-> NP -> ImpmkImp buy_V2 it_NP mkImp buy_V2 it_NP pluralImpFormmkUtt pluralImpForm (mkImp (mkVP man_N)) mkUtt pluralImpForm (mkImp (mkVP man_N)) politeImpFormmkUtt politeImpForm (mkImp (mkVP man_N)) mkUtt politeImpForm (mkImp (mkVP man_N)) singularImpFormmkUtt singularImpForm (mkImp (mkVP man_N)) mkUtt singularImpForm (mkImp (mkVP man_N)) mkNP-> V2 -> NPmkUtt (mkNP (mkNP the_Det man_N) see_V2) mkUtt (mkNP (mkNP the_Det man_N) see_V2) mkNPmkPhr-> Utt -> (Voc) -> PhrmkPhr but_PConj (mkUtt (mkImp sleep_V)) (mkVoc (mkNP i_Pron friend_N)) mkPhr but_PConj (mkUtt (mkImp sleep_V)) (mkVoc (mkNP i_Pron friend_N)) mkPhr-> PhrmkPhr (mkS futureTense negativePol (mkCl she_NP sleep_V)) mkPhr (mkS futureTense negativePol (mkCl she_NP sleep_V)) mkPhrmkPhr-> PhrmkPhr (mkQS conditionalTense (mkQCl (mkCl she_NP sleep_V))) mkPhr (mkQS conditionalTense (mkQCl (mkCl she_NP sleep_V))) mkPhr-> PhrmkPhr (mkImp sleep_V) mkPhr (mkImp sleep_V) negativePolmkS negativePol (mkCl she_NP sleep_V) mkS negativePol (mkCl she_NP sleep_V) positivePolfor_PrepmkAdv for_Prep it_NP mkAdv for_Prep it_NP from_PrepmkQCl-> VV -> VP -> QClmkQCl who_IP want_VV (mkVP sleep_V) mkQCl who_IP want_VV (mkVP sleep_V) mkQClmkQCl-> V2V -> NP -> VP -> QClmkQCl who_IP beg_V2V he_NP (mkVP sleep_V) mkQCl who_IP beg_V2V he_NP (mkVP sleep_V) mkQClmkQCl-> N -> QClmkQCl who_IP woman_N mkQCl who_IP woman_N mkQCl-> CN -> QClmkQCl who_IP (mkCN old_A woman_N) mkQCl who_IP (mkCN old_A woman_N) mkQClmkQCl-> NP -> QClmkQCl where_IAdv she_NP mkQCl where_IAdv she_NP mkQClmkQS-> (Ant) -> (Pol) -> QCl -> QSmkQS conditionalTense anteriorAnt negativePol (mkQCl who_IP sleep_V) mkQS conditionalTense anteriorAnt negativePol (mkQCl who_IP sleep_V) mkQSmkRCl-> VV -> VP -> RClmkCN woman_N (mkRS (mkRCl which_RP want_VV (mkVP sleep_V))) mkCN woman_N (mkRS (mkRCl which_RP want_VV (mkVP sleep_V))) mkRClmkRCl-> V2V -> NP -> VP -> RClmkCN woman_N (mkRS (mkRCl which_RP beg_V2V he_NP (mkVP sleep_V))) mkCN woman_N (mkRS (mkRCl which_RP beg_V2V he_NP (mkVP sleep_V))) mkRClmkRCl-> N -> RClmkCN student_N (mkRS (mkRCl which_RP woman_N)) mkCN student_N (mkRS (mkRCl which_RP woman_N)) mkRCl-> CN -> RClmkCN student_N (mkRS (mkRCl which_RP (mkCN old_A woman_N))) mkCN student_N (mkRS (mkRCl which_RP (mkCN old_A woman_N))) mkRClmkRS-> (Ant) -> (Pol) -> RCl -> RSmkCN woman_N (mkRS conditionalTense anteriorAnt negativePol (mkRCl which_RP sleep_V)) mkCN woman_N (mkRS conditionalTense anteriorAnt negativePol (mkRCl which_RP sleep_V)) mkRSmkS-> (Ant) -> (Pol) -> Cl -> SmkS conditionalTense anteriorAnt negativePol (mkCl she_NP sleep_V) mkS conditionalTense anteriorAnt negativePol (mkCl she_NP sleep_V) mkSmkS-> ListS -> SmkS and_Conj (mkListS (mkS (mkCl she_NP sleep_V)) (mkListS (mkS (mkCl i_NP run_V)) (mkS (mkCl (mkNP youSg_Pron) walk_V)))) mkS and_Conj (mkListS (mkS (mkCl she_NP sleep_V)) (mkListS (mkS (mkCl i_NP run_V)) (mkS (mkCl (mkNP youSg_Pron) walk_V)))) mkS-> S -> SmkS today_Adv (mkS (mkCl she_NP sleep_V)) mkS today_Adv (mkS (mkCl she_NP sleep_V)) mkSC-> SCmkSC (mkVP sleep_V) mkSC (mkVP sleep_V) mkSSlash-> Pol -> ClSlash -> SSlashmkSSlash (mkTemp pastTense anteriorAnt) negativePol (mkClSlash she_NP (mkVPSlash see_V2)) mkSSlash (mkTemp pastTense anteriorAnt) negativePol (mkClSlash she_NP (mkVPSlash see_V2)) conditionalTensemkS conditionalTense (mkCl she_NP sleep_V) mkS conditionalTense (mkCl she_NP sleep_V) futureTensemkS futureTense (mkCl she_NP sleep_V) mkS futureTense (mkCl she_NP sleep_V) pastTensemkS pastTense (mkCl she_NP sleep_V) mkS pastTense (mkCl she_NP sleep_V) presentTensemkText-> TextmkText (mkS pastTense (mkCl she_NP sleep_V)) mkText (mkS pastTense (mkCl she_NP sleep_V)) mkTextmkText-> TextmkText (mkQS pastTense (mkQCl (mkCl she_NP sleep_V))) mkText (mkQS pastTense (mkQCl (mkCl she_NP sleep_V))) mkText-> Imp -> TextmkText negativePol (mkImp sleep_V) mkText negativePol (mkImp sleep_V) mkText-> Text -> TextmkText (mkText (mkPhr (mkUtt where_IAdv)) questMarkPunct (mkText (mkPhr (mkUtt here_Adv)))) (mkText (mkPhr (mkUtt when_IAdv)) questMarkPunct (mkText (mkPhr (mkUtt now_Adv)) exclMarkPunct)) mkText (mkText (mkPhr (mkUtt where_IAdv)) questMarkPunct (mkText (mkPhr (mkUtt here_Adv)))) (mkText (mkPhr (mkUtt when_IAdv)) questMarkPunct (mkText (mkPhr (mkUtt now_Adv)) exclMarkPunct)) lets_Utt-> UttmkPhr (lets_Utt (mkVP sleep_V)) mkPhr (lets_Utt (mkVP sleep_V)) mkUtt-> UttmkUtt (mkS pastTense (mkCl she_NP sleep_V)) mkUtt (mkS pastTense (mkCl she_NP sleep_V)) mkUttmkUtt-> UttmkUtt (mkQS pastTense negativePol (mkQCl who_IP sleep_V)) mkUtt (mkQS pastTense negativePol (mkQCl who_IP sleep_V)) mkUttmkUtt-> (Pol) -> Imp -> UttmkUtt pluralImpForm negativePol (mkImp (mkVP man_N)) mkUtt pluralImpForm negativePol (mkImp (mkVP man_N)) mkUttmkUtt-> UttmkUtt (mkVP sleep_V) mkUtt (mkVP sleep_V) mkUtthave_V2mkUtt (mkVP have_V2 it_NP) mkUtt (mkVP have_V2 it_NP) mkVP-> VPmkUtt (mkVP sleep_V) mkUtt (mkVP sleep_V) mkVP-> NP -> VPmkUtt (mkVP love_V2 he_NP) mkUtt (mkVP love_V2 he_NP) mkVP-> NP -> NP -> VPmkUtt (mkVP send_V3 it_NP he_NP) mkUtt (mkVP send_V3 it_NP he_NP) mkVP-> VP -> VPmkUtt (mkVP want_VV (mkVP sleep_V)) mkUtt (mkVP want_VV (mkVP sleep_V)) mkVP-> S -> VPmkUtt (mkVP know_VS (mkS (mkCl she_NP sleep_V))) mkUtt (mkVP know_VS (mkS (mkCl she_NP sleep_V))) mkVP-> QS -> VPmkUtt (mkVP wonder_VQ (mkQS (mkQCl who_IP sleep_V))) mkUtt (mkVP wonder_VQ (mkQS (mkQCl who_IP sleep_V))) mkVP-> AP -> VPmkUtt (mkVP become_VA (mkAP red_A)) mkUtt (mkVP become_VA (mkAP red_A)) mkVP-> NP -> AP -> VPmkUtt (mkVP paint_V2A it_NP (mkAP red_A)) mkUtt (mkVP paint_V2A it_NP (mkAP red_A)) mkVP-> NP -> S -> VPmkUtt (mkVP answer_V2S he_NP (mkS (mkCl she_NP sleep_V))) mkUtt (mkVP answer_V2S he_NP (mkS (mkCl she_NP sleep_V))) mkVP-> NP -> QS -> VPmkUtt (mkVP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V))) mkUtt (mkVP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V))) mkVP-> NP -> VP -> VPmkUtt (mkVP beg_V2V he_NP (mkVP sleep_V)) mkUtt (mkVP beg_V2V he_NP (mkVP sleep_V)) mkVP-> VPmkUtt (mkVP old_A) mkUtt (mkVP old_A) mkVP-> NP -> VPmkUtt (mkVP old_A he_NP) mkUtt (mkVP old_A he_NP) mkVP-> NP -> VPmkUtt (mkVP married_A2 he_NP) mkUtt (mkVP married_A2 he_NP) mkVP-> VPmkUtt (mkVP (mkAP very_AdA old_A)) mkUtt (mkVP (mkAP very_AdA old_A)) mkVP-> VPmkUtt (mkVP woman_N) mkUtt (mkVP woman_N) mkVP-> VPmkUtt (mkVP (mkCN old_A woman_N)) mkUtt (mkVP (mkCN old_A woman_N)) mkVP-> VPmkUtt (mkVP (mkNP the_Det woman_N)) mkUtt (mkVP (mkNP the_Det woman_N)) mkVP-> VPmkUtt (mkVP here_Adv) mkUtt (mkVP here_Adv) mkVP-> Adv -> VPmkUtt (mkVP (mkVP sleep_V) here_Adv) mkUtt (mkVP (mkVP sleep_V) here_Adv) mkVP-> VP -> VPmkUtt (mkVP always_AdV (mkVP sleep_V)) mkUtt (mkVP always_AdV (mkVP sleep_V)) mkVP-> NP -> VPmkUtt (mkVP (mkVPSlash paint_V2A (mkAP black_A)) it_NP) mkUtt (mkVP (mkVPSlash paint_V2A (mkAP black_A)) it_NP) mkVP-> VPmkUtt (reflexiveVP (mkVPSlash paint_V2A (mkAP black_A))) mkUtt (reflexiveVP (mkVPSlash paint_V2A (mkAP black_A))) mkVP-> VPmkUtt (mkVP (mkComp (mkAP warm_A))) mkUtt (mkVP (mkComp (mkAP warm_A))) passiveVP-> VPmkUtt (passiveVP love_V2) mkUtt (passiveVP love_V2) passiveVP-> NP -> VPmkUtt (passiveVP love_V2 she_NP) mkUtt (passiveVP love_V2 she_NP) progressiveVP-> VPmkUtt (progressiveVP (mkVP sleep_V)) mkUtt (progressiveVP (mkVP sleep_V)) reflexiveVP-> VPmkUtt (reflexiveVP love_V2) mkUtt (reflexiveVP love_V2) reflexiveVPmkVPSlash-> VP -> VPSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V (mkVP sleep_V))) mkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V (mkVP sleep_V))) mkVPSlash-> VPSlash -> VPSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash want_VV (mkVPSlash see_V2))) mkQCl who_IP (mkClSlash she_NP (mkVPSlash want_VV (mkVPSlash see_V2))) mkVPSlash-> NP -> VPSlash -> VPSlashmkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V i_NP (mkVPSlash see_V2))) mkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V i_NP (mkVPSlash see_V2))) can8know_VVmkUtt (mkVP can8know_VV (mkVP sleep_V)) mkUtt (mkVP can8know_VV (mkVP sleep_V)) can_VVmkUtt (mkVP can_VV (mkVP sleep_V)) mkUtt (mkVP can_VV (mkVP sleep_V)) must_VV-> Str -> N
+mkN2-> N2mkA(banal,banale,banaux,banalement : Str) -> AmkV(tenir,tiens,tient,tenons,tenez,tiennent,tienne,tenions,tiensI,tint,tiendra,tenu : Str) -> VmkV-> V-> Prep
+mkV-> (presSg1,presSg2,presSg3,presPl1,presPl2,presPl3,pastSgMasc,imp,inf: Str) -> VmkVS-> VSmkVQ-> VQdirV2-> V2