diff --git a/src/slovenian/AdjectiveSlv.gf b/src/slovenian/AdjectiveSlv.gf new file mode 100644 index 00000000..34060deb --- /dev/null +++ b/src/slovenian/AdjectiveSlv.gf @@ -0,0 +1,13 @@ +concrete AdjectiveSlv of Adjective = CatSlv ** open ResSlv in { + + lin + PositA a = { + s = \\spec,g,c,n => + case of { + => a.s ! APositDefNom ; + => a.s ! APositDefAcc ; + _ => a.s ! APosit g n c + } + } ; + +} diff --git a/src/slovenian/CatSlv.gf b/src/slovenian/CatSlv.gf index c301d1bf..c99f3b02 100644 --- a/src/slovenian/CatSlv.gf +++ b/src/slovenian/CatSlv.gf @@ -1,13 +1,21 @@ concrete CatSlv of Cat = open ResSlv in { lincat + -- Adjective + AP = {s : Species => Gender => Case => Number => Str} ; + + -- Noun + CN = {s : Species => Case => Number => Str; g : Gender} ; + + -- Structural Prep = {s : Str; c : Case} ; + -- Open lexical classes, e.g. Lexicon + V = {s : VForm => Str}; + + A = {s : AForm => Str}; + N = {s : Case => Number => Str; g : Gender}; PN = {s : Case => Number => Str; g : Gender}; - A = {s : AForm => Str}; - - V = {s : VForm => Str}; - } diff --git a/src/slovenian/GrammarSlv.gf b/src/slovenian/GrammarSlv.gf new file mode 100644 index 00000000..62719367 --- /dev/null +++ b/src/slovenian/GrammarSlv.gf @@ -0,0 +1,22 @@ +--# -path=.:../abstract:../common:prelude + +concrete GrammarSlv of Grammar = + NounSlv, +-- VerbEng, + AdjectiveSlv +{- AdverbEng, + NumeralEng, + SentenceEng, + QuestionEng, + RelativeEng, + ConjunctionEng, + PhraseEng, + TextX - [Pol,PPos,PNeg], + StructuralEng, + IdiomEng, + TenseX -} + ** { + +flags startcat = Phr ; unlexer = text ; lexer = text ; + +} ; diff --git a/src/slovenian/LexiconSlv.gf b/src/slovenian/LexiconSlv.gf new file mode 100644 index 00000000..4fc82642 --- /dev/null +++ b/src/slovenian/LexiconSlv.gf @@ -0,0 +1,11 @@ +concrete LexiconSlv of Lexicon = CatSlv ** + open ParadigmsSlv, Prelude in { + +flags + optimize=values ; + +lin + apple_N = mkN "jabolko" "jabolka" "jabolku" "jabolko" "jabolku" "jabolkom" "jabolki" "jabolk" "jabolkoma" "jabolki" "jabolkih" "jabolkoma" "jabolka" "jabolk" "jabolkom" "jabolka" "jabolkih" "jabolki" neuter ; + red_A = mkA "rdeč" "rdeči" "rdečega" "rdečemu" "rdečega" "rdeč" "rdeči" "rdečem" "rdečim" "rdeča" "rdečih" "rdečima" "rdeča" "rdečih" "rdečima" "rdeči" "rdečih" "rdečim" "rdeče" "rdečih" "rdečimi" "rdeča" "rdeče" "rdeči" "rdečo" "rdeči" "rdečo" "rdeči" "rdečih" "rdečima" "rdeči" "rdečih" "rdečima" "rdeče" "rdečih" "rdečim" "rdeče" "rdečih" "rdečimi" "rdeče" "rdečega" "rdečemu" "rdeče" "rdečem" "rdečim" "rdeči" "rdečih" "rdečima" "rdeči" "rdečih" "rdečima" "rdeča" "rdečih" "rdečim" "rdeča" "rdečih" "rdečimi" nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist nonExist ; + +} ; diff --git a/src/slovenian/NounSlv.gf b/src/slovenian/NounSlv.gf new file mode 100644 index 00000000..5e13fa42 --- /dev/null +++ b/src/slovenian/NounSlv.gf @@ -0,0 +1,11 @@ +concrete NounSlv of Noun = CatSlv ** open ResSlv in { + + lin + UseN n = {s = \\_ => n.s; g = n.g} ; + + AdjCN ap cn = { + s = \\spec,c,n => ap.s ! spec ! cn.g ! c ! n ++ cn.s ! Indef ! c ! n ; + g = cn.g + } ; + +}