summaryrefslogtreecommitdiff
path: root/examples/sammie/ParamSammieSpa.gf
blob: be829df832b714eb949111043b5bc8547e2a16db (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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
instance ParamSammieSpa of ParamSammie = open 
  GrammarSpa,
  ExtraSpa,
  SymbolSpa,
  IrregSpa,
  (B = BeschSpa),
  ParadigmsSpa,
  (M = MorphoSpa), ---
  ConstructX,
  Prelude 
in {

oper 

  song_N = femN (regN "canción") ; 
  track_N = regN "pista" ;
  album_N = regN "album" ;
  record_N = regN "disco" ;
  cd_N = regN "cd" ;
  playlist_N = compN (regN "lista") ["de favoritos"] ; --- canciones, pistas
  artist_N = mascN (regN "artista") ; --- fem
  number_N = regN "número" ;
  rock_N = regN "rock" ;

  new_A = 
    prefA (regA "nuevo") ;

  add_V3 = 
    dirdirV3 (regV "agregar") ;
  remove_V3 = 
    mkV3 (regV "suprimir") accusative genitive ;
  show_V3 = mkV3 (regAltV "mostrar" "muestro") dative accusative ;

  create_V2 = dirV2 (regV "crear") ;
  tell_V2 = dirV2 (decir_V) ;
  play_V2 = dirV2 (regV "reproducir") ; --- tocar
  show_V2 = mkV2 (regAltV "mostrar" "muestro") to_Prep ;
  return_V2 = mkV2 volver_V to_Prep ;
  goto_V2 = mkV2 ir_V to_Prep ;
  record_V2 = dirV2 (regV "registrar") ;
  make_V2 = dirV2 (hacer_V) ;

  stop_V = regV "parar" ; --- detener

  back_Adv = mkAdv ["pista previa"] ; ----

---  what_IAdv = mkIAdv "cual" ; ----

  previous_Ord = 
    {s = \\ag => (regA "previo").s ! M.Posit ! M.AF ag.g ag.n ; lock_Ord = <>} ;
  next_Ord = 
    {s = \\ag => (regA "siguente").s ! M.Posit ! M.AF ag.g ag.n ; lock_Ord = <>} ;
  please_PConj = mkPConj ["por favor"] ;

  mainmenu_NP = 
    DetCN (DetSg (SgQuant DefArt) NoOrd) 
      (AdjCN (PositA (regA "principal")) (UseN (regN "menú"))) ;

  goback_VP = UseV (regV "volver") ;
  shutup_VP = UseV (reflV (dirV2 (regV "callar"))) ; ---- silencio
  pause_VP  = 
    ComplV2 (dirV2 (hacer_V))
      (DetCN (DetSg (SgQuant IndefArt) NoOrd) (UseN (regN "pausa"))) ; ---pausar
  resume_VP = UseV (regV "continuar") ; --- reproducir

  whatever_Utt = mkUtt ["no importa cual"] ; --- cualquiera

  typeWithGenre x genre =
---- CompoundCN genre x ;
    AdvCN x (PrepNP genitive 
        (DetCN (DetSg MassDet NoOrd) genre)) ;

  name = regPN ;

  WhatName x = 
    QuestIAdv how_IAdv (PredVP x (UseV (reflV (regV "llamar")))) ;

  past = <TPres,AAnter> ;

  imperative vp = variants { 
--      UttImpPol PPos (ImpVP vp) ;
      UttImpSg PPos (ImpVP vp) 
--      UttQS (UseQCl TPres ASimul PPos (QuestCl (PredVP 
--         (UsePron youSg_Pron) (ComplVV can_VV vp)))) ;
--      UttQS (UseQCl TPres ASimul PPos (QuestCl (PredVP 
--         (UsePron youPol_Pron) (ComplVV can_VV vp)))) ;
--      UttS (UseCl TPres ASimul PPos (PredVP (UsePron i_Pron)
--         (ComplVV want_VV vp))) ;
--      UttVP vp
      } ;

  previous cn = 
    DetCN (DetSg (SgQuant DefArt) NoOrd) 
      (AdjCN (PositA (regA "previo")) cn) ;

  next = DetCN (DetSg (SgQuant DefArt) next_Ord) ;

  what_say = UttIAdv how_IAdv ;

  all_art = DefArt ;

  artist_Prep = variants {by8agent_Prep ; genitive} ;

  this cn = variants {
    DetCN (DetSg (SgQuant this_Quant) NoOrd) cn ;
    DetCN (DetSg (SgQuant DefArt) NoOrd) 
      (AdjCN (PositA (regA "actual")) cn)
    } ;

}