mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
*** empty log message ***
This commit is contained in:
136
lib/resource/russian/StructuralRus.gf
Normal file
136
lib/resource/russian/StructuralRus.gf
Normal file
@@ -0,0 +1,136 @@
|
||||
--# -path=.:../abstract:../../prelude
|
||||
|
||||
--1 The Top-Level Russian Resource Grammar
|
||||
--
|
||||
-- Janna Khegai 2003
|
||||
-- on the basis of code for other languages by Aarne Ranta
|
||||
--
|
||||
-- This is the Russian concrete syntax of the multilingual resource
|
||||
-- grammar. Most of the work is done in the file $syntax.RusU.gf$.
|
||||
-- However, for the purpose of documentation, we make here explicit the
|
||||
-- linearization types of each category, so that their structures and
|
||||
-- dependencies can be seen.
|
||||
-- Another substantial part is the linearization rules of some
|
||||
-- structural words.
|
||||
--
|
||||
-- The users of the resource grammar should not look at this file for the
|
||||
-- linearization rules, which are in fact hidden in the document version.
|
||||
-- They should use $resource.Abs.gf$ to access the syntactic rules.
|
||||
-- This file can be consulted in those, hopefully rare, occasions in which
|
||||
-- one has to know how the syntactic categories are
|
||||
-- implemented. The parameter types are defined in $types.RusU.gf$.
|
||||
|
||||
concrete StructuralRus of Structural = CategoriesRus, NumeralsRus ** open Prelude, SyntaxRus in {
|
||||
flags
|
||||
coding=utf8 ;
|
||||
|
||||
lin
|
||||
INP = pron2NounPhrase pronYa Animate;
|
||||
ThouNP = pron2NounPhrase pronTu Animate;
|
||||
HeNP = pron2NounPhrase pronOn Animate;
|
||||
SheNP = pron2NounPhrase pronOna Animate;
|
||||
ItNP = pron2NounPhrase pronOno Inanimate;
|
||||
WeNumNP = pronWithNum (pron2NounPhrase pronMu Animate);
|
||||
YeNumNP = pronWithNum (pron2NounPhrase pronVu Animate);
|
||||
YouNP = pron2NounPhrase pronVu Animate;
|
||||
TheyNP = pron2NounPhrase pronOni Animate;
|
||||
TheyFemNP = pron2NounPhrase pronOni Animate;
|
||||
|
||||
EveryDet = kazhdujDet ** {n = Sg ; g = PNoGen; c= Nom} ;
|
||||
AllMassDet = vesDet ** {n = Sg; g = PNoGen; c = Nom} ;
|
||||
AllNumDet = mkDeterminerNum (vseDetPl ** {n = Pl; g = PNoGen; c = Nom} );
|
||||
WhichDet = kotorujDet ** {n = Sg; g = PNoGen; c= Nom} ;
|
||||
WhichNumDet = mkDeterminerNum (kotorujDet ** {n = Pl; g = PNoGen; c= Nom} );
|
||||
MostDet = bolshinstvoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ;
|
||||
-- inanimate, Sg: "большинство телефонов безмолству-ет"
|
||||
MostsDet = bolshinstvoPlDet ** {n = Pl; g = (PGen Neut); c= Gen} ;
|
||||
-- animate, Pl: "большинство учащихся хорошо подготовлен-ы"
|
||||
HowManyDet = skolkoSgDet ** {n = Sg; g = (PGen Neut); c= Gen};
|
||||
ManyDet = mnogoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ;
|
||||
MuchDet = mnogoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ; -- same as previous
|
||||
SomeDet = nekotorujDet ** {n = Sg; g = PNoGen; c= Nom} ;
|
||||
SomeNumDet = mkDeterminerNum (nekotorujDet ** {n = Pl; g = PNoGen; c= Nom} );
|
||||
AnyDet = lubojDet ** {n = Sg; g = PNoGen; c= Nom} ;
|
||||
AnyNumDet = mkDeterminerNum (lubojDet ** {n = Pl; g = PNoGen; c= Nom} );
|
||||
NoDet = nikakojDet ** {n = Sg; g = PNoGen; c= Nom} ;
|
||||
NoNumDet = mkDeterminerNum (nikakojDet ** {n = Pl; g = PNoGen; c= Nom} );
|
||||
ThisDet = etotDet ** {n = Sg; g = PNoGen; c= Nom} ;
|
||||
TheseNumDet = mkDeterminerNum (etotDet ** {n = Pl; g = PNoGen; c= Nom} );
|
||||
ThatDet = totDet ** {n = Sg; g = PNoGen; c= Nom} ;
|
||||
ThoseNumDet = mkDeterminerNum (totDet ** {n = Pl; g = PNoGen; c= Nom} );
|
||||
|
||||
UseNumeral i = i ;
|
||||
|
||||
ThisNP = det2NounPhrase etotDet ; -- inanimate form only
|
||||
ThatNP = det2NounPhrase totDet ; -- inanimate form only
|
||||
TheseNumNP n = { s =\\_ => [] ; n = Pl; p = P3; g= PGen Fem ; anim = Animate ; pron = True} ;
|
||||
-- missing in Russian
|
||||
ThoseNumNP n = { s =\\_ => [] ; n = Pl; p = P3; g=PGen Fem ; anim = Animate ; pron = True} ;
|
||||
-- missing in Russian
|
||||
|
||||
EverybodyNP = mkNounPhrase Pl (noun2CommNounPhrase (eEnd_Decl "вс")) ;
|
||||
SomebodyNP = pron2NounPhrase pronKtoTo Animate;
|
||||
NobodyNP = pron2NounPhrase pronNikto Animate;
|
||||
EverythingNP = pron2NounPhrase pronVseInanimate Inanimate;
|
||||
SomethingNP = pron2NounPhrase pronChtoTo Inanimate ;
|
||||
NothingNP = pron2NounPhrase pronNichto Inanimate;
|
||||
|
||||
CanVV = extVerb verbMoch Act Present ;
|
||||
CanKnowVV = extVerb verbMoch Act Present ;
|
||||
MustVV = extVerb verbDolzhen Act Present ;
|
||||
WantVV = extVerb verbKhotet Act Present ;
|
||||
|
||||
HowIAdv = ss "как" ;
|
||||
WhenIAdv = ss "когда" ;
|
||||
WhereIAdv = ss "где" ;
|
||||
WhyIAdv = ss "почему" ;
|
||||
|
||||
AndConj = ss "и" ** {n = Pl} ;
|
||||
OrConj = ss "или" ** {n = Sg} ;
|
||||
BothAnd = sd2 "как" [", так и"] ** {n = Pl} ;
|
||||
EitherOr = sd2 "либо" [", либо"] ** {n = Sg} ;
|
||||
-- comma is not visible in GUI!
|
||||
|
||||
-- In case of "neither.. no" expression double negation is not
|
||||
-- only possible, but also required in Russian.
|
||||
-- There is no means of control for this however in the resource grammar.
|
||||
|
||||
NeitherNor = sd2 "ни" [", ни"] ** {n = Sg} ;
|
||||
|
||||
IfSubj = ss "если" ;
|
||||
WhenSubj = ss "когда" ;
|
||||
AlthoughSubj = ss "хотя" ;
|
||||
|
||||
PhrYes = ss ["Да ."] ;
|
||||
PhrNo = ss ["Нет ."] ;
|
||||
|
||||
EverywhereNP = ss "везде" ;
|
||||
SomewhereNP = ss "где-нибудь" ;
|
||||
NowhereNP = ss "нигде" ;
|
||||
VeryAdv = ss "очень" ;
|
||||
TooAdv = ss "слишком" ;
|
||||
OtherwiseAdv = ss "иначе" ;
|
||||
AlmostAdv = ss "почти" ;
|
||||
QuiteAdv = ss "довольно" ;
|
||||
ThereforeAdv = ss "следовательно" ;
|
||||
|
||||
InPrep = { s2 = "в" ; c = Prepos };
|
||||
OnPrep = { s2 = "на" ; c = Prepos };
|
||||
ToPrep = { s2 = "к" ; c = Dat };
|
||||
ThroughPrep = { s2 = "через" ; c = Acc };
|
||||
AbovePrep = { s2 = "над" ; c = Inst};
|
||||
UnderPrep = { s2 = "под" ; c = Inst };
|
||||
InFrontPrep = { s2 = "перед" ; c = Inst};
|
||||
BehindPrep = { s2 = "за" ; c = Inst };
|
||||
BetweenPrep = { s2 = "между" ; c = Inst};
|
||||
FromPrep = { s2 = "от" ; c = Gen };
|
||||
BeforePrep = { s2 = "перед" ; c = Inst};
|
||||
DuringPrep = { s2 = ["в течение"] ; c = Gen};
|
||||
AfterPrep = { s2 = "после" ; c = Gen };
|
||||
WithPrep = { s2 = "с" ; c = Inst};
|
||||
WithoutPrep = { s2 = "без" ; c = Gen};
|
||||
ByMeansPrep = { s2 = ["с помощью"] ; c = Gen};
|
||||
PossessPrep = { s2 = "" ; c = Gen}; --- ?? AR 19/2/2004
|
||||
PartPrep = { s2 = "" ; c = Nom}; -- missing in Russian
|
||||
AgentPrep = { s2 = "" ; c = Nom}; -- missing in Russian
|
||||
} ;
|
||||
Reference in New Issue
Block a user