forked from GitHub/gf-rgl
zulu inclusion
This commit is contained in:
Executable
+3
@@ -0,0 +1,3 @@
|
||||
abstract DevLexLang = NguniLang, DevLex ** {
|
||||
flags startcat=Phr ;
|
||||
} ;
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
--# -path=.:..:../../abstract:../../common:../../prelude:../abstract_ext:../lexica
|
||||
|
||||
concrete DevLexLangZul of DevLexLang =
|
||||
NguniLangZul,
|
||||
DevLexZul ** {} ;
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
abstract MonoLexChunk = NguniChunk,MonoLex ** {
|
||||
flags startcat=Phr ;
|
||||
} ;
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
--# -path=.:..:../../abstract:../../common:../../prelude:../abstract_ext:../lexica
|
||||
|
||||
concrete MonoLexChunkZul of MonoLexChunk =
|
||||
NguniChunkZul,
|
||||
MonoLexZul ** {} ;
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
abstract MonoLexLang = NguniLang,MonoLex ** {
|
||||
flags startcat=Phr ;
|
||||
} ;
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
--# -path=.:..:../../abstract:../../common:../../prelude:../abstract_ext:../lexica
|
||||
|
||||
concrete MonoLexLangZul of MonoLexLang =
|
||||
NguniLangZul,
|
||||
MonoLexZul ** {} ;
|
||||
@@ -0,0 +1,3 @@
|
||||
abstract MultiLexChunk = NguniChunk,MultiLex ** {
|
||||
flags startcat=Phr ;
|
||||
} ;
|
||||
@@ -0,0 +1,5 @@
|
||||
--# -path=.:..:../../abstract:../../common:../../prelude:../abstract_ext:../lexica
|
||||
|
||||
concrete MultiLexChunkZul of MultiLexChunk =
|
||||
NguniChunkZul,
|
||||
MultiLexZul ** {} ;
|
||||
@@ -0,0 +1,3 @@
|
||||
abstract MultiLexLang = NguniLang,MultiLex ** {
|
||||
flags startcat=Phr ;
|
||||
} ;
|
||||
@@ -0,0 +1,5 @@
|
||||
--# -path=.:..:../../abstract:../../common:../../prelude:../abstract_ext:../lexica
|
||||
|
||||
concrete MultiLexLangZul of MultiLexLang =
|
||||
NguniLangZul,
|
||||
MultiLexZul ** {} ;
|
||||
Executable
+17
@@ -0,0 +1,17 @@
|
||||
--1 Lang: a Test Module for the Resource Grammar
|
||||
|
||||
abstract NguniChunk =
|
||||
NguniGrammar,
|
||||
Backward[ComplV2,ComplV3],
|
||||
ExtraExt,
|
||||
NounExt,
|
||||
VerbExt,
|
||||
-- MonoLexAbs,
|
||||
PChunk,
|
||||
Symbol - [Symb]
|
||||
-- ,Construction --- could be compiled here, but not in concretes, as they call Syntax and Grammar
|
||||
-- ,Documentation --# notpresent
|
||||
-- ,Markup - [stringMark]
|
||||
** {
|
||||
flags startcat=Phr ;
|
||||
} ;
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
--# -path=.:../abstract:../common:../api:../prelude
|
||||
|
||||
concrete NguniChunkZul of NguniChunk =
|
||||
NguniGrammarZul,
|
||||
BackwardZul[ComplV2,ComplV3],
|
||||
ExtraExtZul,
|
||||
NounExtZul,
|
||||
VerbExtZul,
|
||||
-- MonoLexZul,
|
||||
PChunkZul,
|
||||
SymbolZul - [Symb]
|
||||
-- TempZul
|
||||
-- ,ConstructionZul
|
||||
-- ,DocumentationZul --# notpresent
|
||||
-- ,MarkupZul - [stringMark]
|
||||
** {
|
||||
|
||||
|
||||
|
||||
} ;
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
-- All functions are explicitly inherited, in order to allow useful probabilities
|
||||
|
||||
abstract NguniGrammar =
|
||||
Noun [DetCN, UsePron, DetQuant, NumSg, NumPl, IndefArt, DefArt, UseN, AdjCN, RelCN, PossNP,UsePN, RelNP, PredetNP, MassNP], -- MassNP,AdvCN, AdvNP,
|
||||
Verb [UseV, ComplVS, ComplVA, SlashV2a, UseComp, AdvVP, CompAP, CompNP, CompAdv, ComplSlash],
|
||||
Adjective [PositA, AdAP],
|
||||
Adverb [PositAdvAdj, SubjS],
|
||||
-- Numeral,
|
||||
Sentence [PredVP, ImpVP, UseCl, UseQCl, UseRCl],
|
||||
Question [QuestCl, QuestIAdv, QuestIComp],
|
||||
Relative [RelVP, IdRP],
|
||||
-- Conjunction,
|
||||
Phrase [PhrUtt, UttS, UttQS, UttImpSg, NoPConj, NoVoc],
|
||||
Text - [Temp,Adv,IAdv],
|
||||
Structural [and_Conj,how_IAdv,how8much_IAdv,i_Pron,youSg_Pron,he_Pron,she_Pron,we_Pron,youPl_Pron,they_Pron,this_Quant,that_Quant,all_Predet,only_Predet,very_AdA],
|
||||
-- Idiom,
|
||||
Tense [PPos, PNeg],
|
||||
-- Transfer ,
|
||||
TempExt -- [TPresTemp, TPerfTemp, TPastTemp, TFutTemp, TPastPresTemp, TFutPresTemp, TPerfPerfTemp, TFutPerfTemp, TPerfPresTemp]
|
||||
;
|
||||
Executable
+24
@@ -0,0 +1,24 @@
|
||||
-- All functions are explicitly inherited, in order to allow useful probabilities
|
||||
|
||||
concrete NguniGrammarZul of NguniGrammar =
|
||||
NounZul [DetCN, UsePron, DetQuant, NumSg, NumPl, IndefArt, DefArt, UseN, AdjCN, RelCN, PossNP,UsePN, RelNP, PredetNP, MassNP], -- MassNP, AdvCN,AdvNP,
|
||||
VerbZul [UseV, ComplVS, ComplVA, SlashV2a, UseComp, AdvVP, CompAP, CompNP, CompAdv, ComplSlash],
|
||||
AdjectiveZul [PositA, AdAP],
|
||||
AdverbZul [PositAdvAdj, SubjS],
|
||||
-- Numeral,
|
||||
SentenceZul [PredVP, ImpVP, UseCl, UseQCl, UseRCl],
|
||||
QuestionZul [QuestCl, QuestIAdv, QuestIComp],
|
||||
RelativeZul [RelVP, IdRP],
|
||||
-- Conjunction,
|
||||
PhraseZul [PhrUtt, UttS, UttQS, UttImpSg, NoPConj, NoVoc],
|
||||
TextX - [Temp,Adv,IAdv],
|
||||
StructuralZul [and_Conj,how_IAdv,how8much_IAdv,i_Pron,youSg_Pron,he_Pron,she_Pron,we_Pron,youPl_Pron,they_Pron,this_Quant,that_Quant,all_Predet,only_Predet,very_AdA],
|
||||
-- Idiom,
|
||||
TenseX [PPos,PNeg],
|
||||
-- Transfer ,
|
||||
TempExtZul -- [TPresTemp, TPerfTemp, TPastTemp, TFutTemp, TPastPresTemp, TFutPresTemp, TPerfPerfTemp, TFutPerfTemp, TPerfPresTemp]
|
||||
** open ResZul, Prelude in {
|
||||
|
||||
flags startcat = Phr ; unlexer = text ; lexer = text ;
|
||||
|
||||
} ;
|
||||
Executable
+17
@@ -0,0 +1,17 @@
|
||||
--1 Lang: a Test Module for the Resource Grammar
|
||||
|
||||
abstract NguniLang =
|
||||
NguniGrammar,
|
||||
Backward[ComplV2,ComplV3],
|
||||
ExtraExt,
|
||||
NounExt,
|
||||
VerbExt
|
||||
-- MonoLexAbs,
|
||||
-- Chunk
|
||||
-- Symbol - [Symb],
|
||||
-- ,Construction --- could be compiled here, but not in concretes, as they call Syntax and Grammar
|
||||
-- ,Documentation --# notpresent
|
||||
-- ,Markup - [stringMark]
|
||||
** {
|
||||
flags startcat=Phr ;
|
||||
} ;
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
--# -path=.:../abstract:../common:../api:../prelude
|
||||
|
||||
concrete NguniLangZul of NguniLang =
|
||||
NguniGrammarZul,
|
||||
BackwardZul[ComplV2,ComplV3],
|
||||
ExtraExtZul,
|
||||
NounExtZul,
|
||||
VerbExtZul
|
||||
-- MonoLexZul,
|
||||
-- ChunkZul,
|
||||
-- SymbolZul - [Symb],
|
||||
-- TempZul
|
||||
-- ,ConstructionZul
|
||||
-- ,DocumentationZul --# notpresent
|
||||
-- ,MarkupZul - [stringMark]
|
||||
** {
|
||||
|
||||
|
||||
|
||||
} ;
|
||||
Executable
+258
@@ -0,0 +1,258 @@
|
||||
incomplete resource NguniSyntax =
|
||||
open Grammar,ExtraZulAbs,Backward,TempAbs
|
||||
|
||||
in {
|
||||
|
||||
oper
|
||||
|
||||
mkUtt = overload {
|
||||
mkUtt : S -> Utt
|
||||
= UttS ;
|
||||
mkUtt : QS -> Utt
|
||||
= UttQS ;
|
||||
mkUtt : Pol -> Imp -> Utt
|
||||
= UttImpSg ;
|
||||
mkUtt : Imp -> Utt
|
||||
= UttImpSg PPos
|
||||
} ;
|
||||
|
||||
mkImp = overload {
|
||||
mkImp : VP -> Imp
|
||||
= ImpVP ;
|
||||
} ;
|
||||
|
||||
mkS = overload {
|
||||
mkS : Temp -> Pol -> Cl -> S
|
||||
= UseCl ;
|
||||
mkS : Pol -> Cl -> S
|
||||
= UseCl TPresTemp ;
|
||||
mkS : Temp -> Cl -> S
|
||||
= \t -> UseCl t PPos ;
|
||||
mkS : Cl -> S
|
||||
= UseCl TPresTemp PPos
|
||||
} ;
|
||||
|
||||
mkQS = overload {
|
||||
mkQS : Temp -> Pol -> QCl -> QS
|
||||
= UseQCl ;
|
||||
mkQS : Pol -> QCl -> QS
|
||||
= UseQCl TPresTemp ;
|
||||
mkQS : Temp -> QCl -> QS
|
||||
= \t -> UseQCl t PPos ;
|
||||
mkQS : QCl -> QS
|
||||
= UseQCl TPresTemp PPos -- ;
|
||||
-- mkQS : Adv -> QS -> QS
|
||||
-- = AdvQS ;
|
||||
} ;
|
||||
|
||||
potQS = overload {
|
||||
potQS : Pol -> QCl -> QS
|
||||
= PotQS
|
||||
} ;
|
||||
|
||||
positivePol : Pol
|
||||
= PPos ;
|
||||
negativePol : Pol
|
||||
= PNeg ;
|
||||
|
||||
presentTense : Temp
|
||||
= TPresTemp ;
|
||||
perfectTense : Temp
|
||||
= TPerfTemp ;
|
||||
pastTense : Temp
|
||||
= TPastTemp ;
|
||||
futureTense : Temp
|
||||
= TFutTemp ;
|
||||
|
||||
mkCl = overload {
|
||||
mkCl : NP -> VP -> Cl
|
||||
= PredVP ;
|
||||
mkCl : NP -> V -> Cl
|
||||
= \np,v -> PredVP np (UseV v) ;
|
||||
mkCl : NP -> V2 -> NP -> Cl
|
||||
= \np,v,obj -> PredVP np (ComplV2 v obj) ;
|
||||
-- mkCl : NP -> AP -> Cl
|
||||
-- = \np,ap -> PredVP np (UseAP ap) ;
|
||||
-- mkCl : NP -> A -> Cl
|
||||
-- = \np,a -> PredVP np (UseAP (PositA a)) ;
|
||||
mkCl : NP -> Cl
|
||||
= PredNP
|
||||
} ;
|
||||
|
||||
mkQCl = overload {
|
||||
mkQCl : Cl -> QCl
|
||||
= QuestCl ;
|
||||
-- mkQCl : NP -> IAdv -> QCl
|
||||
-- = IAdvQCl ;
|
||||
mkQCl : IAdv -> Cl -> QCl
|
||||
= QuestIAdv
|
||||
-- mkQCl : Adv -> QCl -> QCl
|
||||
-- = AdvQCl
|
||||
} ;
|
||||
|
||||
mkVP = overload {
|
||||
mkVP : V -> VP
|
||||
= UseV ;
|
||||
mkVP : V2 -> NP -> VP
|
||||
= ComplV2 ;
|
||||
mkVP : V3 -> NP -> NP -> VP
|
||||
= ComplV3 ;
|
||||
mkVP : NP -> VP
|
||||
= \np -> UseComp (CompNP np) ;
|
||||
mkVP : Adv -> VP
|
||||
= \adv -> UseComp (CompAdv adv) ;
|
||||
mkVP : AP -> VP
|
||||
= \ap -> UseComp (CompAP ap) ;
|
||||
mkVP : VP -> Adv -> VP
|
||||
= AdvVP ;
|
||||
mkVP : VA -> AP -> VP
|
||||
= ComplVA ;
|
||||
mkVP : VS -> S -> VP
|
||||
= ComplVS ;
|
||||
mkVP : VAux -> VP -> VP
|
||||
= ComplVAux
|
||||
} ;
|
||||
|
||||
assocVP = overload {
|
||||
assocVP : NP -> VP
|
||||
= AssocCop
|
||||
} ;
|
||||
|
||||
eqVP = overload {
|
||||
eqVP : NP -> VP
|
||||
= EqCop
|
||||
} ;
|
||||
|
||||
-- progVP = overload {
|
||||
-- progVP : VP -> VP
|
||||
-- = ProgVP
|
||||
-- } ;
|
||||
|
||||
mkNP = overload {
|
||||
mkNP : Det -> CN -> NP
|
||||
= DetCN ;
|
||||
mkNP : Det -> N -> NP
|
||||
= \det,n -> DetCN det (UseN n) ;
|
||||
mkNP : Pron -> NP
|
||||
= UsePron ;
|
||||
mkNP : CN -> NP
|
||||
= \cn -> DetCN (DetQuant IndefArt NumSg) cn ;
|
||||
mkNP : N -> NP
|
||||
= \n -> DetCN (DetQuant IndefArt NumSg) (UseN n) ;
|
||||
-- mkNP : NP -> Conj -> NP -> NP
|
||||
-- = \np1,conj,np2 -> ConjNP np1 conj np2 ;
|
||||
mkNP : QuantStem -> CN -> NP
|
||||
= QuantCN ;
|
||||
mkNP : NP -> Adv -> NP
|
||||
= AdvNP
|
||||
} ;
|
||||
|
||||
i_NP : NP
|
||||
= UsePron i_Pron ;
|
||||
you_NP : NP
|
||||
= UsePron youSg_Pron ;
|
||||
-- he_NP : NP
|
||||
-- = UsePron he_Pron ;
|
||||
-- she_NP : NP
|
||||
-- = UsePron she_Pron ;
|
||||
|
||||
mkCN = overload {
|
||||
mkCN : N -> CN
|
||||
= UseN ;
|
||||
mkCN : AP -> CN -> CN
|
||||
= AdjCN ;
|
||||
mkCN : A -> N -> CN
|
||||
= \a,n -> AdjCN (PositA a) (UseN n) ;
|
||||
mkCN : A -> CN -> CN
|
||||
= \a,cn -> AdjCN (PositA a) cn ;
|
||||
mkCN : Adv -> CN -> CN
|
||||
= \adv,cn -> AdvCN cn adv ;
|
||||
mkCN : CN -> RS -> CN
|
||||
= RelCN ;
|
||||
mkCN : CN -> NP -> CN
|
||||
= PossNP ;
|
||||
mkCN : N -> NP -> CN
|
||||
= \n,np -> PossNP (UseN n) np
|
||||
-- mkCN : CN -> Pron -> CN
|
||||
-- = PossPron ;
|
||||
} ;
|
||||
|
||||
numCN = overload {
|
||||
numCN : CN -> A -> CN
|
||||
= NumAdjCN ;
|
||||
} ;
|
||||
|
||||
-- descrCN : CN -> NP -> CN = DescrNP ;
|
||||
|
||||
mkAP = overload {
|
||||
mkAP : A -> AP
|
||||
= PositA ;
|
||||
mkAP : AdA -> AP -> AP
|
||||
= AdAP
|
||||
} ;
|
||||
|
||||
mkAdv = overload {
|
||||
mkAdv : NP -> Adv
|
||||
= \np -> LocNPAdv np ;
|
||||
-- mkAdv : ConjN -> S -> Adv
|
||||
-- = \conj,s -> ConjAdv conj s ;
|
||||
mkAdv : Subj -> S -> Adv
|
||||
= SubjS ;
|
||||
mkAdv : A -> Adv
|
||||
= PositAdvAdj
|
||||
} ;
|
||||
|
||||
instrAdv = overload {
|
||||
instrAdv : NP -> Adv
|
||||
= \np -> InstrNPAdv np ;
|
||||
instrAdv : Adv -> NP -> Adv
|
||||
= InstrAdvNPAdv
|
||||
} ;
|
||||
|
||||
locAdv = overload {
|
||||
locAdv : NP -> Adv
|
||||
= \np -> LocNPAdv np ;
|
||||
locAdv : Adv -> NP -> Adv
|
||||
= \adv,np -> LocAdvNPAdv adv np
|
||||
} ;
|
||||
|
||||
kwaAdv = overload {
|
||||
kwaAdv : Adv -> NP -> Adv
|
||||
= \adv,np -> KwaNPAdv adv np
|
||||
} ;
|
||||
|
||||
kuAdv = overload {
|
||||
kuAdv : NP -> Adv
|
||||
= \np -> KuNPAdv np ;
|
||||
-- kuAdv : Adv -> NP -> Adv
|
||||
-- = \adv,np -> KuAdvNPAdv adv np
|
||||
} ;
|
||||
|
||||
assocAdv = overload {
|
||||
assocAdv : NP -> Adv
|
||||
= NaNPAdv
|
||||
} ;
|
||||
|
||||
relAdv = overload {
|
||||
relAdv : Adv -> RS
|
||||
= \adv -> RelAdv adv
|
||||
} ;
|
||||
|
||||
mkRS = overload {
|
||||
mkRS : QuantStem -> RS
|
||||
= QuantRS ;
|
||||
mkRS : RelStem -> RS
|
||||
= RelRS ;
|
||||
mkRS : Temp -> Pol -> VP -> RS
|
||||
= \t,p,vp -> UseRCl t p (RelVP IdRP vp) ;
|
||||
mkRS : VP -> RS
|
||||
= \vp -> UseRCl TPresTemp PPos (RelVP IdRP vp)
|
||||
} ;
|
||||
|
||||
aPl_Det : Det
|
||||
= DetQuant IndefArt NumPl ;
|
||||
|
||||
-- mkSymb : Symb
|
||||
-- = MkSymb ;
|
||||
|
||||
}
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
--# -path=.:../zulu:../abstract
|
||||
|
||||
resource NguniSyntaxZul =
|
||||
GrammarZul,
|
||||
ExtraZul ** --- inheriting everything from Grammar, not just Cat and Structural
|
||||
NguniSyntax with
|
||||
(Grammar=GrammarZul),
|
||||
(ExtraZulAbs=ExtraZul),
|
||||
(Backward=BackwardZul),
|
||||
(TempAbs=TempZul) ;
|
||||
Reference in New Issue
Block a user