mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-30 23:02:50 -06:00
next-lib renamed to lib, lib to old-lib
This commit is contained in:
165
lib/src/romanian/ResRon.gf
Normal file
165
lib/src/romanian/ResRon.gf
Normal file
@@ -0,0 +1,165 @@
|
||||
--1 Romance auxiliary operations.
|
||||
--
|
||||
|
||||
resource ResRon = ParamX ** open Prelude in {
|
||||
|
||||
flags optimize=all ;
|
||||
|
||||
flags optimize=all ;
|
||||
|
||||
--2 Enumerated parameter types for morphology
|
||||
--
|
||||
-- These types are the ones found in school grammars.
|
||||
-- Their parameter values are atomic.
|
||||
|
||||
param
|
||||
|
||||
Gender = Masc | Fem ;
|
||||
|
||||
NGender = NMasc | NFem | NNeut ;
|
||||
|
||||
Mood = Indic | Conjunct ;
|
||||
|
||||
Direct = DDir | DInv ;
|
||||
|
||||
NumF = Formal | Informal ;
|
||||
|
||||
Animacy = Animate | Inanimate ;
|
||||
|
||||
param Size = sg | less20 | pl ;
|
||||
|
||||
-- Case = Acc | Dat | Gen ;
|
||||
|
||||
-- Adjectives are inflected in number, gender, have specific form for enclitic determined
|
||||
--article, and specific forms for Nominative-Accusative/Dative-Genitive/Voccative
|
||||
|
||||
AForm = AF Gender Number Species ACase | AA ;
|
||||
|
||||
-- Gender is not morphologically determined for first and second person pronouns.
|
||||
|
||||
PronGen = PGen Gender | PNoGen ;
|
||||
|
||||
-- Cardinal numerals have gender, ordinal numerals have full number as well.
|
||||
|
||||
ACase = ANomAcc | AGenDat | AVoc ;
|
||||
Species = Def | Indef ;
|
||||
NCase = No | Da | Ac | Ge | Vo ;
|
||||
|
||||
|
||||
CardOrd = NCard Gender | NOrd Gender;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--3 Verbs
|
||||
|
||||
|
||||
-- the form we build on syntactical level, based on VForm
|
||||
-- it represents the main verb forms in Romanian
|
||||
|
||||
param
|
||||
Temps1 = TPresn | TImparf | TPComp | TPSimple | TPPerfect | TFutur ;
|
||||
TSubj1 = TSPres | TSPast ;
|
||||
-- TPart1 = TGer | TPPasse Gender Number Species ACase;
|
||||
|
||||
VerbForm = TInf
|
||||
| TIndi Temps1 Number Person
|
||||
| TCondi Number Person
|
||||
| TSubjo TSubj1 Number Person
|
||||
| TImper NumPersI
|
||||
| TGer
|
||||
| TPPasse Gender Number Species ACase ;
|
||||
|
||||
-- the form we build on morphological level :
|
||||
|
||||
Temps = Presn | Imparf | PSimple | PPerfect ;
|
||||
TSubj = SPres ;
|
||||
--TPart = PPasse Gender Number Species ACase;
|
||||
|
||||
VForm = Inf
|
||||
| Indi Temps Number Person
|
||||
| Subjo TSubj Number Person
|
||||
| Imper NumPersI
|
||||
| Ger
|
||||
| PPasse Gender Number Species ACase ;
|
||||
|
||||
-- form for compatibility with the other Romance languages, to be used in case that
|
||||
-- Romanian will be integrated in the Romance category
|
||||
|
||||
param
|
||||
VF =
|
||||
VInfin Bool
|
||||
| VFin TMood Number Person
|
||||
| VImper NumPersI
|
||||
| VPart Gender Number Species ACase
|
||||
| VGer
|
||||
;
|
||||
|
||||
TMood =
|
||||
VPres Mood
|
||||
| VImperf Mood --# notpresent
|
||||
| VPasse --# notpresent
|
||||
| VFut --# notpresent
|
||||
| VCondit --# notpresent
|
||||
;
|
||||
|
||||
NumPersI = SgP2 | PlP1 | PlP2 ;
|
||||
|
||||
VPForm =
|
||||
VPFinite TMood Anteriority
|
||||
| VPImperat
|
||||
| VPGerund
|
||||
| VPInfinit Anteriority Bool ;
|
||||
|
||||
RTense =
|
||||
RPres
|
||||
| RPast --# notpresent
|
||||
| RPasse --# notpresent
|
||||
| RFut --# notpresent
|
||||
| RCond --# notpresent
|
||||
;
|
||||
|
||||
-- Agreement of adjectives, verb phrases, and relative pronouns.
|
||||
|
||||
oper
|
||||
AAgr : Type = {g : Gender ; n : Number} ;
|
||||
Agr : Type = AAgr ** {p : Person} ;
|
||||
|
||||
param
|
||||
RAgr = RAg {g : Gender ; n : Number} | RNoAg ; --- AAgr
|
||||
|
||||
|
||||
oper
|
||||
genForms : Str -> Str -> Gender => Str = \bon,bonne ->
|
||||
table {
|
||||
Masc => bon ;
|
||||
Fem => bonne
|
||||
} ;
|
||||
|
||||
aagrForms : (x1,_,_,x4 : Str) -> (AAgr => Str) = \tout,toute,tous,toutes ->
|
||||
table {
|
||||
{g = g ; n = Sg} => genForms tout toute ! g ;
|
||||
{g = g ; n = Pl} => genForms tous toutes ! g
|
||||
} ;
|
||||
|
||||
Noun = {s : Number => Species => ACase => Str; g : NGender; a : Animacy} ;
|
||||
Adj = {s : AForm => Str} ;
|
||||
-- A = {s : Degree => AForm => Str ; isPre : Bool} ;
|
||||
|
||||
Compl : Type = {s : Str ; c : NCase ; isDir : Bool} ;
|
||||
|
||||
-- complAcc : Compl = {s = [] ; c = Acc ; isDir = True} ;
|
||||
-- complGen : Compl = {s = [] ; c = Gen ; isDir = True} ;
|
||||
-- complDat : Compl = {s = [] ; c = Dat ; isDir = True} ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user