diff --git a/lib/doc/MkSynopsis.hs b/lib/doc/MkSynopsis.hs index 9ef356d54..2fff82292 100644 --- a/lib/doc/MkSynopsis.hs +++ b/lib/doc/MkSynopsis.hs @@ -334,14 +334,13 @@ readFileC cod file = do case cod of "utf8" -> readFile file _ -> do - system $ "iconv -f ISO-8859-1 -t UTF-8 " ++ file ++ " >" ++ tmp + system $ "iconv -f " ++ cod ++ " -t UTF-8 " ++ file ++ " >" ++ tmp readFile tmp -- 'intelligently' determine the coding of a file +---- AR 5/6/2016: now utf8 is used for all languages except Bul, where no characters are shown in documentation anyway coding file = case language file of - "Pol" -> "utf8" - "Rus" -> "utf8" - "Mlt" -> "utf8" - _ -> "latin1" ---- + "Bul" -> "CP1251" --- "ISO-8859-1" + _ -> "utf8" language = reverse . take 3 . drop 3 . reverse diff --git a/lib/doc/synopsis-intro.txt b/lib/doc/synopsis-intro.txt index 09be88a5f..156b47094 100644 --- a/lib/doc/synopsis-intro.txt +++ b/lib/doc/synopsis-intro.txt @@ -68,6 +68,8 @@ Other relevant documents: - [RGL Documentation and Publications ./rgl-publications.html]: links to publications and other documentation - [More modules gfdoc/sources.html]: extra modules, dictionaries, and the internals of the resource grammar +- [Internal abstract syntax ./absfuns.html]: synopsis of internal +abstract functions and their Universal Dependency labels - [RGL Source Browser ./browse]: look up functions and their source code - [Minibar http://cloud.grammaticalframework.org/minibar/minibar.html]: find resource grammar expressions by parsing (select Grammar: LibraryBrowser) diff --git a/lib/doc/synopsis.html b/lib/doc/synopsis.html index 9a6472981..8b9933289 100644 --- a/lib/doc/synopsis.html +++ b/lib/doc/synopsis.html @@ -86,6 +86,8 @@ Other relevant documents:
mkCN-> RS -> CNmkUtt (mkCN man_N (mkRS (mkRCl which_RP she_NP love_V2))) mkUtt (mkCN man_N (mkRS (mkRCl which_RP she_NP love_V2))) mkCN-> RS -> CNmkUtt (mkCN (mkCN old_A man_N) (mkRS (mkRCl which_RP she_NP love_V2)) ) mkUtt (mkCN (mkCN old_A man_N) (mkRS (mkRCl which_RP she_NP love_V2)) ) mkCN-> Adv -> CNmkUtt (mkCN house_N (mkAdv on_Prep (mkNP the_Det hill_N))) mkUtt (mkCN house_N (mkAdv on_Prep (mkNP the_Det hill_N))) mkCN-> Adv -> CNmkUtt (mkCN (mkCN big_A house_N) (mkAdv on_Prep (mkNP the_Det hill_N))) mkUtt (mkCN (mkCN big_A house_N) (mkAdv on_Prep (mkNP the_Det hill_N))) mkCN-> S -> CNmkUtt (mkCN (mkCN rule_N) (mkS (mkCl she_NP sleep_V))) mkUtt (mkCN (mkCN rule_N) (mkS (mkCl she_NP sleep_V))) mkCN-> QS -> CNmkUtt (mkCN (mkCN question_N) (mkQS (mkQCl (mkCl she_NP sleep_V)))) mkUtt (mkCN (mkCN question_N) (mkQS (mkQCl (mkCl she_NP sleep_V)))) mkCN-> VP -> CNmkUtt (mkCN (mkCN reason_N) (mkVP sleep_V)) mkUtt (mkCN (mkCN reason_N) (mkVP sleep_V)) mkCN-> SC -> CNmkUtt (mkCN (mkCN reason_N) (mkVP sleep_V)) mkUtt (mkCN (mkCN reason_N) (mkVP sleep_V)) mkCNmkCl-> RS -> ClmkUtt (mkCl she_NP (mkRS (mkRCl which_RP (mkVP sleep_V)))) mkUtt (mkCl she_NP (mkRS (mkRCl which_RP (mkVP sleep_V)))) mkClmkClSlash-> Prep -> ClSlashmkUtt (mkQCl who_IP (mkClSlash (mkCl she_NP sleep_V) with_Prep)) mkUtt (mkQCl who_IP (mkClSlash (mkCl she_NP sleep_V) with_Prep)) mkClSlashmuch_DetmkUtt (mkNP much_Det wine_N) mkUtt (mkNP much_Det wine_N) somePl_DetmkNP-> RS -> NPmkUtt (mkNP (mkNP john_PN) (mkRS (mkRCl which_RP (mkVP walk_V)))) mkUtt (mkNP (mkNP john_PN) (mkRS (mkRCl which_RP (mkVP walk_V)))) mkNPmkRCl-> VP -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkVP always_AdV (mkVP sleep_V))))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkVP always_AdV (mkVP sleep_V))))) mkRCl-> V -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP sleep_V))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP sleep_V))) mkRCl-> V2 -> NP -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP love_V2 he_NP))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP love_V2 he_NP))) mkRCl-> V3 -> NP -> NP -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP send_V3 it_NP he_NP))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP send_V3 it_NP he_NP))) mkRCl-> VV -> VP -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP want_VV (mkVP sleep_V)))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP want_VV (mkVP sleep_V)))) mkRCl-> VS -> S -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP say_VS (mkS (mkCl i_NP sleep_V))))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP say_VS (mkS (mkCl i_NP sleep_V))))) mkRCl-> VQ -> QS -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP wonder_VQ (mkQS (mkQCl who_IP sleep_V))))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP wonder_VQ (mkQS (mkQCl who_IP sleep_V))))) mkRCl-> VA -> A -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP become_VA old_A))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP become_VA old_A))) mkRCl-> VA -> AP -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP become_VA (mkAP very_AdA old_A)))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP become_VA (mkAP very_AdA old_A)))) mkRCl-> V2A -> NP -> A -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP paint_V2A it_NP red_A))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP paint_V2A it_NP red_A))) mkRCl-> V2A -> NP -> AP -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP paint_V2A it_NP (mkAP very_AdA red_A)))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP paint_V2A it_NP (mkAP very_AdA red_A)))) mkRCl-> V2S -> NP -> S -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP answer_V2S he_NP (mkS (mkCl we_NP sleep_V))))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP answer_V2S he_NP (mkS (mkCl we_NP sleep_V))))) mkRCl-> V2Q -> NP -> QS -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V))))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP ask_V2Q he_NP (mkQS (mkQCl who_IP sleep_V))))) mkRCl-> V2V -> NP -> VP -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP beg_V2V he_NP (mkVP sleep_V)))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP beg_V2V he_NP (mkVP sleep_V)))) mkRCl-> A -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP old_A))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP old_A))) mkRCl-> A -> NP -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP old_A he_NP))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP old_A he_NP))) mkRCl-> A2 -> NP -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP married_A2 he_NP))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP married_A2 he_NP))) mkRCl-> AP -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkAP very_AdA old_A)))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkAP very_AdA old_A)))) mkRCl-> NP -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkNP the_Det woman_N)))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkNP the_Det woman_N)))) mkRCl-> N -> RClmkUtt (mkCN student_N (mkRS (mkRCl which_RP woman_N))) mkUtt (mkCN student_N (mkRS (mkRCl which_RP woman_N))) mkRCl-> CN -> RClmkUtt (mkCN student_N (mkRS (mkRCl which_RP (mkCN old_A woman_N)))) mkUtt (mkCN student_N (mkRS (mkRCl which_RP (mkCN old_A woman_N)))) mkRCl-> Adv -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP here_Adv))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP here_Adv))) mkRCl-> NP -> V2 -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP we_NP love_V2))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP we_NP love_V2))) mkRCl-> ClSlash -> RClmkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkClSlash (mkClSlash she_NP love_V2) today_Adv)))) mkUtt (mkCN woman_N (mkRS (mkRCl which_RP (mkClSlash (mkClSlash she_NP love_V2) today_Adv)))) mkRClmkRP-> NP -> RP -> RPmkRP in_Prep (mkNP all_Predet (mkNP the_Quant pluralNum city_N)) which_RP mkRP in_Prep (mkNP all_Predet (mkNP the_Quant pluralNum city_N)) which_RP which_RPmkRS-> (Ant) -> (Pol) -> RCl -> RSmkUtt (mkCN woman_N (mkRS conditionalTense anteriorAnt negativePol (mkRCl which_RP sleep_V))) mkUtt (mkCN woman_N (mkRS conditionalTense anteriorAnt negativePol (mkRCl which_RP sleep_V))) mkRSmkRS-> RS -> RS -> RSmkUtt (mkCN woman_N (mkRS or_Conj (mkRS (mkRCl which_RP sleep_V)) (mkRS (mkRCl which_RP we_NP love_V2)))) mkUtt (mkCN woman_N (mkRS or_Conj (mkRS (mkRCl which_RP sleep_V)) (mkRS (mkRCl which_RP we_NP love_V2)))) mkRSmkVPSlash-> NP -> VPSlashmkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash send_V3 it_NP)) ) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash send_V3 it_NP)) ) mkVPSlash-> AP -> VPSlashmkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash paint_V2A (mkAP red_A))) ) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash paint_V2A (mkAP red_A))) ) mkVPSlash-> QS -> VPSlashmkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash ask_V2Q (mkQS (mkQCl where_IAdv (mkCl i_NP sleep_V))))) ) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash ask_V2Q (mkQS (mkQCl where_IAdv (mkCl i_NP sleep_V))))) ) mkVPSlash-> S -> VPSlashmkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash answer_V2S (mkS (mkCl i_NP sleep_V)))) ) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash answer_V2S (mkS (mkCl i_NP sleep_V)))) ) mkVPSlash-> VP -> VPSlashmkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V (mkVP sleep_V)))) mkUtt (mkQCl who_IP (mkClSlash she_NP (mkVPSlash beg_V2V (mkVP sleep_V)))) mkVPSlash-> Str -> N
-mkN2-> Prep -> Prep -> N3
-mkPNzai_placeAdvTypetimeAdvType-> V
-depV-> Prep -> Prep -> V3
-mkV3-> Prep -> V2S
-mkV2S-> Prep -> V2V
-mkV2VStr -> V2VmkV2Vf-> Prep -> Prep -> V2A
-mkV2A-> Prep -> V2Q
-infInessinfElatinfIllatinfPresPartinfPresPartAgrprePrep(vesi,veden,vesiä : Str) -> NmkN(vesi,veden,vesiä,vettä : Str) -> N(vesi,veden,vesiä,vettä : Str) -> N-> Str -> V
-mkVStr -> V -> VcaseV-> V -> VvOlla-> Case -> V3
-dirdirV3mkVVmkVS-> Prep -> V2V
-mkV2V-> Prep -> InfForm -> V2VmkV2V-> Prep -> InfForm -> V2V
-mkVA-> Prep -> V2Q
-mkAdV-> N -> Case -> Det
-mkQuantmkPrepStr -> PrepmkPrepStr -> Prep -> PrepmkN-> Str -> N
-mkN2mkA-> Prep -> A2
-mkAdvmkV-> V
-reflV-> VmkV2-> VV
-mkV2S-> N
-mkN(führen : Str) -> VmkV(sehen,sieht,sah,sähe,gesehen : Str) -> V(sehen,sieht,sah,sähe,gesehen : Str) -> VmkV(geben, gibt, gib, gab, gäbe, gegeben : Str) -> V(geben, gibt, gib, gab, gäbe, gegeben : Str) -> V-> Prep -> Prep -> V3
-mkVS-> Prep -> N2 ---η μηÏÎÏα + γενική
+-> Prep -> N2 ---η μητέρα + γενική-> V
-depV-> Str -> Case -> V2V
+mkV2S-> Str -> Case -> V2SmkV2Q-> Str -> Case -> V2QmkV2A-> Str -> Case -> V2AdirV2-> V2-> Str -> N
-mkN2-> N
-changeCompoundN-> Prep -> Prep -> N3
-mkPNirregAdvmkAdVmkV(stämmer : Str) -> V(stämmer : Str) -> VmkV(slita, slet : Str) -> VmkV(gå,går,gå,gick,gått,gången : Str) -> VmkV-> Str -> VdepV-> V
-mkV2