summaryrefslogtreecommitdiff
path: root/examples/sammie/ParamSammieFin.gf
blob: 9e7613b22d18aadba43ae828fd845bebc6678927 (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
instance ParamSammieFin of ParamSammie = open 
  SyntaxFin,
  ExtraFin,
  SymbolicFin,
  (R = ResFin), ----
  ParadigmsFin,
  (C = ConstructX),
  Prelude 
in {

oper 

  song_N = mkN "laulu" ;
  track_N = mkN "kappale" ;
  album_N = mkN "albumi" ;
  record_N = mkN "levy" ;
  cd_N = mkN "cd-levy" ;
  playlist_N = mkN "soittolista" ;
  artist_N = mkN "artisti" ;
  number_N = mkN "numero" ;
  rock_N = mkN "rock" ;

  new_A = mkA (mkN "uusi" "uuden" "uusia") ;

  add_V3 = 
    dirV3 (mkV "lisätä") illative ;
  remove_V3 = 
    dirV3 (mkV "poistaa") ablative ;
  show_V3 = mkV3 (mkV "näyttää") (casePrep allative) accPrep ;

  create_V2 = dirV2 (mkV "luoda") ;
  tell_V2Q = mkV2Q (mkV "sanoa") (casePrep allative) ;
  play_V2 = dirV2 (mkV "soittaa") ;
  show_V2Q = mkV2Q (mkV "näyttää") (casePrep allative) ;
  return_V2 = mkV2 (mkV "palata") to_Prep ;
  goto_V2 = mkV2 (mkV "mennä") to_Prep ;
  record_V2 = dirV2 (mkV "levyttää") ;
  make_V2 = dirV2 (mkV "tehdä" "tekee" "teen" "tekevät" "tehkää" "tehdään"
      "teki" "tein" "tekisi" "tehnyt" "tehty" "tehdyn") ; 

  stop_V = mkV "lopettaa" ;

  back_Adv = mkAdv "takaisin" ;

  what_IAdv = C.mkIAdv "mikä" ;

  previous_A = mkA "edellinen" ; 
  next_A = mkA "seuraava" ; 
  please_PConj = C.mkPConj ["ole hyvä"] ;

  mainmenu_NP = mkNP the_Art (mkN "päävalikko") ;

  goback_VP = mkVP (mkVP (mkV "mennä")) back_Adv ;
  shutup_VP = mkVP (mkAdv "hiljaa") ;
  pause_VP  = mkVP (dirV2 (mkV "pitää")) (mkNP the_Art (mkN "tauko")) ;
  resume_VP = mkVP (mkVP (mkV "palata")) (mkAdv "asiaan") ;

  whatever_Utt = C.mkUtt ["mitä tahansa"] ;

  typeWithGenre x genre =
    mkCN x (mkRS (RelExistNP in_Prep which_RP (mkNP genre))) ;

  name = mkPN ;

  WhatName = mkQCl what_IAdv ;

  past = <TPres,AAnter> ;

  imperative vp = 
      mkUtt (mkImp vp)
    | mkUtt (mkQS (mkQCl (mkCl (mkNP youSg_Pron) can_VV vp)))
    | mkUtt (mkCl (mkNP i_Pron) want_VV vp)
    | mkUtt vp
    ;

  previous cn = mkNP the_Art (mkCN previous_A cn) ;
  next cn = mkNP the_Art (mkCN next_A cn) ;

  what_say = mkUtt whatPart_IP ;

  all_art = the_Art ;

  artist_Prep = casePrep ablative ;

  this cn = 
      mkNP this_Quant
    | mkNP the_Art (mkCN (mkA "tämänhetkinen") cn)
    ;

}