summaryrefslogtreecommitdiff
path: root/gf-book/examples/chapter6/ClassesEng.gf
blob: 5bdf80c3584a047db01a9ecc7384442d2ac6a224 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--# -path=.:present

concrete ClassesEng of Classes = open SyntaxEng, ParadigmsEng in {

lincat
  Command = Utt ;
  Kind = CN ;
  Class = {} ;
  Instance = {} ;
  Action = V2 ;
  Device = NP ;

lin
  Act _ _ _ a d = mkUtt (mkImp a d) ;
  The k = mkNP the_Det k ;

  Light = mkCN (mkN "light") ;
  Fan = mkCN (mkN "fan") ;
  Switchable, Dimmable = <> ;
  
  SwitchOn = mkV2 (partV (mkV "switch") "on") ;
  SwitchOff = mkV2 (partV (mkV "switch") "off") ;
  Dim = mkV2 (mkV "dim") ;

  switchable_Light = <> ;
  switchable_Fan = <> ;
  dimmable_Light = <> ;

}