From 0f763b7960e3470477cf35ad5b42a3c947aad1dc Mon Sep 17 00:00:00 2001 From: Aarne Ranta Date: Wed, 1 Apr 2020 11:42:42 +0200 Subject: [PATCH] api for Czech with backup for missing --- src/api/CombinatorsCze.gf | 9 ++++ src/api/ConstructorsCze.gf | 5 ++ src/api/SymbolicCze.gf | 6 +++ src/api/SyntaxCze.gf | 4 ++ src/api/TryCze.gf | 13 +++++ src/czech/CatCze.gf | 5 ++ src/czech/MissingCze.gf | 103 +++++++++++++++++++++++++++++++++++++ src/czech/StructuralCze.gf | 1 + 8 files changed, 146 insertions(+) create mode 100644 src/api/CombinatorsCze.gf create mode 100644 src/api/ConstructorsCze.gf create mode 100644 src/api/SymbolicCze.gf create mode 100644 src/api/SyntaxCze.gf create mode 100644 src/api/TryCze.gf create mode 100644 src/czech/MissingCze.gf diff --git a/src/api/CombinatorsCze.gf b/src/api/CombinatorsCze.gf new file mode 100644 index 000000000..2ce825505 --- /dev/null +++ b/src/api/CombinatorsCze.gf @@ -0,0 +1,9 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsCze = Combinators with + (Cat = CatCze), + (Structural = StructuralCze), + (Constructors = ConstructorsCze) + ** open MissingCze in {} + + diff --git a/src/api/ConstructorsCze.gf b/src/api/ConstructorsCze.gf new file mode 100644 index 000000000..86c17c33f --- /dev/null +++ b/src/api/ConstructorsCze.gf @@ -0,0 +1,5 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsCze = Constructors with (Grammar = GrammarCze) + ** open MissingCze in {} + diff --git a/src/api/SymbolicCze.gf b/src/api/SymbolicCze.gf new file mode 100644 index 000000000..73126acfd --- /dev/null +++ b/src/api/SymbolicCze.gf @@ -0,0 +1,6 @@ +--# -path=.:../czech:../common:../abstract:../prelude + +resource SymbolicCze = Symbolic with + (Symbol = SymbolCze), + (Grammar = GrammarCze) + ** open MissingCze in {} diff --git a/src/api/SyntaxCze.gf b/src/api/SyntaxCze.gf new file mode 100644 index 000000000..986a10c01 --- /dev/null +++ b/src/api/SyntaxCze.gf @@ -0,0 +1,4 @@ +--# -path=.:./alltenses:../prelude + +instance SyntaxCze of Syntax = + ConstructorsCze, CatCze, StructuralCze, CombinatorsCze ; diff --git a/src/api/TryCze.gf b/src/api/TryCze.gf new file mode 100644 index 000000000..30a52365c --- /dev/null +++ b/src/api/TryCze.gf @@ -0,0 +1,13 @@ +--# -path=.:../czech:../common:../abstract:../prelude + +resource TryCze = SyntaxCze, LexiconCze, ParadigmsCze -[mkAdv, mkDet,mkQuant]** + open (P = ParadigmsCze) in { + +-- oper + +-- mkAdv = overload SyntaxCze { +-- mkAdv : Str -> Adv = P.mkAdv ; +-- } ; + +} + diff --git a/src/czech/CatCze.gf b/src/czech/CatCze.gf index f28f25ca1..6808ba215 100644 --- a/src/czech/CatCze.gf +++ b/src/czech/CatCze.gf @@ -53,6 +53,11 @@ concrete CatCze of Cat = PConj = {s : Str} ; Voc = {s : Str} ; + AdN = {s : Str} ; + AdV = {s : Str} ; + CAdv = {s : Str} ; + SC = {s : Str} ; + linref N = \s -> s.snom ; A = \s -> s.msnom ; diff --git a/src/czech/MissingCze.gf b/src/czech/MissingCze.gf new file mode 100644 index 000000000..eaf4d1e25 --- /dev/null +++ b/src/czech/MissingCze.gf @@ -0,0 +1,103 @@ +resource MissingCze = open GrammarCze, Prelude in { + +-- temporary definitions to enable the compilation of RGL API +oper AAnter : Ant = notYet "AAnter" ; +oper AdAdv : AdA -> Adv -> Adv = notYet "AdAdv" ; +oper AdNum : AdN -> Card -> Card = notYet "AdNum" ; +oper AdVVP : AdV -> VP -> VP = notYet "AdVVP" ; +oper AdjOrd : Ord -> AP = notYet "AdjOrd" ; +oper AdnCAdv : CAdv -> AdN = notYet "AdnCAdv" ; +oper AdvIAdv : IAdv -> Adv -> IAdv = notYet "AdvIAdv" ; +oper AdvIP : IP -> Adv -> IP = notYet "AdvIP" ; +oper AdvS : Adv -> S -> S = notYet "AdvS" ; +oper AdvSlash : ClSlash -> Adv -> ClSlash = notYet "AdvSlash" ; +oper CAdvAP : CAdv -> AP -> NP -> AP = notYet "CAdvAP" ; +oper CleftAdv : Adv -> S -> Cl = notYet "CleftAdv" ; +oper CleftNP : NP -> RS -> Cl = notYet "CleftNP" ; +oper CompCN : CN -> Comp = notYet "CompCN" ; +oper CompIAdv : IAdv -> IComp = notYet "CompIAdv" ; +oper CompIP : IP -> IComp = notYet "CompIP" ; +oper ComparA : A -> NP -> AP = notYet "ComparA" ; +oper ComparAdvAdj : CAdv -> A -> NP -> Adv = notYet "ComparAdvAdj" ; +oper ComparAdvAdjS : CAdv -> A -> S -> Adv = notYet "ComparAdvAdjS" ; +oper ComplN2 : N2 -> NP -> CN = notYet "ComplN2" ; +oper ComplN3 : N3 -> NP -> N2 = notYet "ComplN3" ; +oper ComplVA : VA -> AP -> VP = notYet "ComplVA" ; +oper ComplVQ : VQ -> QS -> VP = notYet "ComplVQ" ; +oper ComplVS : VS -> S -> VP = notYet "ComplVS" ; +oper ComplVV : VV -> VP -> VP = notYet "ComplVV" ; +oper DetNP : Det -> NP = notYet "DetNP" ; +oper DetQuantOrd : Quant -> Num -> Ord -> Det = notYet "DetQuantOrd" ; +oper EmbedQS : QS -> SC = notYet "EmbedQS" ; +oper EmbedS : S -> SC = notYet "EmbedS" ; +oper EmbedVP : VP -> SC = notYet "EmbedVP" ; +oper ExistIP : IP -> QCl = notYet "ExistIP" ; +oper ExistNP : NP -> Cl = notYet "ExistNP" ; +oper FunRP : Prep -> NP -> RP -> RP = notYet "FunRP" ; +oper GenericCl : VP -> Cl = notYet "GenericCl" ; +oper IdetCN : IDet -> CN -> IP = notYet "IdetCN" ; +oper IdetIP : IDet -> IP = notYet "IdetIP" ; +oper IdetQuant : IQuant -> Num -> IDet = notYet "IdetQuant" ; +oper ImpPl1 : VP -> Utt = notYet "ImpPl1" ; +oper ImpVP : VP -> Imp = notYet "ImpVP" ; +oper ImpersCl : VP -> Cl = notYet "ImpersCl" ; +oper OrdDigits : Digits -> Ord = notYet "OrdDigits" ; +oper OrdNumeral : Numeral -> Ord = notYet "OrdNumeral" ; +oper OrdSuperl : A -> Ord = notYet "OrdSuperl" ; +oper PPartNP : NP -> V2 -> NP = notYet "PPartNP" ; +oper PassV2 : V2 -> VP = notYet "PassV2" ; +oper PositAdvAdj : A -> Adv = notYet "PositAdvAdj" ; +oper PossPron : Pron -> Quant = notYet "PossPron" ; +oper PredSCVP : SC -> VP -> Cl = notYet "PredSCVP" ; +oper PredetNP : Predet -> NP -> NP = notYet "PredetNP" ; +oper PrepIP : Prep -> IP -> IAdv = notYet "PrepIP" ; +oper ProgrVP : VP -> VP = notYet "ProgrVP" ; +oper QuestIAdv : IAdv -> Cl -> QCl = notYet "QuestIAdv" ; +oper QuestIComp : IComp -> NP -> QCl = notYet "QuestIComp" ; +oper QuestSlash : IP -> ClSlash -> QCl = notYet "QuestSlash" ; +oper QuestVP : IP -> VP -> QCl = notYet "QuestVP" ; +oper ReflA2 : A2 -> AP = notYet "ReflA2" ; +oper ReflVP : VPSlash -> VP = notYet "ReflVP" ; +oper RelCl : Cl -> RCl = notYet "RelCl" ; +oper RelNP : NP -> RS -> NP = notYet "RelNP" ; +oper RelSlash : RP -> ClSlash -> RCl = notYet "RelSlash" ; +oper SentAP : AP -> SC -> AP = notYet "SentAP" ; +oper SentCN : CN -> SC -> CN = notYet "SentCN" ; +oper Slash2V3 : V3 -> NP -> VPSlash = notYet "Slash2V3" ; +oper Slash3V3 : V3 -> NP -> VPSlash = notYet "Slash3V3" ; +oper SlashPrep : Cl -> Prep -> ClSlash = notYet "SlashPrep" ; +oper SlashV2A : V2A -> AP -> VPSlash = notYet "SlashV2A" ; +oper SlashV2Q : V2Q -> QS -> VPSlash = notYet "SlashV2Q" ; +oper SlashV2S : V2S -> S -> VPSlash = notYet "SlashV2S" ; +oper SlashV2V : V2V -> VP -> VPSlash = notYet "SlashV2V" ; +oper SlashV2VNP : V2V -> NP -> VPSlash -> VPSlash = notYet "SlashV2VNP" ; +oper SlashVP : NP -> VPSlash -> ClSlash = notYet "SlashVP" ; +oper SlashVS : NP -> VS -> SSlash -> ClSlash = notYet "SlashVS" ; +oper SlashVV : VV -> VPSlash -> VPSlash = notYet "SlashVV" ; +oper SubjS : Subj -> S -> Adv = notYet "SubjS" ; +oper TCond : Tense = notYet "TCond" ; +oper TFut : Tense = notYet "TFut" ; +oper TPast : Tense = notYet "TPast" ; +oper Use2N3 : N3 -> N2 = notYet "Use2N3" ; +oper UseComparA : A -> AP = notYet "UseComparA" ; +oper UseN2 : N2 -> CN = notYet "UseN2" ; +oper UseSlash : Temp -> Pol -> ClSlash -> SSlash = notYet "UseSlash" ; +oper UttCard : Card -> Utt = notYet "UttCard" ; +oper UttIAdv : IAdv -> Utt = notYet "UttIAdv" ; +oper UttIP : IP -> Utt = notYet "UttIP" ; +oper UttImpPl : Pol -> Imp -> Utt = notYet "UttImpPl" ; +oper UttImpPol : Pol -> Imp -> Utt = notYet "UttImpPol" ; +oper UttImpSg : Pol -> Imp -> Utt = notYet "UttImpSg" ; +oper UttQS : QS -> Utt = notYet "UttQS" ; +oper UttVP : VP -> Utt = notYet "UttVP" ; +oper by8agent_Prep : Prep = notYet "by8agent_Prep" ; +oper it_Pron : Pron = notYet "it_Pron" ; +oper they_Pron : Pron = notYet "they_Pron" ; +oper we_Pron : Pron = notYet "we_Pron" ; +oper whatSg_IP : IP = notYet "whatSg_IP" ; +oper which_IQuant : IQuant = notYet "which_IQuant" ; +oper whoSg_IP : IP = notYet "whoSg_IP" ; +oper youPl_Pron : Pron = notYet "youPl_Pron" ; +oper youPol_Pron : Pron = notYet "youPol_Pron" ; + +} \ No newline at end of file diff --git a/src/czech/StructuralCze.gf b/src/czech/StructuralCze.gf index 23928f010..60a5c4ce9 100644 --- a/src/czech/StructuralCze.gf +++ b/src/czech/StructuralCze.gf @@ -12,6 +12,7 @@ lin or_Conj = mkConj "nebo" ; ---- somePl_Det : Det ---- something_NP : NP + possess_Prep = mkPrep "" Gen ; that_Quant = demPronFormsAdjective (mkDemPronForms "tamt") "" ; this_Quant = demPronFormsAdjective (mkDemPronForms "t") "to" ; to_Prep = mkPrep "do" Gen ;