From 01a52021b2e09d642739aea4661cd6b5013e9943 Mon Sep 17 00:00:00 2001 From: aarneranta Date: Wed, 18 May 2022 10:59:06 +0200 Subject: [PATCH] added DrawGer.gf --- python/DrawGer.gf | 55 +++++++++++++++++++++++++++++++++++++++++++++++ python/DrawSwe.gf | 1 + python/Makefile | 2 +- 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 python/DrawGer.gf diff --git a/python/DrawGer.gf b/python/DrawGer.gf new file mode 100644 index 0000000..5fdefd2 --- /dev/null +++ b/python/DrawGer.gf @@ -0,0 +1,55 @@ +concrete DrawGer of Draw = + + open SyntaxGer, ParadigmsGer, LexiconGer, IrregGer + in { + +lincat + Command = Utt ; + Object = CN ; + ObjectRef = NP ; + Shape = CN ; + Colour = AP ; + Size = AP ; + Place = Adv ; + +lin + drawCommand object = + mkUtt (mkImp (mkVP (mkV2 (mkV "malen")) (mkNP a_Det object))) -- draw a circle + | mkUtt (mkNP a_Det object) -- a circle + | mkUtt object -- circle + ; + removeCommand object = + mkUtt (mkImp (mkVP (mkV2 "beseitigen") object)) ; + moveCommand object place = + mkUtt (mkImp (mkVP (mkVP (mkV2 "bewegen") object) place)) ; + + shapeObject size colour shape = mkCN size (mkCN colour shape) ; + + theObjectRef object = mkNP the_Det object ; + itObjectRef = it_NP ; + + circle_Shape = mkCN (mkN "Kreis") ; + square_Shape = mkCN (mkN "Quadrat" neuter) ; + + big_Size = mkAP big_A ; + small_Size = mkAP small_A ; + noSize = mkAP (invarA "") ; --- + + green_Colour = mkAP green_A ; + red_Colour = mkAP red_A ; + blue_Colour = mkAP blue_A ; + yellow_Colour = mkAP yellow_A ; + + noColour = mkAP (invarA "") ; --- + + upPlace = pmkAdv "hoch" ; + downPlace = pmkAdv "runter" ; + leftPlace = pmkAdv "links" ; + rightPlace = pmkAdv "rechts" ; + midPlace = pmkAdv "in die Mitte" ; + + noPlace = pmkAdv "" ; + +oper + pmkAdv : Str -> Adv = ParadigmsGer.mkAdv ; +} \ No newline at end of file diff --git a/python/DrawSwe.gf b/python/DrawSwe.gf index c172d53..7f17adf 100644 --- a/python/DrawSwe.gf +++ b/python/DrawSwe.gf @@ -25,6 +25,7 @@ lin mkUtt (mkImp (mkVP (mkVP (mkV2 "flytta") object) place)) ; shapeObject size colour shape = +---- mkCN size (mkCN colour shape) ; G.AdjCN size (G.AdjCN colour shape ** {isMod = colour.isAdj}) ** {isMod = orB size.isAdj colour.isAdj} ; diff --git a/python/Makefile b/python/Makefile index ba524c2..d584f6f 100644 --- a/python/Makefile +++ b/python/Makefile @@ -8,7 +8,7 @@ query: gf -make QueryEng.gf QuerySwe.gf draw: - gf -make DrawEng.gf DrawSwe.gf DrawFin.gf + gf -make DrawEng.gf DrawSwe.gf DrawFin.gf DrawGer.gf