added DrawGer.gf

This commit is contained in:
aarneranta
2022-05-18 10:59:06 +02:00
parent 8d3b7a30ac
commit 01a52021b2
3 changed files with 57 additions and 1 deletions

55
python/DrawGer.gf Normal file
View File

@@ -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 ;
}

View File

@@ -25,6 +25,7 @@ lin
mkUtt (mkImp (mkVP (mkVP (mkV2 "flytta") object) place)) ; mkUtt (mkImp (mkVP (mkVP (mkV2 "flytta") object) place)) ;
shapeObject size colour shape = shapeObject size colour shape =
---- mkCN size (mkCN colour shape) ;
G.AdjCN size (G.AdjCN colour shape ** {isMod = colour.isAdj}) G.AdjCN size (G.AdjCN colour shape ** {isMod = colour.isAdj})
** {isMod = orB size.isAdj colour.isAdj} ; ** {isMod = orB size.isAdj colour.isAdj} ;

View File

@@ -8,7 +8,7 @@ query:
gf -make QueryEng.gf QuerySwe.gf gf -make QueryEng.gf QuerySwe.gf
draw: draw:
gf -make DrawEng.gf DrawSwe.gf DrawFin.gf gf -make DrawEng.gf DrawSwe.gf DrawFin.gf DrawGer.gf