diff options
| author | janna <unknown> | 2003-11-25 16:34:42 +0000 |
|---|---|---|
| committer | janna <unknown> | 2003-11-25 16:34:42 +0000 |
| commit | 61507ef2de1577fd2224fa1675934c50d0f08121 (patch) | |
| tree | ea6296dba2dc17516738340ce3195f5b385e5a2b /grammars/resource/russian/DatabaseRus.gf | |
| parent | 73103e5dd8bcfd321af9ef41d06bc6cbb7b8a37a (diff) | |
*** empty log message ***
Diffstat (limited to 'grammars/resource/russian/DatabaseRus.gf')
| -rw-r--r-- | grammars/resource/russian/DatabaseRus.gf | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/grammars/resource/russian/DatabaseRus.gf b/grammars/resource/russian/DatabaseRus.gf new file mode 100644 index 000000000..289e002a1 --- /dev/null +++ b/grammars/resource/russian/DatabaseRus.gf @@ -0,0 +1,61 @@ +concrete DatabaseRus of Database = open Prelude,Syntax,English,Predication,Paradigms in {
+
+flags lexer=text ; unlexer=text ; coding=utf8 ;
+
+lincat
+ Phras = SS1 Bool ; -- long or short form
+ Subject = NP ;
+ Noun = CN ;
+ Property = AP ;
+ Comparison = AdjDeg ;
+ Relation = Adj2 ;
+ Feature = Fun ;
+ Value = NP ;
+ Name = ProperName ;
+
+lin
+ LongForm sent = ss (sent.s ! True ++ "?") ;
+ ShortForm sent = ss (sent.s ! False ++ "?") ;
+
+oper
+ mkSent : SS -> SS -> SS1 Bool = \long, short ->
+ {s = table {b => if_then_else Str b long.s short.s}} ;
+
+ mkSentPrel : Str -> SS -> SS1 Bool = \prel, matter ->
+ mkSent (ss (prel ++ matter.s)) matter ;
+
+ mkSentSame : SS -> SS1 Bool = \s ->
+ mkSent s s ;
+
+lin
+ WhichAre A B = mkSent (defaultQuestion (IntVP (NounIPMany A) (PosA B)))
+ (defaultNounPhrase (IndefManyNP (ModAdj B A))) ;
+
+ IsIt Q A = mkSentSame (defaultQuestion (QuestVP Q (PosA A))) ;
+
+ MoreThan = ComparAdjP ;
+ TheMost = SuperlNP ;
+ Relatively C _ = PositAdjP C ;
+
+ RelatedTo = ComplAdj ;
+
+ FeatureOf = appFun1 ;
+ ValueOf F V = appFun1 F (UsePN V) ;
+
+ WithProperty A B = ModAdj B A ;
+
+ Individual = UsePN ;
+
+ AllN = DetNP AllDet ;
+ MostN = DetNP MostDet ;
+ EveryN = DetNP EveryDet ;
+
+-- only these are language-dependent
+
+ Any = detNounPhrase anyPlDet ; --- in the sense "some", not "all"
+
+ IsThere A = mkSentPrel ["есть ли"] (defaultNounPhrase (IndefOneNP A)) ;
+ AreThere A = mkSentPrel ["есть ли"] (defaultNounPhrase (IndefManyNP A)) ;
+
+ WhatIs V = mkSentPrel ["какой"] (defaultNounPhrase V) ;
+};
|
