From c2f97ef506b3e56ccbbfea0fcebe619f2dacdf9f Mon Sep 17 00:00:00 2001 From: aarne Date: Mon, 29 Mar 2010 12:41:33 +0000 Subject: [PATCH] the rest of Urdu files - now compiles with lib/src/Make --- lib/src/Make.hs | 3 ++- lib/src/api/CombinatorsUrd.gf | 6 +++++ lib/src/api/ConstructorsUrd.gf | 3 +++ lib/src/api/SymbolicUrd.gf | 5 ++++ lib/src/api/SyntaxUrd.gf | 5 ++++ lib/src/api/TryUrd.gf | 22 +++++++++++++++++ lib/src/urdu/AllUrd.gf | 6 +++++ lib/src/urdu/AllUrdAbs.gf | 4 +++ lib/src/urdu/ExtraUrd.gf | 11 +++++++++ lib/src/urdu/ExtraUrdAbs.gf | 8 ++++++ lib/src/urdu/SymbolUrd.gf | 45 ++++++++++++++++++++++++++++++++++ 11 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 lib/src/api/CombinatorsUrd.gf create mode 100644 lib/src/api/ConstructorsUrd.gf create mode 100644 lib/src/api/SymbolicUrd.gf create mode 100644 lib/src/api/SyntaxUrd.gf create mode 100644 lib/src/api/TryUrd.gf create mode 100644 lib/src/urdu/AllUrd.gf create mode 100644 lib/src/urdu/AllUrdAbs.gf create mode 100644 lib/src/urdu/ExtraUrd.gf create mode 100644 lib/src/urdu/ExtraUrdAbs.gf create mode 100644 lib/src/urdu/SymbolUrd.gf diff --git a/lib/src/Make.hs b/lib/src/Make.hs index dae56bd64..09c2e0101 100644 --- a/lib/src/Make.hs +++ b/lib/src/Make.hs @@ -49,7 +49,8 @@ langsCoding = [ (("spanish", "Spa"),""), (("swedish", "Swe"),""), (("thai", "Tha"),"to_thai"), - (("turkish", "Tur"),"") + (("turkish", "Tur"),""), + (("urdu", "Urd"),"") ] langs = map fst langsCoding diff --git a/lib/src/api/CombinatorsUrd.gf b/lib/src/api/CombinatorsUrd.gf new file mode 100644 index 000000000..2a7484c88 --- /dev/null +++ b/lib/src/api/CombinatorsUrd.gf @@ -0,0 +1,6 @@ +--# -path=.:alltenses:prelude + +resource CombinatorsUrd = Combinators with + (Cat = CatUrd), + (Structural = StructuralUrd), + (Constructors = ConstructorsUrd) ; diff --git a/lib/src/api/ConstructorsUrd.gf b/lib/src/api/ConstructorsUrd.gf new file mode 100644 index 000000000..4506c7a27 --- /dev/null +++ b/lib/src/api/ConstructorsUrd.gf @@ -0,0 +1,3 @@ +--# -path=.:alltenses:prelude + +resource ConstructorsUrd = Constructors with (Grammar = GrammarUrd) ; diff --git a/lib/src/api/SymbolicUrd.gf b/lib/src/api/SymbolicUrd.gf new file mode 100644 index 000000000..a7d80b20a --- /dev/null +++ b/lib/src/api/SymbolicUrd.gf @@ -0,0 +1,5 @@ +--# -path=.:present:mathematical:prelude + +resource SymbolicUrd = Symbolic with + (Symbol = SymbolUrd), + (Grammar = GrammarUrd) ; diff --git a/lib/src/api/SyntaxUrd.gf b/lib/src/api/SyntaxUrd.gf new file mode 100644 index 000000000..cd8685dfc --- /dev/null +++ b/lib/src/api/SyntaxUrd.gf @@ -0,0 +1,5 @@ +--# -path=.:./alltenses:../prelude + +instance SyntaxUrd of Syntax = + ConstructorsUrd, CatUrd, StructuralUrd, CombinatorsUrd ; + diff --git a/lib/src/api/TryUrd.gf b/lib/src/api/TryUrd.gf new file mode 100644 index 000000000..eca2694dd --- /dev/null +++ b/lib/src/api/TryUrd.gf @@ -0,0 +1,22 @@ +--# -path=.:alltenses:prelude +--# -path=.:./present:c:/gf/lib/src/prelude:c:/gf/lib/src/abstract:c:/gf/lib/src/api:c:/gf/lib/src/urdu:c:/gf/lib/src/common +resource TryUrd = SyntaxUrd - [mkAdN] , LexiconUrd, ParadigmsUrd - [mkAdv,mkDet,mkIP,mkAdN] ** + open (P = ParadigmsUrd) in { + +oper + + mkAdv = overload SyntaxUrd { + mkAdv : Str -> Adv = P.mkAdv ; + } ; + + mkAdN = overload { + mkAdN : CAdv -> AdN = SyntaxUrd.mkAdN ; +--- mkAdN : Str -> AdN = P.mkAdN ; + } ; + +-- mkOrd = overload SyntaxUrd { +-- mkOrd : A -> Ord = SyntaxUrd.OrdSuperl ; +-- } ; + + +} diff --git a/lib/src/urdu/AllUrd.gf b/lib/src/urdu/AllUrd.gf new file mode 100644 index 000000000..5111e1a75 --- /dev/null +++ b/lib/src/urdu/AllUrd.gf @@ -0,0 +1,6 @@ +--# -path=.:../abstract:../common:../prelude + +concrete AllUrd of AllUrdAbs = + LangUrd, + ExtraUrd + ** {} ; diff --git a/lib/src/urdu/AllUrdAbs.gf b/lib/src/urdu/AllUrdAbs.gf new file mode 100644 index 000000000..d4060f792 --- /dev/null +++ b/lib/src/urdu/AllUrdAbs.gf @@ -0,0 +1,4 @@ +abstract AllUrdAbs = + Lang, + ExtraUrdAbs + ** {} ; diff --git a/lib/src/urdu/ExtraUrd.gf b/lib/src/urdu/ExtraUrd.gf new file mode 100644 index 000000000..0b4f946c2 --- /dev/null +++ b/lib/src/urdu/ExtraUrd.gf @@ -0,0 +1,11 @@ +concrete ExtraUrd of ExtraUrdAbs = CatUrd ** + open ResUrd, Coordination, Prelude, MorphoUrd, ParadigmsUrd in { + + lin + GenNP np = {s = \\_,_,_ => np.s ! NPC Obl ++ "ka" ; a = np.a} ; + + each_Det = mkDet "hr kwy" "hr kwy" "hr kwy" "hr kwy" Sg ; + have_V = mkV "rakh-na"; + +-- for VP conjunction +} diff --git a/lib/src/urdu/ExtraUrdAbs.gf b/lib/src/urdu/ExtraUrdAbs.gf new file mode 100644 index 000000000..2b099a305 --- /dev/null +++ b/lib/src/urdu/ExtraUrdAbs.gf @@ -0,0 +1,8 @@ +abstract ExtraUrdAbs = Extra ** { + +-- uncontracted negations; contracted are the default + fun + + each_Det : Det ; + have_V : V; +} diff --git a/lib/src/urdu/SymbolUrd.gf b/lib/src/urdu/SymbolUrd.gf new file mode 100644 index 000000000..15b7d9b25 --- /dev/null +++ b/lib/src/urdu/SymbolUrd.gf @@ -0,0 +1,45 @@ +--# -path=.:../abstract:../common + +concrete SymbolUrd of Symbol = CatUrd ** open Prelude, ResUrd in { + + lin +-- SymbPN i = {s = \\_ => i.s ; g = Masc} ; + SymbPN i = {s = addGenitiveS i.s ; g = Masc} ; + IntPN i = {s = addGenitiveS i.s ; g = Masc} ; + FloatPN i = {s = addGenitiveS i.s ; g = Masc} ; + NumPN i = {s = \\_ =>i.s ; g = Masc} ; + CNIntNP cn i = { + s = \\c => cn.s ! Sg ! Dir ++ i.s ; + a = agrP3 cn.g Sg + } ; + CNSymbNP det cn xs = { + s = \\c => det.s!Sg!Masc ++ cn.s ! det.n ! Dir ++ xs.s ; + a = agrP3 cn.g det.n + } ; + CNNumNP cn i = { + s = \\c => cn.s ! Sg ! Dir ++ i.s ; + a = agrP3 cn.g Sg + } ; + + SymbS sy = sy ; + SymbNum sy = { s = sy.s ; n = Pl } ; + SymbOrd sy = { s = sy.s ++ "waN" ; n = Pl} ; + +lincat + + Symb, [Symb] = SS ; + +lin + MkSymb s = s ; + + BaseSymb = infixSS "awr" ; + ConsSymb = infixSS "" ; + +oper + -- Note: this results in a space before 's, but there's + -- not mauch we can do about that. + addGenitiveS : Str -> Case => Str = \s -> + table {_ => s ++ "ka" } ; + + +}