summaryrefslogtreecommitdiff
path: root/examples/sammie/Sammie.gf
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2009-10-08 12:40:47 +0000
committeraarne <aarne@chalmers.se>2009-10-08 12:40:47 +0000
commitffb5fdcd2580b00203456636be887adcc9759bda (patch)
tree2b9884e516a91034f43fb76de88b6d3575ba9bbf /examples/sammie/Sammie.gf
parentdf7f4ab34df6609d8af73d638832b735c2072937 (diff)
Sammie grammars added to examples
Diffstat (limited to 'examples/sammie/Sammie.gf')
-rw-r--r--examples/sammie/Sammie.gf174
1 files changed, 174 insertions, 0 deletions
diff --git a/examples/sammie/Sammie.gf b/examples/sammie/Sammie.gf
new file mode 100644
index 000000000..d45473c48
--- /dev/null
+++ b/examples/sammie/Sammie.gf
@@ -0,0 +1,174 @@
+abstract Sammie = {
+
+flags
+ startcat = Action ;
+
+cat
+ Action;
+ ToIdentify;
+ Object;
+ PlaylistSet; Playlist;
+ ArtistSet; Artist;
+ AlbumSet; Album;
+ SongSet; Song;
+ Number;
+
+ PlaylistName;
+ Genre;
+ ArtistName;
+ AlbumName;
+ SongName;
+
+fun
+
+ -- Action
+
+ add_song_to_playlist : Playlist -> Object -> Action ;
+
+ -- create a new playlist
+ create : Action ;
+
+ dialog_pause : Action ;
+
+ go_back_in_display_history : Action ;
+
+ help : Action ;
+
+ -- tell me
+ identify : ToIdentify -> Action ;
+
+-- what is this?
+-- identify_songlist_of_album : Album -> Action ;
+
+ -- gives just an object as a response to a question
+ make_completion : Object -> Action ;
+
+ pause : Action ;
+
+ play : Object -> Action ;
+
+ please_repeat : Action ;
+
+ -- I don't care
+ reject_any_constraint_determination : Action ;
+
+ remove : Playlist -> Object -> Action ;
+
+ resume : Action ;
+
+ -- show me
+ show : ToIdentify -> Action ;
+
+ show_main_menu : Action ;
+
+ skip_backward : Action ;
+
+ skip_forward : Action ;
+
+ stop : Action ;
+
+ -- ToIdentify
+
+ artist_of_album : Album -> ToIdentify ;
+ artist_of_song : Song -> ToIdentify ;
+ currently_playing_object : ToIdentify ;
+ resource_by_type : Object -> ToIdentify ;
+
+ -- Object
+
+ one_song : Song -> Object ;
+ any_song : SongSet -> Object ;
+ all_songs : SongSet -> Object ;
+
+ one_album : Album -> Object ;
+ any_album : AlbumSet -> Object ;
+ all_albums : AlbumSet -> Object ;
+
+ one_playlist : Playlist -> Object ;
+ any_playlist : PlaylistSet -> Object ;
+ all_playlists : PlaylistSet -> Object ;
+
+ -- PlaylistSet
+
+ playlists_all : PlaylistSet ;
+ playlists_by_genre : Genre -> PlaylistSet ;
+
+ -- Playlist
+
+ playlist_this : Playlist ;
+ playlist_number : Number -> Playlist ;
+ playlist_name : PlaylistName -> Playlist ;
+
+ -- ArtistSet
+
+ artists_all : ArtistSet ;
+
+ -- Artist
+
+ artist_this : Artist ;
+ artist_name : ArtistName -> Artist ;
+
+ -- AlbumSet
+
+ albums_all : AlbumSet ;
+ albums_by_artist : Artist -> AlbumSet ;
+ albums_by_genre : Genre -> AlbumSet ;
+ albums_by_artist_genre : Artist -> Genre -> AlbumSet ;
+
+ -- Album
+
+ album_this : Album ;
+ album_number : Number -> Album ;
+ album_name : AlbumName -> Album ;
+ album_name_artist : AlbumName -> Artist -> Album ;
+
+ -- SongSet
+
+ songs_all : SongSet ;
+ songs_by_artist : Artist -> SongSet ;
+ songs_by_genre : Genre -> SongSet ;
+ songs_by_album : Album -> SongSet ;
+ songs_by_artist_genre : Artist -> Genre -> SongSet ;
+
+ -- Song
+
+ song_this : Song ;
+ song_name : SongName -> Song ;
+ song_name_artist : SongName -> Artist -> Song ;
+
+ -- Ordinal
+
+ num_1 : Number ;
+ num_2 : Number ;
+ num_3 : Number ;
+
+
+ -- Music database
+
+ -- PlaylistName
+
+ CoolHits : PlaylistName ;
+-- Romantik : PlaylistName ;
+
+ -- Artist
+
+-- Falco : ArtistName ;
+-- TheBeatles : ArtistName ;
+ U2 : ArtistName ;
+
+ -- Genre
+
+-- Pop : Genre ;
+ Rock : Genre ;
+
+ -- AlbumName
+
+ HowToDismantleAnAtomicBomb : AlbumName ;
+
+ -- SongName
+
+-- AHardDaysNight : SongName ;
+-- LetItBe : SongName ;
+ Vertigo : SongName ;
+
+}