swh:1:snp:b958e3aa64f6b1663929789c8cf28d019f55f57d
Tip revision: 6b9bf3964385d0c16d262796d9e4a3a30a52dafd authored by Software Heritage on 12 October 2020, 00:00:00 UTC
hal: Deposit 1045 in collection hal
hal: Deposit 1045 in collection hal
Tip revision: 6b9bf39
domotic_multimedia_grammar_10aout_emmanuel_corrected_ver4.jsgf
#JSGF V1.0;
grammar sample;
public <MAIN> = <startPolite> ( <all> | <all_multimedia> ) ;
<startPolite> = ok vesta ;
<det_plural> = les ;
<det_masc> = le ;
<det_femi> = la ;
<preposition> = de | à ;
<preposition_masc> = du ;
<preposition_femi> = de la ;
<tous> = tous ;
<toutes> = toutes ;
<indicator> = à la moitié ;
<pourcentage> = <preposition> ( 20 % | 50 % | 80 % );
<indic_percent> = <indicator> | <pourcentage> ;
<ouvrants_masc> = volet | store | portail ;
<ouvrants_femi> = porte ;
<ouvrants_masc_plural> = volets | stores ;
<ouvrants_plural> = <ouvrants_masc_plural> ;
<ouvrants> = ( <det_masc> <ouvrants_masc> ) | ( <det_femi> <ouvrants_femi> ) | ( [<tous>] <det_plural> <ouvrants_plural> ) ;
<prepos_ouvrants> = ( <preposition_masc> <ouvrants_masc> ) | ( <preposition_femi> <ouvrants_femi> );
<eclairage_masc1> = luminaire ;
<eclairage_masc2> = éclairage du jardin | éclairage de la piscine ;
<eclairage_femi> = lampe | lumière ;
<eclairage_masc_plural_ext> = éclairages du jardin | éclairages de la piscine ;
<eclairage_masc_plural_int> = luminaires ;
<eclairage_masc_plural> = <eclairage_masc_plural_ext> | <eclairage_masc_plural_int> ;
<eclairage_femi_plural> = lampes | lumières ;
<eclairage_plural> = <eclairage_masc_plural> | <eclairage_femi_plural> ;
<prepos_eclairage> = ( du <eclairage_masc1> ) | ( de l' <eclairage_masc2> ) | ( <preposition_femi> <eclairage_femi> );
<eclairage> = ( le <eclairage_masc1> ) | ( l' <eclairage_masc2> ) | ( <det_femi> <eclairage_femi> ) | ( <det_plural> <eclairage_plural> );
<chauffage_masc> = chauffage | chauffe-eau ;
<climatisation_femi> = climatisation ;
<chauffage> = ( <det_masc> <chauffage_masc> ) | ( <det_femi> <climatisation_femi> ) ;
<prepos_chauffage> = ( <preposition_masc> <chauffage_masc> ) | ( <preposition_femi> <climatisation_femi> );
<alarmes_masc> = détecteur d' intrusion | transmetteur | détecteur d' incendie ;
<alarmes_femi> = centrale | porte | télécommande ;
<alarmes_plural> = détecteurs d' intrusion | transmetteurs | détecteurs d' incendie | portes | télécommandes ;
<alarmes> = ( <det_masc> <alarmes_masc> ) | ( <det_femi> <alarmes_femi> ) | ( <det_plural> <alarmes_plural> );
<alarmes_devices> = humidité | monoxyde de carbone | dioxyde de carbone | composés organiques volatiles | fuite ( de gaz | d' eau ) | panne électrique | sonde de réfrigérateur ;
<prepos_alarmes> = ( <preposition_masc> <alarmes_masc> ) | ( <preposition_femi> <alarmes_femi> );
<video_femi> = caméra ;
<Video> = <det_femi> <video_femi> ;
<wishes> = je veux | je voudrais | je souhaite ;
<on_off_verbs_inf> = [<wishes>] ( allumer | éteindre | couper );
<on_off_verbs_noninf> = allume | éteins | coupe ;
<on_off> = <on_off_verbs_inf> | <on_off_verbs_noninf> ;
<increase_reduce_verbs_inf> = [<wishes>] ( augmenter | diminuer | baisser | monter ) ;
<increase_reduce_verbs_noninf> = augmente | diminue | baisse | monte ;
<increase_reduce> = <increase_reduce_verbs_inf> | <increase_reduce_verbs_noninf> ;
<up_down_verbs_inf> = [<wishes>] ( monter | descendre ) ;
<up_down_verbs_noninf> = monte | descends ;
<up_down> = <up_down_verbs_inf> | <up_down_verbs_noninf> ;
<enable_disable_verbs_inf> = [<wishes>] ( activer | désactiver ) ;
<enable_disable_verbs_noninf> = active | désactive ;
<enable_disable> = <enable_disable_verbs_inf> | <enable_disable_verbs_noninf> ;
<start_stop_verbs_inf> = [<wishes>] ( démarrer | arrêter );
<start_stop_verbs_noninf> = démarre | arrête ;
<start_stop> = <start_stop_verbs_inf> | <start_stop_verbs_noninf> ;
<open_close_verbs_inf> = [<wishes>] ( ouvrir | fermer );
<open_close_verbs_noninf> = ouvre | ferme ;
<open_close> = <open_close_verbs_inf> | <open_close_verbs_noninf> ;
<programmable> = <on_off> | <up_down> ;
<inside_outside_masc> = intérieur | extérieur ;
<inside_outside_femi> = intérieure | extérieure ;
<inside_outside> = <inside_outside_masc> ;
<room_masc> = salon ;
<room_femi> = cuisine | chambre ;
<room_plur> = chambres ;
<prepos_room> = ( <preposition_masc> <room_masc> ) | ( <preposition_femi> <room_femi> );
<in_room> = ( dans le <room_masc> ) | ( dans la <room_femi> );
################# Ouvrants;
<basics_ouvrants> = <up_down> | arrêter | arrête ;
<indicators_ouvrants> = aux trois quarts | <indic_percent> ;
<actions1_ouvrants> = ( <basics_ouvrants> ( <ouvrants> [<indicator>] | [<indicator>] <ouvrants> ) ) | ( <open_close> <det_femi> ( porte ) );
<actions2_ouvrants> = <open_close> ( ( ( <det_femi> porte [ du garage ] ) | [ toutes ] <det_plural> portes ) | ( <det_masc> portail ) ) ;
<actions3_ouvrants> = ( ( <open_close> [<indicators_ouvrants>] ) ( ( <det_masc> ( volet | store ) ) | [<tous>] <det_plural> ( volets | stores ) ) );
<actions_ouvrants> = <actions1_ouvrants> | <actions2_ouvrants> | <actions3_ouvrants>;
<status_ouvrants> = est-ce que ( ( <det_masc> <ouvrants_masc> est ( ouvert | fermé ) ) | ( <det_femi> <ouvrants_femi> est ( ouverte | fermée ) ) | ( <det_plural> <ouvrants_masc_plural> sont ( ouverts | fermés ) ) ) ;
################# Eclairage;
<actions_eclairage_normal> = <on_off> <eclairage> | <on_off> ( la <eclairage_femi> | le <eclairage_masc1> | [<tous>] les <eclairage_masc_plural_int> | [<toutes>] les <eclairage_femi_plural> ) [<prepos_room>] | ( <increase_reduce> ( [<pourcentage>] ( <eclairage> | ( la <eclairage_femi> ) | ( le <eclairage_masc1> ) ) [<prepos_room>] | ( <eclairage> | ( la <eclairage_femi> ) | ( le <eclairage_masc1> ) ) [<pourcentage>] [<prepos_room>] ) );
<progressivement> = progressivement ;
<actions_eclairage> = <actions_eclairage_normal> [<progressivement>] ;
<status_eclairage> = est-ce que ( ( ( <det_masc> <eclairage_masc1> | l' <eclairage_masc2> ) est ( allumé | éteint ) ) | ( <det_femi> <eclairage_femi> est ( allumée | éteinte ) ) | ( <det_plural> <eclairage_masc_plural> sont ( allumés | éteints ) ) | ( <det_plural> <eclairage_femi_plural> sont ( allumées | éteintes ) ) ) ;
################# Thermique;
<actions1_thermique> = ( <on_off> <chauffage> ) | ( <increase_reduce> ( la température | le chauffage ) ( <temperature_de> | <temperature_a> ) [<in_room>] ) ;
<levels_thermique> = confort | réduit | absence | hors gel | coupé | fermé ;
<actions2_thermique> = chauffage en mode <levels_thermique> ;
<temperature_de> = de ( 1 degré | ( 2 | 3 | 4 | 5 ) degrés ) ;
<temperature_a> = ( à ( 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 ) ) degrés ;
#<#actions_thermique> = actions1_thermique | actions2_thermique;
<actions_thermique> = <actions1_thermique> | <actions2_thermique>;
<status_thermique> = est-ce que ( ( <det_masc> <chauffage_masc> est ( allumé | éteint ) ) | ( <det_femi> <climatisation_femi> est ( allumée | éteinte ) ) ) ;
################# Alarme;
<action_alarme> = ( <enable_disable> | <on_off> ) la surveillance ( [<inside_outside_femi>] | [<prepos_room>] ) | état du <ouvrants_masc> | état de la <ouvrants_femi> | état des <ouvrants_plural> ;
################# Capteurs;
<action_capteurs> = ( température [ du ] ( ( capteur ( <inside_outside> | <prepos_room> ) ) ) ) | état du capteur <alarmes_devices> | moyenne ( ( temperature ( <inside_outside_femi> | <prepos_room> ) ) | <alarmes_devices> );
################# Vidéos;
<action_videos> = <enable_disable> <Video> [<prepos_room>];
<status_video> = est-ce que <Video> est ( allumée | éteinte ) [<sub_video>] ;
<sub_video> = dans ( ( <det_masc> <room_masc> ) | ( <det_femi> <room_femi> ) ) ;
################# Consommation;
<action1_conso> = ( quelle est la consommation <energy> ) | ( ( ai-je | est-ce que j' ai ) plus consommé <element> <date> par rapport <dateBefore> );
<action2_conso> = différence de consommation <element> entre <date> et <dateBefore2> ;
<action_conso> = <action1_conso> | <action2_conso>;
<electric_devices> = ( <prepos_ouvrants> | <prepos_chauffage> | <prepos_eclairage> );
<water_devices> = <prepos_chauffage> ;
<gas_devices> = <prepos_chauffage> ;
<element> = en eau | en gaz | en électricité | en chauffage ;
<energy> = ( [<time>] en eau ) | ( [<time>] en gaz [<gas_devices>] ) | ( électrique [<time>] [<electric_devices>] ) | en chauffage ;
<time> = quotidienne | par jour | par mois | par an | actuelle | annuelle ;
<device> = <ouvrants> | <chauffage> | <eclairage> | <chauffage> ;
<metiers_masc> = <det_masc> <ouvrants_masc> | <det_masc> <eclairage_masc1> | l' <eclairage_masc2> | <det_masc> <chauffage_masc> | <det_masc> <alarmes_masc> ;
<metiers_femi> = <det_femi> ( <ouvrants_femi> | <eclairage_femi> | <climatisation_femi> | <alarmes_femi> );
<metiers_plural> = <det_plural> ( <ouvrants_plural> | <eclairage_plural> | <alarmes_plural> );
<date> = cette année | ce mois-ci ;
<dateBefore> = à l' année dernière | au mois dernier ;
<dateBefore2> = l' année dernière | le mois dernier ;
<fonctionnement> = est-ce que ( ( ( <metiers_masc> | <metiers_femi> ) fonctionne ) | ( <metiers_plural> fonctionnent ) ) ;
<status> = <status_ouvrants> | <status_eclairage> | <status_thermique> | <status_video> ;
<all> = <actions_ouvrants> | <actions_eclairage> | <actions_thermique> | <action_alarme> | <action_capteurs> | <action_videos> | <action_conso> | <fonctionnement> | <status>;
<channelnumber> = 1 | 2 | 3 | 4 | 5 ;
<channel> = tf1 | france 2 | france 3 | canal plus | france 5 | m6 | arte | d8 | w9 | tmc | nt1 | nrj12 | lcp | france 4 | bfmtv | itele | d17 | gulli | france o | l'équipe 21 | rmc | numéro 23 | chérie 25 | 6ter | hd1 ;
<hour> = ( ( 2 | 3 | 4 | 5 | 6 | 13 | 16 ) heures [<minutes>] ) | midi [<minutes>] | minuit [<minutes>] | 1 heure [<minutes>] ;
<minutes> = 5 | 10 | 15 | 20 | 30 | 45 | et quart | et demi | moins le quart ;
<period_hour> = ( ( 2 | 3 | 4 | 5 ) heures [<minutes>] ) | ( 1 heure [<minutes>] );
<prep_masc> = ce ;
<prep_vow> = cet ;
<prep_neut_past> = hier | avant-hier ;
<prep_neut> = aujourd'hui | demain | après-demain ;
<prep_femi> = cette ;
<time_masc> = soir | matin | midi | après-midi ;
<time_masc_vow> = après-midi ;
<time_femi> = nuit ;
<prep_time> = <prep_masc> <time_masc> | <prep_femi> <time_femi> | <prep_vow> <time_masc_vow> | <prep_neut> ( <time_masc> | <time_masc_vow> );
<prep_time_past> = <prep_neut_past> ( <time_masc> | <time_masc_vow> );
<avoir_past> = avait ;
<avoir_pres> = a ;
<avoir_fut> = aurait | aura ;
<choice_time_past> = <avoir_past> <prep_time_past> | <avoir_past> ( <prep_vow> <time_masc_vow> | <prep_masc> <time_masc> );
<choice_time> = ( <avoir_pres> | <avoir_fut> ) <prep_time> ;
<increase_reduce_verbs_inf> = [<wishes>] ( augmenter | diminuer | baisser | monter ) ;
<increase_reduce_verbs> = augmente | diminue | baisse | monte ;
<increase_reduce> = <increase_reduce_verbs> | <increase_reduce_verbs_inf> ;
<on_off_verbs_inf> = [<wishes>] ( allumer | éteindre );
<on_off_verbs> = allume | éteins ;
<on_off> = <on_off_verbs_inf> | <on_off_verbs> ;
<tv> = télévision | télé | tv ;
<power_tv> = <on_off> la <tv> ;
<volume_level> = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 ;
<volume_level_with_prep> = ( à | de ) <volume_level> ;
<changevolume> = ( <increase_reduce> le volume [<volume_level_with_prep>] ) | ( ( couper | coupe ) le son ) | ( ( mettre | mets ) le son sur <volume_level> ) | ( volume à <volume_level> );
<changechannel> = ( chaîne ( suivante | précédente ) ) | ( programme ( suivant | précédent ) ) | ( ( mettre | mets ) la <channelnumber> );
<commands_level_one> = lecture | pause | ( ( plus | moins ) fort ) | veille | réveil | mute | ( zappe sur [ la chaîne ] <channel> );
<record_verbs_inf> = [<wishes>] enregistrer ;
<record_verbs> = enregistre ;
<record> = <record_verbs_inf> | <record_verbs> ;
<commands_level_three> = <record> [ la chaîne ] <channel> [<start_hour>] durant <period_hour> ;
<start_hour> = à partir de <hour> ;
<voir> = voir | regarder ;
<question_1> = ( <wishes> <voir> | qu'est-ce qu'il y a à | y'a quoi à ) la <tv> ;
<answer_1> = et [ beaucoup ] plus tard ;
<answer_2> = et sur <channel> ;
<question_2> = qu'est-ce que tu [ me ] ( recommandes | proposes | suggères | conseilles ) [ à la <tv> ] ;
<question_3> = ( peux-tu [ me ] ( proposer | suggérer ) ( un film | un programme ) [<with_actor>] ) | ( ( as-tu | aurais-tu ) ( un film | un programme ) [<with_actor>] à [ me ] ( proposer | suggérer ) ) ;
<question_4> = qu'est-ce qu'il y ( <choice_time> | <choice_time_past> ) à la <tv> ;
<question_5> = quel est le programme de ( <prep_neut> | <prep_masc> <time_masc> | <prep_femi> <time_femi> | <prep_vow> <time_masc_vow> );
<with_actor> = avec <actor> ;
<without_actor> = sans <actor> ;
<chooseactor> = ( <without_actor> | <with_actor> ) [ en tant qu'acteur ];
<tv_content> = desperate housewives | the voice | super 8 | jt sur france 2 | épisode de soda ;
<actor> = samuel lee jackson | woody allen ;
<realisator> = woody allen | quentin tarantino ;
<whatis> = ( qu'est-ce que | c'est quoi ) <tv_content> ;
<ask_resume> = ( quel est | ( donne ( moi | nous ) ) | c'est quoi ) son résumé ;
<answer_4> = [ ok ] je le regarderai plus tard ;
<answer_5> = passe en mode cinema ;
<play> = ( tu peux ( redémarrer | reprendre ) | reprends | redémarre ) ( mon | le ) programme ;
<recordtv> = ( j'aimerais que tu m' enregistres | enregistre ) le prochain <tv_content> ;
<find_movie> = [ trouve-moi ] un film de <realisator> [<chooseactor>] ;
<all_multimedia> = <commands_level_one> | <commands_level_three> | <question_1> | <question_2> | <question_3> | <question_4> | <question_5> | <answer_1> | <answer_2> | <play> | <recordtv> | <find_movie> | <whatis> | <ask_resume> | <answer_4> | <answer_5> | <changevolume> | <changechannel> | <power_tv> ;