From 6028bf767995be05deee30924b456b2734eb7632 Mon Sep 17 00:00:00 2001 From: krasimir Date: Mon, 28 Mar 2016 21:03:00 +0000 Subject: [PATCH] interjections, MassNP and simple VP phrases in Slovenian --- lib/src/slovenian/CatSlv.gf | 3 +++ lib/src/slovenian/GrammarSlv.gf | 2 +- lib/src/slovenian/NounSlv.gf | 5 +++++ lib/src/slovenian/ParadigmsSlv.gf | 4 ++++ lib/src/slovenian/ResSlv.gf | 13 ++++++++++++- lib/src/slovenian/VerbSlv.gf | 6 ++++++ 6 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 lib/src/slovenian/VerbSlv.gf diff --git a/lib/src/slovenian/CatSlv.gf b/lib/src/slovenian/CatSlv.gf index ee653883b..e9d8df2d2 100644 --- a/lib/src/slovenian/CatSlv.gf +++ b/lib/src/slovenian/CatSlv.gf @@ -1,6 +1,9 @@ concrete CatSlv of Cat = CommonX ** open ResSlv in { lincat + -- Verb + VP = ResSlv.VP ; + -- Adjective AP = {s : Species => Gender => Case => Number => Str} ; diff --git a/lib/src/slovenian/GrammarSlv.gf b/lib/src/slovenian/GrammarSlv.gf index 168af4f51..0b154ab5c 100644 --- a/lib/src/slovenian/GrammarSlv.gf +++ b/lib/src/slovenian/GrammarSlv.gf @@ -2,7 +2,7 @@ concrete GrammarSlv of Grammar = NounSlv, --- VerbEng, + VerbSlv, AdjectiveSlv, {- AdverbEng, NumeralEng, diff --git a/lib/src/slovenian/NounSlv.gf b/lib/src/slovenian/NounSlv.gf index c0126bcc2..492df76cb 100644 --- a/lib/src/slovenian/NounSlv.gf +++ b/lib/src/slovenian/NounSlv.gf @@ -25,6 +25,11 @@ concrete NounSlv of Noun = CatSlv ** open ResSlv in { spec = Indef } ; + MassNP n = { + s = \\c => n.s ! Indef ! c ! Sg ; + a = {g=n.g; n=Sg; p=P3} + } ; + UseN n = {s = \\_ => n.s; g = n.g} ; AdjCN ap cn = { diff --git a/lib/src/slovenian/ParadigmsSlv.gf b/lib/src/slovenian/ParadigmsSlv.gf index e81530280..cbc09b25f 100644 --- a/lib/src/slovenian/ParadigmsSlv.gf +++ b/lib/src/slovenian/ParadigmsSlv.gf @@ -286,4 +286,8 @@ oper } ; a = {g=g; n=n; p=p} } ; + + mkInterj : Str -> Interj = + \s -> lin Interj {s=s} ; + } diff --git a/lib/src/slovenian/ResSlv.gf b/lib/src/slovenian/ResSlv.gf index b6d5c59df..03d0f40b1 100644 --- a/lib/src/slovenian/ResSlv.gf +++ b/lib/src/slovenian/ResSlv.gf @@ -1,4 +1,4 @@ -resource ResSlv = { +resource ResSlv = open ParamX in { param Case = Nom | Gen | Dat | Acc | Loc | Instr; @@ -27,4 +27,15 @@ param oper Agr = {g : Gender; n : Number; p : Person} ; + VP = {s : Tense => Agr => Str} ; + + predV : (VForm => Str) -> VP = + \v -> { s = table { + Pres => \\a => v ! VPres a.n a.p ; + Past => \\a => "biti" ++ v ! VPastPart a.g a.n ; + Fut => \\a => "biti" ++ v ! VPastPart a.g a.n ; + Cond => \\a => "bi" ++ v ! VPastPart a.g a.n + } + } ; + } diff --git a/lib/src/slovenian/VerbSlv.gf b/lib/src/slovenian/VerbSlv.gf new file mode 100644 index 000000000..2da684bae --- /dev/null +++ b/lib/src/slovenian/VerbSlv.gf @@ -0,0 +1,6 @@ +concrete VerbSlv of Verb = CatSlv ** open ResSlv, Prelude in { + + lin + UseV v = predV v.s ; + +}