From 0330a2e5e84c6eac79fb2b3aa2e4e2704b9b1943 Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Thu, 30 May 2013 13:16:35 +0000 Subject: [PATCH] the Bulgarian phrasebook works again --- examples/phrasebook/SentencesBul.gf | 10 ++++++++-- examples/phrasebook/WordsBul.gf | 6 +----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/examples/phrasebook/SentencesBul.gf b/examples/phrasebook/SentencesBul.gf index 4f6d6317f..1b5d453c7 100644 --- a/examples/phrasebook/SentencesBul.gf +++ b/examples/phrasebook/SentencesBul.gf @@ -29,8 +29,14 @@ lin YouFamMale = mkPerson youSg_Pron ; lin ACitizen p cit = let noun : N = case p.name.a.gn of { - R.GSg g => lin N {s = \\nf => cit.s1 ! g ! nf; g = case g of {R.Masc=>R.AMasc R.Human; R.Fem=>R.AFem; R.Neut=>R.ANeut}} ; - R.GPl => lin N {s = \\nf => cit.s1 ! R.Masc ! nf; g = R.AMasc R.Human} + R.GSg g => lin N {s = \\nf => cit.s1 ! g ! nf; + rel = cit.s2.s; + g = case g of {R.Masc=>R.AMasc R.Human; R.Fem=>R.AFem; R.Neut=>R.ANeut} + } ; + R.GPl => lin N {s = \\nf => cit.s1 ! R.Masc ! nf; + rel = cit.s2.s; + g = R.AMasc R.Human + } } ; in mkCl p.name noun ; diff --git a/examples/phrasebook/WordsBul.gf b/examples/phrasebook/WordsBul.gf index c71af5c01..18772fa7d 100644 --- a/examples/phrasebook/WordsBul.gf +++ b/examples/phrasebook/WordsBul.gf @@ -148,7 +148,7 @@ concrete WordsBul of Words = SentencesBul ** })) ; AReady p = mkCl p.name (mkA076 "готов") ; AScared p = mkCl p.name (mkA076 "уплашен") ; - ASpeak p lang = mkCl p.name (dirV2 (stateV (mkV173 "говоря"))) (mkNP (adj2noun lang)) ; + ASpeak p lang = mkCl p.name (dirV2 (stateV (mkV173 "говоря"))) (mkNP (substantiveN lang (R.AMasc R.NonHuman))) ; AThirsty p = mkCl p.name (mkA079 "жаден") ; ATired p = mkCl p.name (mkA076 "уморен") ; AUnderstand p = mkCl p.name (actionV (mkV186 "разбирам") (mkV170 "разбера")) ; @@ -291,10 +291,6 @@ concrete WordsBul of Words = SentencesBul ** xOf : GNumber -> N -> NPPerson -> NPPerson = \n,x,p -> relativePerson n (mkCN x) (\a,b,c -> mkNP (mkNP the_Quant a c) (SyntaxBul.mkAdv (mkPrep "" R.Dat) b)) p ; - adj2noun : A -> N ; - adj2noun a = let g = R.AMasc R.NonHuman - in lin N {s = \\nf => a.s ! R.nform2aform nf g; g = g} ; - mkTransport : N -> {name : CN ; by : Adv} = \n -> { name = mkCN n ; by = SyntaxBul.mkAdv with_Prep (mkNP n)