From c4d72d1baef02584dda1033b1472af94ee4239f3 Mon Sep 17 00:00:00 2001 From: krangelov Date: Fri, 2 Jul 2021 21:28:51 +0200 Subject: [PATCH] added DocumentationAfr --- src/afrikaans/DocumentationAfr.gf | 153 ++++++++++++++++++++++++++++++ src/afrikaans/LangAfr.gf | 4 +- 2 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 src/afrikaans/DocumentationAfr.gf diff --git a/src/afrikaans/DocumentationAfr.gf b/src/afrikaans/DocumentationAfr.gf new file mode 100644 index 00000000..95c3f6ad --- /dev/null +++ b/src/afrikaans/DocumentationAfr.gf @@ -0,0 +1,153 @@ +--# -path=.:../abstract:../common + +concrete DocumentationAfr of Documentation = CatAfr ** open + ResAfr, + Prelude, + HTML +in { + + +lincat + Inflection = {t : Str; s1,s2 : Str} ; + Definition = {s : Str} ; + Document = {s : Str} ; + Tag = {s : Str} ; + +lin + InflectionN, InflectionN2, InflectionN3 = \noun -> { + t = "s" ; + s1 = heading1 "Selfstandige Naamwoord" ; + s2 = frameTable ( + tr (th "Enkelvoud" ++ th "Meervoud" ) ++ + tr (td (noun.s ! NF Sg Nom) ++ td (noun.s ! NF Pl Nom))) + } ; + + InflectionPN = \pn -> { + t = "pn" ; + s1 = heading1 "Naam" ; + s2 = paragraph (pn.s ! NPNom) + } ; + + InflectionA, InflectionA2 = \adj -> + let + gforms : AForm -> Str = \a -> + td (adj.s ! Posit ! a) ++ + td (adj.s ! Compar ! a) ++ + case a of { + AGen => td "-" ; -- superlative partitive not used + _ => td (adj.s ! Superl ! a) + } ; + dtable : Str = + frameTable ( + tr (th [] ++ th "Stellend" ++ th "Vergrotend" ++ + th "Oortreffend") ++ + tr (th "Predikatief" ++ gforms APred) ++ + tr (th "Attributief" ++ gforms AAttr) ++ + tr (th "Partitief" ++ gforms AGen) + ) + in { t = "bv" ; + s1 = heading1 "Byvoeglike naamwoord" ; + s2 = dtable + } ; + + InflectionAdv, InflectionAdV, InflectionAdA, InflectionAdN = \adv -> { + t = "bw" ; + s1 = heading1 "Bywoord" ; + s2 = paragraph adv.s + } ; + + InflectionPrep p = { + t = "prep" ; + s1 = heading1 "Voorsetsel" ; + s2 = paragraph p.s + } ; + + InflectionV v = { + t = "w" ; + s1 = heading1 "Werkwoord" ; + s2 = inflVerb v + } ; + + InflectionV2 v = { + t = "v" ; + s1 = heading1 "Werkwoord" ; + s2 = inflVerb v + } ; + + InflectionV3 v = { + t = "v" ; + s1 = heading1 "Werkwoord" ; + s2 = inflVerb v + } ; + + InflectionV2V v = { + t = "v" ; + s1 = heading1 "Werkwoord" ; + s2 = inflVerb v + } ; + + InflectionV2S v = { + t = "v" ; + s1 = heading1 "Werkwoord" ; + s2 = inflVerb v + } ; + + InflectionV2Q v = { + t = "v" ; + s1 = heading1 "Werkwoord" ; + s2 = inflVerb v + } ; + + InflectionV2A v = { + t = "v" ; + s1 = heading1 "Werkwoord" ; + s2 = inflVerb v + } ; + + InflectionVV v = { + t = "v" ; + s1 = heading1 "Werkwoord" ; + s2 = inflVerb v + } ; + + InflectionVS v = { + t = "v" ; + s1 = heading1 "Werkwoord" ; + s2 = inflVerb v + } ; + + InflectionVQ v = { + t = "v" ; + s1 = heading1 "Werkwoord" ; + s2 = inflVerb v + } ; + + InflectionVA v = { + t = "v" ; + s1 = heading1 "Werkwoord" ; + s2 = inflVerb v + } ; + +lin + NoDefinition t = {s=t.s}; + MkDefinition t d = {s="

Definisie:"++t.s++d.s++"

"}; + MkDefinitionEx t d e = {s="

Definisie:"++t.s++d.s++"

Voorbeeld:"++e.s++"

"}; + + MkDocument d i e = ss (i.s1 ++ d.s ++ i.s2 ++ paragraph e.s) ; -- explanation appended in a new paragraph + MkTag i = ss i.t ; + +oper + inflVerb : VVerb -> Str = \verb -> + let + vfin : VForm -> Str = \f -> + verb.s ! f ++ verb.prefix ; + gforms : VForm -> Str = \f -> + td (vfin f) ; + + in frameTable ( + tr (th "Infinitief" ++ td (verb.s ! VInf)) ++ + tr (th "Teenwoordige Tyd" ++ td (verb.s ! VPres)) ++ + tr (th "Verlede Tyd" ++ td (verb.s ! VPast)) ++ + tr (th "Perfectief" ++ td (verb.s ! VPerf)) + ) ; +} diff --git a/src/afrikaans/LangAfr.gf b/src/afrikaans/LangAfr.gf index 8198ea05..5390d56f 100644 --- a/src/afrikaans/LangAfr.gf +++ b/src/afrikaans/LangAfr.gf @@ -2,4 +2,6 @@ concrete LangAfr of Lang = GrammarAfr, - LexiconAfr ; + LexiconAfr + ,DocumentationAfr --# notpresent + ;