forked from GitHub/gf-rgl
57 lines
1.6 KiB
Plaintext
57 lines
1.6 KiB
Plaintext
--# -path=.:prelude
|
|
--
|
|
--1 Punjabi auxiliary operations.
|
|
--
|
|
-- This module contains operations that are needed to make the
|
|
-- morphology work.
|
|
|
|
resource ResPnb = open Prelude, Predef in {
|
|
|
|
flags optimize = noexpand ;
|
|
coding = utf8;
|
|
|
|
param
|
|
Number = Sg | Pl ;
|
|
Case = Dir | Obl | Voc | Abl ;
|
|
Gender = Masc | Fem ;
|
|
Tense = Subj | Perf | Imperf;
|
|
Person = Pers1
|
|
| Pers2_Casual
|
|
| Pers2_Respect
|
|
| Pers3_Near
|
|
| Pers3_Distant;
|
|
|
|
|
|
VerbForm1 =
|
|
MVF1 Tense Person Number Gender -- 3*5*2*2=60
|
|
| Caus1 Tense Person Number Gender -- 60
|
|
| Caus2 Tense Person Number Gender -- 60
|
|
| Inf | Inf_Fem | Inf_Obl | Ablative -- 13
|
|
| Caus1_Inf | Caus1_Fem | Caus1_Obl | Caus1_Ablative
|
|
| Caus2_Inf | Caus2_Fem | Caus2_Obl | Caus2_Ablative
|
|
| Root ;
|
|
|
|
VerbForm4 =
|
|
MVF4 Tense Person Number Gender
|
|
| Inf4 | Inf_Fem4 | Inf_Obl4 | Ablative4
|
|
| Root4 ;
|
|
|
|
oper
|
|
CommonVF = {s : Tense => Person => Number => Gender => Str} ;
|
|
Noun = {s : Number => Case => Str ; g : Gender} ;
|
|
Verb1 = {s : VerbForm1 => Str} ;
|
|
Verb4 = {s : VerbForm4 => Str} ;
|
|
|
|
Adjective1 = {s : Gender => Number => Case => Str} ;
|
|
Adjective2 = {s : Number => Case => Str} ;
|
|
|
|
--Preposition = {s : Str};
|
|
--DemPronForm = {s : Number => Gender => Case => Str};
|
|
--PossPronForm = {s : Number => Gender => Case => Str};
|
|
--Determiner = {s : Number => Gender => Str ; n : Number};
|
|
|
|
-- a useful oper
|
|
eq : Str -> Str -> Bool = \s1,s2-> (pbool2bool (eqStr s1 s2)) ;
|
|
|
|
}
|