mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-30 11:08:35 -06:00
(Hun) WIP: first attempt at stem-based nominal morphology
This commit is contained in:
+21
-13
@@ -20,38 +20,46 @@ oper
|
||||
|
||||
param
|
||||
|
||||
Case = Nom | Acc | Dat
|
||||
-- | PossStem -- TODO: Stem where possessive suffixes attach?
|
||||
| Ill | Ine | Ela | All | Ade | Abl | Sub | Sup | Del -- Locatives
|
||||
| Cau -- Causal-final 'for the purpose of, for the reason that'
|
||||
| Ins -- Instrumental
|
||||
| Tra -- Translative
|
||||
Case =
|
||||
Nom | Acc -- Practical to have core cases as full strings
|
||||
| Dat -- Would be nice but is very regular, so skip it
|
||||
| Sup -- Depends on the word which stem it uses
|
||||
-- | All -- Can have irregularities in suffix (k)
|
||||
| Ins | Tra -- Different for vowels and consonants
|
||||
| OblStem ; -- The rest of the cases are regular and attach to this stem
|
||||
-- | Ill | Ine | Ela | Ade | Abl | Sub | Sup | Del -- Locatives
|
||||
-- | Cau -- Causal-final 'for the purpose of, for the reason that'
|
||||
-- | Ins -- Instrumental
|
||||
-- | Tra -- Translative
|
||||
-- | Ess | Ter | For
|
||||
-- | Tem -- Temporal, e.g. hatkor ‘six o’clock’ (from hat ‘6’)
|
||||
;
|
||||
|
||||
|
||||
SubjCase = SCNom | SCDat ; -- Limited set of subject cases
|
||||
|
||||
Possessor = NoPoss | Poss Number Person ;
|
||||
|
||||
oper
|
||||
case2stem : Case -> Case = id Case ; -- TODO add stems and cases as separate types
|
||||
|
||||
caseTable : (x1,_,_,_,_,_,_,_,_,_,_,_,_,_,x15 : Str) -> Case=>Str =
|
||||
\n,a,d,il,ine,el,al,ad,ab,sub,sup,del,ca,ins,tra -> table {
|
||||
Nom => n ;
|
||||
Acc => a ;
|
||||
Dat => d ;
|
||||
Ins => ins ;
|
||||
Tra => tra ;
|
||||
OblStem => init a ;
|
||||
Sup => sup ;
|
||||
Sub => sub ;
|
||||
Del => del ;
|
||||
Ill => il ;
|
||||
Ine => ine ;
|
||||
Ela => el ;
|
||||
All => al ;
|
||||
Ade => ad ;
|
||||
Abl => ab ;
|
||||
Sub => sub ;
|
||||
Sup => sup ;
|
||||
Del => del ;
|
||||
Cau => ca ;
|
||||
Ins => ins ;
|
||||
Tra => tra } ;
|
||||
Cau => ca } ;
|
||||
|
||||
sc2case : SubjCase -> Case = \sc ->
|
||||
case sc of {
|
||||
|
||||
Reference in New Issue
Block a user