Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • deniz.cingoez/robocup-speechrec
  • t.dilger/robocup-speechrec
  • msterz/robocup-speechrec
  • patric.steckstor/robocup-speechrec
  • jennifer.lee/robocup-speechrec
  • jharin/robocup-speechrec
  • f.thiemer/robocup-speechrec
  • augustin.harter/robocup-speechrec
  • jleichert/robocup-speechrec
9 results
Show changes
Showing
with 846 additions and 57 deletions
......@@ -2,4 +2,5 @@
grammar ToBI_person;
public <statement> = <naming> ;
<naming> = [(my name is) | (i am)] <name>;
<name> = sophia | isabella | emma | olivia | ava | emily | abigail | madison | mia | chloe | james | john | robert | michael | william | david | richard | charles | joseph | thomas;
<name_old> = sophia | isabella | emma | olivia | ava | emily | abigail | madison | mia | chloe | james | john | robert | michael | william | david | richard | charles | joseph | thomas;
<name> = alex | charlie | elizabeth | francis | jennifer | linda | mary | patricia | james | john | michael | robert | robin | skyler | william;
\ No newline at end of file
#JSGF V1.0;
grammar ToBI_carrymyluggage;
public <statement> = <command>;
<robot> = (tobi | robot | tiago);
<command> = [<robot>] ( <followMe> | <arrived> | <goBack> | <pickUp> ) [<robot>];
<goBack> = ( [thanks you can] go back [now] );
<followMe> = [please] ((follow | come with ) me [to the <place>]);
<arrived> = ((stop [(here | following me)]) | (wait here) | (we arrived [ at the <place>]) );
<place> = ( car );
<pickUp> = ( [can you] pick up the bag);
#JSGF V1.0;
grammar dynamic;
public <string> = [<robot>] (<command>);
<robot> = ((tobi) | (robot) | (tiago));
<command> = ( <introduce> | <trash> | <search>);
<introduce> = (introduce yourself);
<trash> = ([please] ((take out the trash) | (take out the garbage)));
<search> = ([please] search for [a] [waving] person);
#JSGF V1.0;
grammar speechRecognition;
public <sentence> = [could you | robot | tobi | tiago] [please] <command> [please] ;
<command> = <CMDcountObj> | <CMDtransferObj> | <CMDfollow> | <CMDcountPpl> | <CMDoffer> | <cmdfndppl> | <cmdfndobj> | <cmdguide> | <cmdfollow> | <cmdfollowout> | <cmdman> | <complexman>;
<CMDcountObj> = (<V_count> <NP_category> (items | objects) at <NP_placement> and (inform | (report to)) <NP_me>) | (<V_count> <NP_category> (items | objects) are in <NP_placement>);
<CMDtransferObj> = <V_deliver> <NP_me> some <NP_category> from <NP_placement>;
<CMDfollow> = <V_follow> the person at <NP_beacon>;
<CMDcountPpl> = (<V_count> ((<N_posture> <NP_agegenderpersonplural>) | (<NP_agegenderpersonplural> [are] <N_gesture>)) [there are] in <NP_room>) | (<V_count> <NP_agegenderpersonplural> in <NP_room> are (<N_posture> | <N_gesture>));
<CMDoffer> = <V_offer> something to <eatdrink> to all (([the] <N_posture> <NP_agegenderpersonplural>) | (<NP_agegenderpersonplural> [are] <N_gesture>)) in <NP_room>;
<cmdfndppl> = <countPrsInRoom> | <talkInfoToGestPrsInRoom> | (<findPrsInRoom> and <answerQuestion>) | (<goToLoc> <findPrs> and (<answerQuestion> | <talkInfo>)) | (<answerToGestPrsInRoom>);
<cmdfndobj> = <findObjInRoom> | <countObjOnPlcmt> | <tellObjPropOnPlcmt> | <findThreeObjInRoom>;
<cmdguide> = <guideNameFromBeacToBeac> | (<meetPrsAtBeac> and <guidePronToBeacon>) | (<goToLoc> <meetName> and <guidePronToBeacon>) | <guideNameToBeacFindAtBeac>;
<cmdfollow> = <followNameFromBeacToRoom> | (<meetPrsAtBeac> and <followPrsToRoom>) | (<goToLoc> <meetName> and (<followPrs> | <followPrsToRoom>));
<cmdfollowout> = <meetPrsAtBeac> <followPrs> and (<goToLoc> | <guidePronBack>);
<cmdincomplete> = <followName> | <deliverObjToMe> | <guideNameToBeacon>;
<cmdman> = <bringMeObjFromPlcmt> | <bringCatFromRoomToPlcmt> | <takeObjFromPlcmt> | (<takeObjFromPlcmt> and (<deliverObjPronToMe> | <deliverObjToNameAtBeac>)) | ((<takeObjFromPlcmt> | <takeObj>) and <placeObjPronOnPlcmt>) | <deliverObjToGestPrsInRoom> | (<goToLoc> <findObj> and (<deliverObjPronToMe> | <placeObjPronOnPlcmt>));
<complexman> = <deliverObjToPlacement>;
<goToLoc> = <V_go> <toLocPrep> (<NP_room> | <NP_placement> | <NP_beacon>);
<findObj> = <V_find> <NP_object>;
<findObjInRoom> = <V_find> (<NP_object> | <NP_category>) <inLocPrep> <NP_room>;
<findThreeObjInRoom> = <V_find> <N_three> <NP_category> <inLocPrep> <NP_room>;
<takeObj> = <V_take> <NP_object>;
<takeObjFromPlcmt> = <V_take> <NP_object> <fromLocPrep> (<NP_room> | <NP_placement>);
<findPrs> = <V_find> (<NP_gestperson> | <NP_genderperson> | <NP_poseperson>);
<findPrsInRoom> = <V_find> (<NP_gestperson> | <NP_poseperson>) <inLocPrep> <NP_room>;
<placeObjOnPlcmt> = <V_place> <NP_object> <placePrep> <NP_placement>;
<placeObjPronOnPlcmt> = <V_place> <NP_objectpron> <placePrep> <NP_placement>;
<talkInfo> = <V_talk> <NP_talk>;
<talkInfoToGestPrsInRoom> = <V_talk> <NP_talk> <talkPrep> <NP_gestperson> <inLocPrep> <NP_room>;
<answerQuestion> = <V_answer> <NP_answer>;
<answerToGestPrsInRoom> = <V_answer> <NP_answer> <talkPrep> <NP_gestperson> <inLocPrep> <NP_room>;
<followPrs> = <V_follow> <NP_personalpron>;
<followPrsToRoom> = <V_follow> <NP_personalpron> <toLocPrep> <NP_roomTwo>;
<followName> = <V_follow> <NP_name>;
<followNameFromBeacToRoom> = <V_follow> <NP_name> <fromLocPrep> (<NP_beacon> | <NP_room>) <toLocPrep> <NP_roomTwo>;
<meetName> = <V_meet> <NP_name>;
<meetNameAtBeac> = <V_meet> <NP_name> <atLocPrep> <NP_beacon>;
<meetPrsAtBeac> = <V_meet> <NP_name> <atLocPrep> <NP_beacon>;
<meetprsAtDoor> = <V_meet> <NP_name> <atLocPrep> <NP_door>;
<bringObjFromRoomToPlcmt> = <V_take> <NP_object> <fromLocPrep> <NP_room> <toLocPrep> <NP_placement>;
<bringCatFromRoomToPlcmt> = <V_take> <NP_category> <fromLocPrep> <NP_room> <toLocPrep> <NP_placement>;
<bringMeObj> = <V_bring> <NP_me> (<NP_object> | <NP_category>);
<bringMeObjFromPlcmt> = ((<V_bring> <NP_me> <NP_relObject> <NP_object> <fromLocPrep> <NP_placement>) | (<V_bring> <NP_me> <NP_object> <fromLocPrep> <NP_placement>));
<bringMeShapedObjFromPlcmt> = <V_bring> <NP_me> <NP_objectprop> (object | <NP_category>) <fromLocPrep> <NP_placement>;
<countObjOnPlcmt> = <V_count> (<NP_object> | <NP_category>) there are <placePrep> <NP_placement>;
<countPrsInRoom> = <V_count> people in <NP_room> <arePrep> (<NP_posture> | <NP_genderpersonplural>);
<tellPrsInfoInLoc> = <V_tell> me <NP_personattribute> of the person <LocPrep> (<NP_room> | <NP_beacon>);
<tellObjPropOnPlcmt> = <V_tell> me ((what is) | whats | (which are)) <NP_objectprop> (object | objects) <onLocPrep> <NP_placement>;
<tellCatPropOnPlcmt> = <V_tell> me ((what is) | whats | (which are)) <NP_objectprop> <NP_category> <onLocPrep> <NP_placement>;
<deliverObjToMe> = <V_deliver> (<NP_object> | <NP_category>) <deliverPrep> <NP_me>;
<deliverObjPronToMe> = <V_deliver> <NP_objectpron> <deliverPrep> <NP_me>;
<deliverObjToGestPrsInRoom> = <V_deliver> (<NP_object> | <NP_category>) <deliverPrep> <NP_gestperson> <inLocPrep> <NP_roomTwo>;
<deliverObjToNameAtBeac> = <V_deliver> <NP_objectpron> <deliverPrep> <NP_name> <atLocPrep> <NP_beaconTwo>;
<deliverObjToPlacement> = <V_take> <NP_object> <deliverPrep> <NP_placement>;
<guidePronIncomplete> = <V_guide> <NP_personalpron>;
<guidePronBack> = <V_guide> <NP_personalpron> back;
<guidePronToBeacon> = <V_guide> <NP_personalpron> <toLocPrep> <NP_beaconTwo>;
<guideNameToBeacon> = <V_guide> <NP_name> <toLocPrep> <NP_beaconTwo>;
<guideNameFromBeacToBeac> = <V_guide> <NP_name> <fromLocPrep> <NP_beacon> <toLocPrep> <NP_beaconTwo>;
<guideNameToBeacFindAtBeac> = <V_guide> <NP_name> <toLocPrep> <NP_beaconTwo> you (may | can | will) find (them | him | her) <atLocPrep> <NP_beacon>;
<deliverPrep> = to;
<placePrep> = on;
<inLocPrep> = in;
<fromLocPrep> = from;
<toLocPrep> = to;
<atLocPrep> = at;
<talkPrep> = to;
<LocPrep> = in | at;
<onLocPrep> = on;
<arePrep> = are;
<absPrep> = (at the (left | right) of) | ((left | right) most);
<relPrep> = (at the (left | right)) of | (above | behind | under | (on top of));
<color> = blue | yellow | black | white | red | orange | gray;
<eatdrink> = eat | drink;
<V_offer> = offer;
<V_take> = bring | take | get | grasp | (pick up);
<V_place> = put | place;
<V_deliver> = bring | give | deliver;
<V_bring> = bring | give;
<V_go> = go | navigate;
<V_find> = find | locate | (look for) | pinpoint | spot;
<V_talk> = tell | say;
<V_answer> = answer;
<V_follow> = follow;
<V_meet> = meet | face | contact | greet | find | (get to know) | (get acquainted with);
<V_guide> = guide | escort | take | lead | accompany;
<V_tell> = tell;
<V_count> = (count the) | (tell me how many);
<V_serve> = serve | arrange | deliver | distribute | give | provide;
<V_introduce> = introduce;
<V_ask> = ask;
<V_leave> = leave;
<V_clean> = (clean out) | (clean up) | (tidy (up | op)) | order | neaten;
<V_dump> = (take out) | dump;
<NP_object> = (the <N_object>) | (a <N_object>) | (an <N_object>) | (<N_object>);
<NP_colObject> = (<color> <N_object>);
<NP_absobject> = (the <absPrep> object);
<NP_relObject> = (the object <relPrep>);
<NP_objectpron> = (<N_objectpron>);
<NP_category> = (the <N_category>) | <N_category>;
<NP_objectprop> = (the <N_objectprop>);
<NP_placement> = (the <N_placement>);
<NP_placementTwo> = (the <N_placementTwo>);
<NP_beacon> = (the <N_beacon>);
<NP_beaconTwo> = (the <N_beaconTwo>);
<NP_room> = (the <N_room>);
<NP_roomTwo> = (the <N_roomTwo>);
<NP_me> = (<N_me>);
<NP_gestperson> = (the <N_gestperson>) | (a <N_gestperson>);
<NP_poseperson> = (a <N_poseperson>);
<NP_genderperson> = (a <N_genderperson>);
<NP_genderpersonplural> = (<N_genderpersonplural>);
<NP_agegenderpersonplural> = (<N_agegenderpersonplural>);
<NP_name> = <N_name>;
<NP_talk> = <N_talk>;
<NP_answer> = <N_answer>;
<NP_personalpron> = <N_personalpron>;
<NP_personattribute> = (the <N_personattribute>);
<NP_posture> = <N_posture>;
<NP_taxi> = ([the] <N_taxi>);
<NP_partyfood> = <N_partyfood>;
<NP_door> = (the <N_door>);
<NP_garbage> = (the <N_garbage>);
<N_objectpron> = it;
<N_objectprop> = biggest | largest | smallest | heaviest | lightest | thinnest;
<N_me> = me;
<N_gestperson> = person <N_gesture>;
<N_poseperson> = (person sitting) | (person standing) | (person lying down);
<N_genderperson> = man | woman | boy | girl | (male person) | (female person);
<N_genderpersonplural> = men | women | boys | girls | male | female;
<N_agegenderpersonplural> = people | men | women | elders | children;
<N_talk> = (something about yourself) | (the time) | (what day is (today | tomorrow)) | (your teams (name | country | affiliation)) | (the day of the (week | month)) | (a joke);
<N_answer> = (a question);
<N_personalpron> = them | her | his | him | it;
<N_personattribute> = name | gender | pose;
<N_posture> = sitting | standing | lying down;
<N_three> = three;
<N_gesture> = (waving) | (raising their left arm) | (raising their right arm) | (pointing to the left) | (pointing to the right);
<N_clothed> = (dressed in);
<N_object> = (dice | (tennis ball) | baseball | (rubiks cube) | (soccer ball) | bowl | spoon | cup | fork | plate | knife | cheezit | nuts | pretzels | (peanut puffs) |
pringles | sugar | (tomato soup) | tuna | corn | (strawberry jello) | (chocolate jello) | cornflakes | (coffee grounds) | spam | mustard | ketchup | sponge |
(laundry cleaner) | cleanser | (sponge cloth) | (dish soap) | pear | banana | (orange juice) | (apple juice) | apple | plum | lemon | peach | strawberry | orange |
coke | (ice tea) | fanta | milk) ;
<N_category> = (toys | dishes | snacks | food | (cleaning supplies) | fruits | drinks) ;
<N_room> = kitchen | (living room) | bedroom | office | corridor;
<N_roomTwo> = kitchen | (living room) | bedroom | study;
<N_placement> = ((bedside table) | bed | dresser | armchair | cabinet | desk | fridge | dishwasher | (kitchen table) | bookshelf | (coffee table) | bar | (tv sideboard)) ;
<N_placementTwo> = ((bedside table) | bed | dresser | armchair | cabinet | desk | fridge | dishwasher | (kitchen table) | bookshelf | (coffee table) | bar | (tv sideboard)) ;
<N_beacon> = ((bedside table) | bed | dresser | armchair | cabinet | (desk chair) | desk | fridge | dishwasher | (kitchen table) | bookshelf | (coffee table) | bar | (tv sideboard) | sink | (trash bin) | sofa | wardrobe | entrance | exit) ;
<N_beaconTwo> = ((bedside table) | bed | dresser | armchair | cabinet | (desk chair) | desk | fridge | dishwasher | (kitchen table) | bookshelf | (coffee table) | bar | (tv sideboard) | sink | (trash bin) | sofa | wardrobe | entrance | exit) ;
<N_name> = kai | noah | unique | luca | evelyn| jayden | james | riley | harper | quinn | avery | remi | river | atlas;
<N_taxi> = taxi | cab | uber;
<N_partyfood> = snacks | drinks;
<N_door> = ( front | back | main | rear ) (entrance | door);
<N_garbage> = litter | garbage | trash | waste | debris | junk;
<N_luggage> = bag | valise | baggage | suitcase | trolley;
\ No newline at end of file
#JSGF V1.0;
grammar speechRecognition;
public <sentence> = [could you | robot | tobi | tiago] [please] <start_command> [please] ;
<commands> =
<verb_take> = (take | get | grasp | fetch) ;
<verb_place> = (put | place) ;
<verb_deliver> = (bring | give | deliver) ;
<verb_bring> = (bring | give) ;
<verb_go> = (go | navigate) ;
<verb_find> = (find | locate | (look for)) ;
<verb_talk> = (tell | say) ;
<verb_answer> = (answer) ;
<verb_meet> = (meet) ;
<verb_tell> = (tell) ;
<verb_greet> = (greet | salute | (say hello to) | (introduce yourself to)) ;
<verb_remember> = (meet | contact | (get to know) | (get acquainted with)) ;
<verb_count> = (tell me how many) ;
<verb_describe> = ((tell me how) | describe) ;
<verb_offer> = (offer) ;
<verb_follow> = (follow) ;
<verb_guide> = (guide | escort | take | lead) ;
<verb_accompany> = (accompany) ;
<prep_deliver> = (to) ;
<prep_place> = (on) ;
<prep_inLoc> = (in) ;
<prep_fromLoc> = (from) ;
<prep_toLoc> = (to) ;
<prep_atLoc> = (at) ;
<prep_talk> = (to) ;
<prep_loc> = (in | at) ;
<prep_onLoc> = (on) ;
<prep_are> = (are) ;
<prep_ofPrs> = (of) ;
<article> = (an | a) ;
<talk> = ((something about yourself) | (the time) | (what day is today) | (what day is tomorrow) | (your teams name) |
(your teams country) | (your teams affiliation) | (the day of the week) | (the day of the month)) ;
<question> = (question | quiz) ;
<color> = (blue | yellow | black | white | red | orange | gray) ;
<cloth> = ((t shirt) | shirt | blouse | sweater | coat | jacket) ;
<clothes> = ((t shirts) | shirts | blouses | sweaters | coats | jackets) ;
<color_cloth> = (<color> <cloth>) ;
<location_placement> = (bed | (bedside table) | dresser | armchair | cabinet | desk | fridge | dishwasher | (kitchen table) | bookshelf | (coffee table) | bar | (tv sideboard)) ;
<location_no_placement> = ((desk chair) | sink | (trash bin) | sofa | wardrobe | entrance | exit) ;
<location> = (<location_placement> | <location_no_placement>) ;
<room> = (bedroom | (living room) | corridor | office | kitchen)
<inRoom_atLoc> = ((in the <room>) | (at the <location>)) ;
<object> = (dice | (tennis ball) | baseball | (rubiks cube) | (soccer ball) | bowl | spoon | cup | fork | plate | knife | cheezit | nuts | pretzels | (peanut puffs) |
pringles | sugar | (tomato soup) | tuna | corn | (strawberry jello) | (chocolate jello) | cornflakes | (coffee grounds) | spam | mustard | ketchup | sponge |
(laundry cleaner) | cleanser | (sponge cloth) | (dish soap) | pear | banana | orange | apple | plum | lemon | peach | strawberry | (apple juice) | (orange juice) |
coke | (ice tea) | fanta | milk) ;
<object_categories> = (toys | dishes | snacks | food | (cleaning supplies) | fruits | drinks) ;
<object_category> = (toy | dish | snack | food | (cleaning supply) | fruit | drink) ;
<person_info> = (name | pose | gesture) ;
<object_comparison> = (biggest)
<person_command> = (<goToLoc> | <findPrsInRoom> | <meetPrsAtBeac> | <countPrsInRoom> | <tellPrsInfoInLoc> |
<talkInfoToGestPrsInRoom> | <answerToGestPrsInRoom> | <followNameFromBeacToRoom> |
<guideNameFromBeacToBeac> | <guidePobject_categoryrsFromBeacToBeac> | <guideClothPrsFromBeacToBeac> |
<greetClothDscInRm> | <greetNameInRm> | <meetNameAtLocThenFindInRm> | <countClothPrsInRoom> |
<countClothPrsInRoom> | <tellPrsInfoAtLocToPrsAtLoc> | <followPrsAtLoc>) ;
<object_command> = (<goToLoc> | <takeObjFromPlcmt> | <findObjInRoom> | <countObjOnPlcmt> | <tellObjPropOnPlcmt> | <bringMeObjFromPlcmt> | <tellCatPropOnPlcmt>) ;
<start_command> = (<person_command> | <object_command>) ;
<followup_command_at_location> = (<findPrs> | <meetName> | <findObj>) ;
<followup_command_object_taken> = (<placeObjOnPlcmt> | <deliverObjToMe> | <deliverObjToPrsInRoom> | <deliverObjToNameAtBeac>) ;
<followup_command_object_found> = <takeObj> ;
<followup_command_person_found> = (<talkInfo> | <answerQuestion> | <followPrs> | <followPrsToRoom> | <guidePrsToBeacon>) ;
<goToLoc> = (<verb_go> <prep_toLoc> the <room> then <followup_command_at_location>) ;
<takeObjFromPlcmt> = (<verb_take> <article> <object_category> <prep_fromLoc> the <location_placement> and <followup_command_object_taken>) ;
<findPrsInRoom> = (<verb_find> <article> <prep_inLoc> the <room> and <followup_command_person_found>) ;
<findObjInRoom> = (<verb_find> <art> <object_category> <inLocPrep> the <room> then <followup_command_object_found>) ;
<meetPrsAtBeac> = (<verb_meet> <name> <inLocPrep> the <room> and <followup_command_person_found>) ;
<countObjOnPlcmt> = (<verb_count> <plurCat> there are <prep_onLoc> the <location_placement>) ;
<countPrsInRoom> = (<verb_count> <gestPersPlur_posePersPlur> are <inLocPrep> the <room>) ;
<tellPrsInfoInLoc> = (<verb_tell> me the <persInfo> of the person <inRoom_atLoc>) ;
<tellObjPropOnPlcmt> = (<verb_tell> me what is the <objComp> object <prep_onLoc> the <location_placement>) ;
<talkInfoToGestPrsInRoom> = (<verb_talk> <talk> <prep_talk> the <gestPers> <inLocPrep> the <room>) ;
<answerToGestPrsInRoom> = (<verb_answer> the <question> <prep_ofPrs> the <gestPers> <inLocPrep> the <room>) ;
<followNameFromBeacToRoom> = (<verb_foinLocPrepllow> <name> <fromLocPrep> the <loc> <toLocPrep> the <room>) ;
<guideNameFromBeacToBeac> = (<verb_guide> <name> <fromLocPrep> the <loc> <toLocPrep> the <loc_room>) ;
<guidePrsFromBeacToBeac> = (<verb_guide> the <gestPers_posePers> <fromLocPrep> the <loc> <toLocPrep> the <loc_room>) ;
<guideClothPrsFromBeacToBeac> = (<verb_guide> the person wearing a <colorClothe> <fromLocPrep> the <loc> <toLocPrep> the <loc_room>) ;
<bringMeObjFromPlcmt> = (<verb_bring> me <art> <obj> <fromLocPrep> the <location_placement>) ;
<tellCatPropOnPlcmt> = (<verb_tell> me what is the <objComp> <singCat> <prep_onLoc> the <location_placement>) ;
<greetClothDscInRm> = (<verb_greet> the person wearing <art> <colorClothe> <inLocPrep> the <room> and <followup_command_person_found>) ;
<greetNameInRm> = (<verb_greet> <name> <inLocPrep> the <room> and <followup_command_person_found>) ;
<meetNameAtLocThenFindInRm> = (<verb_meet> <name> <atLocPrep> the <loc> then <verb_find> them <inLocPrep> the <room>) ;
<countClothPrsInRoom> = (<verb_count> people <inLocPrep> the <room> are wearing <colorClothes>) ;
<tellPrsInfoAtLocToPrsAtLoc> = (<verb_tell> the <persInfo> of the person <atLocPrep> the <loc> to the person <atLocPrep> the <loc2>) ;
<followPrsAtLoc> = (<verb_follow> the <gestPers_posePers> <inRoom_atLoc>) ;
<findObj> = (<verb_find> <art> <object_category> and <followup_command_object_found>) ;
<findPrs> = (<verb_find> the <gestPers_posePers> and <followup_command_person_found>) ;
<meetName> = (<verb_meet> <name> and <followup_command_person_found>) ;
<placeObjOnPlcmt> = (<verb_place> it <prep_onLoc> the <location_placement2>) ;
<deliverObjToMe> = (<verb_deliver> it to me) ;
<deliverObjToPrsInRoom> = (<verb_deliver> it <deliverPrep> the <gestPers_posePers> <inLocPrep> the <room>) ;
<deliverObjToNameAtBeac> = (<verb_deliver> it <deliverPrep> <name> <inLocPrep> the <room>) ;
<talkInfo> = (<verb_talk> <talk>) ;
<answerQuestion> = (<verb_answer> a <question>) ;
<followPrs> = (<verb_follow> them) ;
<followPrsToRoom> = (<verb_follow> them <toLocPrep> the <loc2_room2>) ;
<guidePrsToBeacon> = (<verb_guide> them <toLocPrep> the <loc2_room2>) ;
<takeObj> = (<takeVerb> it and <followup_command_object_taken>) ;
\ No newline at end of file
......@@ -6,11 +6,11 @@ public <sentence> = ([could you | robot | tobi] [please] <VP1> [([and|then] <V
<VP1> = (<SingleCommands> | <NeedsToBeFirst> | <NoRestriction>);
<VP2> = (<NeedsReference> | <NoRestriction>);
<VP3> = (<NeedsReference> | <NoRestriction>);
<NeedsToBeFirst> = (<goToLoc> | <meetPrsAtBeac> | <findPrsInRoom>);
<SingleCommands> = (<countObjOnPlcmt> | <countPrsInRoom> | <tellPrsInfoInLoc> | <tellObjPropOnPlcmt> | <deliverObjToGestPrsInRoom> | <followNameFromBeacToRoom> | <guideNameFromBeacToBeac> | <guideNameToBeacFindAtBeac> | <bringMeObjFromPlcmt> | <tellCatPropOnPlcmt> | <findObjInRoom> | <talkInfoToGestPrsInRoom> | <answerToGestPrsInRoom>);
<NeedsReference> = <followPrsToRoom> | (<followPrs> | <placeObjPronOnPlcmt> | <deliverObjPronToMe> | <guidePrsToBeacon> | <deliverObjToNameAtBeac> | <answerQuestion> | <talkInfo> | <meetName> | <findPrs> | <placeObjOnPlcmt>);
<NoRestriction> = (<findObj> | <takeObj> | <takeObjFromPlcmt> | <bringMeObj> | <deliverObjToMe>);
<NoRestriction> = (<findObj> | <takeObj> | <takeObjFromPlcmt> | <bringMeObj> | <deliverObjToMe>);
<goToLoc> = <V_go> <toLocPrep> (<NP_room> | <NP_placement> | <NP_beacon>);
......@@ -120,12 +120,20 @@ public <sentence> = ([could you | robot | tobi] [please] <VP1> [([and|then] <V
<N_personattribute> = name | gender | pose;
<N_posture> = sitting | standing | lying down;
<N_object> = basket | cereals | cloth | (coconut milk) | coke | cornflakes | noodles | orange (juice | drink) | peas | plate | pringles | red bowl | salt | soap | sponge | (tomato paste) | water;
<N_category> = care | drink | (cleaning stuff) | container | food | snack | cutlery;
<N_room> = corridor | (living room) | kitchen | (bath room);
<N_object_old> = basket | cereals | cloth | (coconut milk) | coke | cornflakes | noodles | orange (juice | drink) | peas | plate | pringles | red bowl | salt | soap | sponge | (tomato paste) | water;
<N_object> = (chocolate milk) | milk | cola | (soap box) | (choco krispies) | bowl | plate | fork | knife | spoon | cup | lemon | banana | peach | pear;
<N_category_old> = care | drink | (cleaning stuff) | container | food | snack | cutlery;
<N_category> = fruits | cutlery | drinks | snacks | (pantry items);
<N_room_old> = corridor | (living room) | kitchen | (bath room);
<N_room> = kitchen | (living room) | hallway | bathroom | office;
<N_roomTwo> = corridor | (living room) | kitchen | (bath room);
<N_placement> = (living table) | (kitchen counter) | sink | stove | cabinet | bar;
<N_placementTwo> = (living table) | (kitchen counter) | sink | stove | cabinet | bar;
<N_beacon> = (living table) | sink | bar | sofa | fridge | (comfy chair);
<N_beaconTwo> = (living table) | sink | bar | sofa | fridge | (comfy chair);
<N_name> = emma | olivia | sophia | ava | isabella | mia | abigail | emily | charlotte | harper | noah | liam | mason | jacob | william | ethan | james | alexander | michael | benjamin;
<N_placement_old> = (living table) | (kitchen counter) | sink | stove | cabinet | bar;
<N_placementTwo_old> = (living table) | (kitchen counter) | sink | stove | cabinet | bar;
<N_placement> = (kitchen table) | desk | (side board) | (side table) | sink | (kitchen counter) | cabinet | workstation;
<N_placementTwo> = (kitchen table) | desk | (side board) | (side table) | sink | (kitchen counter) | cabinet | workstation;
<N_beacon_old> = (living table) | sink | bar | sofa | fridge | (comfy chair);
<N_beaconTwo_old> = (living table) | sink | bar | sofa | fridge | (comfy chair);
<N_beacon> = fridge | sink | dishwasher | (easy chair) | (arm chair) | (kitchen table) | workstation;
<N_beaconTwo> = fridge | sink | dishwasher | (easy chair) | (arm chair) | (kitchen table) | workstation;
<N_name_old> = emma | olivia | sophia | ava | isabella | mia | abigail | emily | charlotte | harper | noah | liam | mason | jacob | william | ethan | james | alexander | michael | benjamin;
<N_name> = amelia | angel | ava | charlie | charlotte | hunter | max | mia | olivia | parker | sam | jack | noah | oliver | thomas | william;
#JSGF V1.0;
grammar speechRecognition;
public <sentence> = [could you | robot | tobi | tiago] [please] <command>;
<command> = (<cmdfndppl> | <cmdfndobj> | <cmdguide> | <cmdfollow> | <cmdfollowout> | <cmdincomplete> | <cmdman> | <complexman> | <cmdpartyhost>);
<cmdfndppl> = <tellPrsInfoInLoc> | <countPrsInRoom> | <talkInfoToGestPrsInRoom> | (<findPrsInRoom> and <answerQuestion>) | (<goToLoc> <findPrs> and (<answerQuestion> | <talkInfo>)) | (<answerToGestPrsInRoom>);
<cmdfndobj> = <findObjInRoom> | <countObjOnPlcmt> | <tellCatPropOnPlcmt> | <tellObjPropOnPlcmt> | <findThreeObjInRoom>;
<cmdguide> = <guideNameFromBeacToBeac> | (<meetPrsAtBeac> and <guidePronToBeacon>) | (<goToLoc> <meetName> and <guidePronToBeacon>) | <guideNameToBeacFindAtBeac>;
<cmdfollow> = <followNameFromBeacToRoom> | (<meetPrsAtBeac> and <followPrsToRoom>) | (<goToLoc> <meetName> and (<followPrs> | <followPrsToRoom>));
<cmdfollowout> = <meetPrsAtBeac> <followPrs> and (<goToLoc> | <guidePronBack>);
<cmdincomplete> = <followName> | <deliverObjToMe> | <guideNameToBeacon> | ([<goToLoc>] <meetName> and <guidePronIncomplete>);
<cmdman> = <bringMeObjFromPlcmt> | (<takeObjFromPlcmt> and (<deliverObjPronToMe> | <deliverObjToNameAtBeac>)) | ((<takeObjFromPlcmt> | <takeObj>) and <placeObjPronOnPlcmt>) | <deliverObjToGestPrsInRoom> | <bringToTaxi> | <bringMeObj> | (<goToLoc> <findObj> and (<deliverObjPronToMe> | <placeObjPronOnPlcmt>)) | <placeObjOnPlcmt> | <bringObjFromRoomToPlcmt>;
<complexman> = <deliverObjToPlacement> | <bringMeRelObjFromPlcmt> | <bringMeShapedObjFromPlcmt> | <cleanRoom> | <takeOutTheGarabage>;
<cmdpartyhost> = <serveDrinks> | ((<meetPrsAtBeac>| <meetprsAtDoor>) and <introduce>) | (<meetPrsAtBeac> and <requestleave>) | (<meetPrsAtBeac> and <guidePrsToTaxi>);
<goToLoc> = <V_go> <toLocPrep> (<NP_room> | <NP_placement> | <NP_beacon>);
<findObj> = <V_find> <NP_object>;
<findObjInRoom> = <V_find> (<NP_object> | <NP_category>) <inLocPrep> <NP_room>;
<findThreeObjInRoom> = <V_find> <N_three> <NP_category> <inLocPrep> <NP_room>;
<takeObj> = <V_take> <NP_object>;
<takeObjFromPlcmt> = <V_take> <NP_object> <fromLocPrep> (<NP_room> | <NP_placement>);
<findPrs> = <V_find> (<NP_gestperson> | <NP_genderperson> | <NP_poseperson>);
<findPrsInRoom> = <V_find> (<NP_gestperson> | <NP_genderperson> | <NP_poseperson>) <inLocPrep> <NP_room>;
<placeObjOnPlcmt> = <V_place> <NP_object> <placePrep> <NP_placement>;
<placeObjPronOnPlcmt> = <V_place> <NP_objectpron> <placePrep> <NP_placement>;
<talkInfo> = <V_talk> <NP_talk>;
<talkInfoToGestPrsInRoom> = <V_talk> <NP_talk> <talkPrep> <NP_gestperson> <inLocPrep> <NP_room>;
<answerQuestion> = <V_answer> <NP_answer>;
<answerToGestPrsInRoom> = <V_answer> <NP_answer> <talkPrep> <NP_gestperson> <inLocPrep> <NP_room>;
<followPrs> = <V_follow> <NP_personalpron>;
<followPrsToRoom> = <V_follow> <NP_personalpron> <toLocPrep> <NP_roomTwo>;
<followName> = <V_follow> <NP_name>;
<followNameFromBeacToRoom> = <V_follow> <NP_name> <fromLocPrep> (<NP_beacon> | <NP_room>) <toLocPrep> <NP_roomTwo>;
<meetName> = <V_meet> <NP_name>;
<meetPrsAtBeac> = <V_meet> <NP_name> <atLocPrep> <NP_beacon>;
<meetprsAtDoor> = <V_meet> <NP_name> <atLocPrep> <NP_door>;
<bringObjFromRoomToPlcmt> = <V_take> <NP_object> <fromLocPrep> <NP_room> <toLocPrep> <NP_placement>;
<bringMeObj> = <V_bring> <NP_me> (<NP_object> | <NP_category>);
<bringMeObjFromPlcmt> = <V_bring> <NP_me> (<NP_object> | <NP_absobject>) <fromLocPrep> <NP_placement>;
<bringMeRelObjFromPlcmt> = <V_bring> <NP_me> <NP_relObject> <NP_object> <fromLocPrep> <NP_placement>;
<bringMeShapedObjFromPlcmt> = <V_bring> <NP_me> <NP_objectprop> (object | <NP_category>) <fromLocPrep> <NP_placement>;
<countObjOnPlcmt> = <V_count> (<NP_object> | <NP_category>) there are <placePrep> <NP_placement>;
<countPrsInRoom> = <V_count> people in <NP_room> <arePrep> (<NP_posture> | <NP_genderpersonplural>);
<tellPrsInfoInLoc> = <V_tell> me <NP_personattribute> of the person <LocPrep> (<NP_room> | <NP_beacon>);
<tellObjPropOnPlcmt> = <V_tell> me ((what is) | whats | (which are)) <NP_objectprop> (object | objects) <onLocPrep> <NP_placement>;
<tellCatPropOnPlcmt> = <V_tell> me ((what is) | whats | (which are)) <NP_objectprop> <NP_category> <onLocPrep> <NP_placement>;
<deliverObjToMe> = <V_deliver> (<NP_object> | <NP_category>) <deliverPrep> <NP_me>;
<deliverObjPronToMe> = <V_deliver> <NP_objectpron> <deliverPrep> <NP_me>;
<deliverObjToGestPrsInRoom> = <V_deliver> (<NP_object> | <NP_category>) <deliverPrep> <NP_gestperson> <inLocPrep> <NP_roomTwo>;
<deliverObjToNameAtBeac> = <V_deliver> <NP_objectpron> <deliverPrep> <NP_name> <atLocPrep> <NP_beaconTwo>;
<deliverObjToPlacement> = <V_take> <NP_object> <deliverPrep> <NP_placement>;
<guidePronIncomplete> = <V_guide> <NP_personalpron>;
<guidePronBack> = <V_guide> <NP_personalpron> back;
<guidePronToBeacon> = <V_guide> <NP_personalpron> <toLocPrep> <NP_beaconTwo>;
<guideNameToBeacon> = <V_guide> <NP_name> <toLocPrep> <NP_beaconTwo>;
<guideNameFromBeacToBeac> = <V_guide> <NP_name> <fromLocPrep> <NP_beacon> <toLocPrep> <NP_beaconTwo>;
<guideNameToBeacFindAtBeac> = <V_guide> <NP_name> <toLocPrep> <NP_beaconTwo> you (may | can | will) find (them | him | her) <atLocPrep> <NP_beacon>;
<serveDrinks> = <V_serve> <NP_partyfood> to ((((everyone | everybody) | (all the <NP_agegenderpersonplural>)) | <NP_gestperson>) in <NP_room>);
<introduce> = <V_introduce> <NP_personalpron> to ((((everyone | everybody) | (all the <NP_agegenderpersonplural>)) <LocPrep> <NP_room>) | (<NP_name> <LocPrep> <NP_beacon>));
<requestleave> = <V_ask> <NP_personalpron> to <V_leave>;
<guidePrsToTaxi> = <V_guide> <NP_personalpron> <toLocPrep> [<NP_personalpron>] <NP_taxi>;
<cleanRoom> = <V_clean> <NP_room>;
<takeOutTheGarabage> = <V_dump> <NP_garbage>;
<bringToTaxi> = <V_take> my <N_luggage> <toLocPrep> <NP_taxi>;
<deliverPrep> = to;
<placePrep> = on;
<inLocPrep> = in;
<fromLocPrep> = from;
<toLocPrep> = to;
<atLocPrep> = at;
<talkPrep> = to;
<LocPrep> = in | at;
<onLocPrep> = on;
<arePrep> = are;
<absPrep> = (at the (left | right) of) | ((left | right) most);
<relPrep> = (at the (left | right)) of | (above | behind | under | (on top of));
<V_take> = bring | take | get | grasp | (pick up);
<V_place> = put | place;
<V_deliver> = bring | give | deliver;
<V_bring> = bring | give;
<V_go> = go | navigate;
<V_find> = find | locate | (look for);
<V_talk> = tell | say;
<V_answer> = answer;
<V_follow> = follow;
<V_meet> = meet | face | contact | greet | find;
<V_guide> = guide | escort | take | lead | accompany;
<V_tell> = tell;
<V_count> = tell me how many;
<V_serve> = serve | arrange | deliver | distribute | give | provide;
<V_introduce> = introduce;
<V_ask> = ask;
<V_leave> = leave;
<V_clean> = (clean out) | (clean up) | (tidy (up | op)) | order | neaten;
<V_dump> = (take out) | dump;
<NP_object> = (the <N_object>) | (a <N_object>) | (an <N_object>) | (<N_object>);
<NP_absobject> = (the <absPrep> object);
<NP_relObject> = (the object <relPrep>);
<NP_objectpron> = (<N_objectpron>);
<NP_category> = (the <N_category>) | <N_category>;
<NP_objectprop> = (the [<N_three>] <N_objectprop>);
<NP_placement> = (the <N_placement>);
<NP_placementTwo> = (the <N_placementTwo>);
<NP_beacon> = (the <N_beacon>);
<NP_beaconTwo> = (the <N_beaconTwo>);
<NP_room> = (the <N_room>);
<NP_roomTwo> = (the <N_roomTwo>);
<NP_me> = (<N_me>);
<NP_gestperson> = (the <N_gestperson>) | (a <N_gestperson>);
<NP_poseperson> = (a <N_poseperson>);
<NP_genderperson> = (a <N_genderperson>);
<NP_genderpersonplural> = (<N_genderpersonplural>);
<NP_agegenderpersonplural> = (<N_agegenderpersonplural>);
<NP_name> = <N_name>;
<NP_talk> = <N_talk>;
<NP_answer> = <N_answer>;
<NP_personalpron> = <N_personalpron>;
<NP_personattribute> = (the <N_personattribute>);
<NP_posture> = <N_posture>;
<NP_taxi> = ([the] <N_taxi>);
<NP_partyfood> = <N_partyfood>;
<NP_door> = (the <N_door>);
<NP_garbage> = (the <N_garbage>);
<N_objectpron> = it;
<N_objectprop> = biggest | largest | smallest | heaviest | lightest | thinnest;
<N_me> = me;
<N_gestperson> = (person waving) | (person (raising | rising) [their] (left|right) arm) | (person pointing to the (left|right)) | (person calling);
<N_poseperson> = (person sitting) | (person standing) | (person lying down);
<N_genderperson> = man | woman | boy | girl | (male person) | (female person);
<N_genderpersonplural> = men | women | boys | girls | male | female;
<N_agegenderpersonplural> = people | men | women | guests | elders | children;
<N_talk> = (something about yourself) | (the time) | (what day is (today | tomorrow)) | (your teams (name | country | affiliation)) | (the day of the (week | month)) | (a joke);
<N_answer> = (a question);
<N_personalpron> = them | her | his | him | it;
<N_personattribute> = name | gender | pose;
<N_posture> = sitting | standing | lying down;
<N_three> = three;
<N_object> = sponge | cleanser | (red wine) | (juice pack) | (cola) | (tropical juice) | (milk) | (iced tea) | (orange juice) | (tuna) | (tomato soup) | spam | mustard | (strawberry jello) | (chocolate jello) | (coffee grounds) | sugar | pear | plum | peach | lemon | orange | strawberry | banana | apple | (tennis ball) | (soccer ball) | (rubiks cube) | dice | baseball | pringles | cornflakes | cheezit | spoon | plate | cup | fork | bowl | knife;
<N_category> = (cleaning supplies) | drinks | food | fruits | toys | snacks | dishes;
<N_room> = kitchen | (living room) | bedroom | study;
<N_roomTwo> = kitchen | (living room) | bedroom | study;
<N_placement> = (bedside table) | shelf | trashbin | dishwasher | kitchen table | pantry | cabinet | desk | (tv stand) | (storage rack) | (bookshelf) | (side tables) | sink;
<N_placementTwo> = (bedside table) | shelf | trashbin | dishwasher | kitchen table | pantry | cabinet | desk | (tv stand) | (storage rack) | (bookshelf) | (side tables) | sink;
<N_beacon> = (bedside table) | shelf | trashbin | dishwasher | kitchen table | pantry | cabinet | desk | (tv stand) | (storage rack) | (bookshelf) | bed | (potted plant) | chairs | refrigerator | sink | coatrack | armchair | (desk lamp) | lamp | (side tables) | (sofa) | exit | entrance;
<N_beaconTwo> = (bedside table) | shelf | trashbin | dishwasher | kitchen table | pantry | cabinet | desk | (tv stand) | (storage rack) | (bookshelf) | bed | (potted plant) | chairs | refrigerator | sink | coatrack | armchair | (desk lamp) | lamp | (side tables) | (sofa) | exit | entrance;
<N_name> = adel | angel | axel | charlie | jane | john | jules | morgan | paris | robin | simone;
<N_taxi> = taxi | cab | uber;
<N_partyfood> = snacks | drinks;
<N_door> = ( front | back | main | rear ) (entrance | door);
<N_garbage> = litter | garbage | trash | waste | debris | junk;
<N_luggage> = bag | valise | baggage | suitcase | trolley;
<N_garbage> = litter | garbage | trash | waste | debris | junk;
#JSGF V1.0;
grammar speechRecognition;
public <sentence> = [could you | robot | tobi] [please] (<singleCommand> | <commandChain>)
<singleCommand> = <standalone>;
<commandChain> = (<genLoc> [and|then] <reqLocGenPrs> [and|then] <reqPrs>)
| (<genLoc> [and|then] <reqLocGenPrs> [and|then] <noReq>)
| (<genLoc> [and|then] <reqLocGenItem> [and|then] <reqItem>)
| (<genLocPrs> [and|then] <reqPrs> [and|then] <reqPrsMOVE>)
| (<genLocPrs> [and|then] <reqPrs> [[and|then] <noReq>)
| (<genLocPrs> [and|then] <reqPrs> [[and|then] <noReq>])
<noReq> = (<genLoc> | <genPrs> | <genItem>);
<genLoc> = <goToLoc>;
<genItem> = (<takeObjFromPlcmt> | <takeObj>);
<genLocPrs> = (<meetPrsAtBeac> | <findPrsInRoom>);
<reqLocGenPrs> = (<findPrs> | <meetName>);
<reqLocGenItem>= <findObj>;
<reqPrs> = (<followPrsToRoom> | <followPrs> | <guidePrsToBeacon> | <answerQuestion> | <talkInfo>;
<reqLocPrs> = <guidePrsBack>;
<reqItem> = (<deliverObjPronToMe> | <placeObjPronOnPlcmt> | <placeObjOnPlcmt> | <deliverObjToNameAtBeac>)
<standalone> = <deliverObjToMe> | <deliverObjToGestPrsInRoom> | <countObjOnPlcmt> | <countPrsInRoom> | <tellPrsInfoInLoc> | <tellObjPropOnPlcmt> | | <followNameFromBeacToRoom> | <guideNameFromBeacToBeac> | <guideNameToBeacFindAtBeac> | <bringMeObj> | <bringMeObjFromPlcmt> | <tellCatPropOnPlcmt> | <findObjInRoom> | <talkInfoToGestPrsInRoom> | <answerToGestPrsInRoom>);
<goToLoc> = <V_go> <toLocPrep> (<NP_room> | <NP_placement> | <NP_beacon>);
<findObj> = <V_find> <NP_object>;
<findObjInRoom> = <V_find> (<NP_object> | <NP_category>) <inLocPrep> <NP_room>;
<takeObj> = <V_take> <NP_object>;
<takeObjFromPlcmt> = <V_take> <NP_object> <fromLocPrep> (<NP_room> | <NP_placement>);
<findPrs> = <V_find> (<NP_gestperson> | <NP_genderperson> | <NP_poseperson>);
<findPrsInRoom> = <V_find> (<NP_gestperson> | <NP_genderperson> | <NP_poseperson>) <inLocPrep> <NP_room>;
<placeObjOnPlcmt> = <V_place> <NP_object> <placePrep> <NP_placement>;
<placeObjPronOnPlcmt> = <V_place> <NP_objectpron> <placePrep> <NP_placement>;
<talkInfo> = <V_talk> <NP_talk>;
<talkInfoToGestPrsInRoom> = <V_talk> <NP_talk> <talkPrep> <NP_gestperson> <inLocPrep> <NP_room>;
<answerQuestion> = <V_answer> <NP_answer>;
<answerToGestPrsInRoom> = <V_answer> <NP_answer> <talkPrep> <NP_gestperson> <inLocPrep> <NP_room>;
<followPrs> = <V_follow> <NP_personalpron>;
<followPrsToRoom> = <V_follow> <NP_personalpron> <toLocPrep> <NP_roomTwo>;
<followNameFromBeacToRoom> = <V_follow> <NP_name> <fromLocPrep> <NP_beacon> <toLocPrep> <NP_roomTwo>;
<meetName> = <V_meet> <NP_name>;
<meetPrsAtBeac> = <V_meet> <NP_name> <atLocPrep> <NP_beacon>;
<bringMeObj> = <V_bring> <NP_me> <NP_object>;
<bringMeObjFromPlcmt> = <V_bring> <NP_me> <NP_object> <fromLocPrep> <NP_placement>;
<countObjOnPlcmt> = <V_count> (<NP_object> | <NP_category>) there are <placePrep> <NP_placement>;
<countPrsInRoom> = <V_count> people in <NP_room> <arePrep> (<NP_posture> | <NP_genderpersonplural>);
<tellPrsInfoInLoc> = <V_tell> me <NP_personattribute> of the person <LocPrep> (<NP_room> | <NP_beacon>);
<tellObjPropOnPlcmt> = <V_tell> me ((what is) | whats) <NP_objectprop> object <onLocPrep> <NP_placement>;
<tellCatPropOnPlcmt> = <V_tell> me ((what is) | whats) <NP_objectprop> <NP_category> <onLocPrep> <NP_placement>;
<deliverObjToMe> = <V_deliver> <NP_object> <deliverPrep> <NP_me>;
<deliverObjPronToMe> = <V_deliver> <NP_objectpron> <deliverPrep> <NP_me>;
<deliverObjToGestPrsInRoom> = <V_deliver> [<NP_objectpron>] <NP_object> <deliverPrep> <NP_gestperson> <inLocPrep> <NP_roomTwo>;
<deliverObjToNameAtBeac> = <V_deliver> <NP_objectpron> <deliverPrep> <NP_name> <atLocPrep> <NP_beaconTwo>;
<guidePrsBack> = <V_guide> <NP_personalpron> back;
<guidePrsToBeacon> = <V_guide> <NP_personalpron> <toLocPrep> <NP_beaconTwo>;
<guideNameFromBeacToBeac> = <V_guide> <NP_name> <fromLocPrep> <NP_beacon> <toLocPrep> <NP_beaconTwo>;
<guideNameToBeacFindAtBeac> = <V_guide> <NP_name> <toLocPrep> <NP_beaconTwo> you (may | can | will) find (them | him | her) <atLocPrep> <NP_beacon>;
<deliverPrep> = to;
<placePrep> = on;
<inLocPrep> = in;
<fromLocPrep> = from;
<toLocPrep> = to;
<atLocPrep> = at;
<talkPrep> = to;
<LocPrep> = in | at;
<onLocPrep> = on;
<arePrep> = are;
<V_take> = bring | take | get | grasp | (pick up);
<V_place> = put | place;
<V_deliver> = bring | give | deliver;
<V_bring> = bring | give;
<V_go> = go | navigate;
<V_find> = find | locate | (look for);
<V_talk> = tell | say;
<V_answer> = answer;
<V_follow> = follow;
<V_meet> = meet | face | contact;
<V_guide> = guide | escort | take | lead | accompany;
<V_tell> = tell;
<V_count> = tell me how many;
<NP_object> = (the <N_object>) | (a <N_object>) | (an <N_object>) | (<N_object>);
<NP_objectpron> = (<N_objectpron>);
<NP_category> = (the <N_category>) | <N_category>;
<NP_objectprop> = (the <N_objectprop>);
<NP_placement> = (the <N_placement>);
<NP_placementTwo> = (the <N_placementTwo>);
<NP_beacon> = (the <N_beacon>);
<NP_beaconTwo> = (the <N_beaconTwo>);
<NP_room> = (the <N_room>);
<NP_roomTwo> = (the <N_roomTwo>);
<NP_me> = (<N_me>);
<NP_gestperson> = (the <N_gestperson>) | (a <N_gestperson>);
<NP_poseperson> = (a <N_poseperson>);
<NP_genderperson> = (a <N_genderperson>);
<NP_genderpersonplural> = (<N_genderpersonplural>);
<NP_name> = <N_name>;
<NP_talk> = <N_talk>;
<NP_answer> = <N_answer>;
<NP_personalpron> = <N_personalpron>;
<NP_personattribute> = (the <N_personattribute>);
<NP_posture> = <N_posture>;
<N_objectpron> = it;
<N_objectprop> = biggest | largest | smallest | heaviest | lightest | thinnest;
<N_me> = me;
<N_gestperson> = (person waving) | (person (raising | rising) [their] (left|right) arm) | (person pointing to the (left|right)) | (person calling);
<N_poseperson> = (person sitting) | (person standing) | (person lying down);
<N_genderperson> = man | woman | boy | girl | (male person) | (female person);
<N_genderpersonplural> = men | women | boys | girls | male | female;
<N_talk> = (something about yourself) | (the time) | (what day is (today | tomorrow)) | (your teams (name | country | affiliation)) | (the day of the (week | month)) | (a joke);
<N_answer> = (a question);
<N_personalpron> = them | her | him;
<N_personattribute> = name | gender | pose;
<N_posture> = sitting | standing | lying down;
<N_object_old> = basket | cereals | cloth | (coconut milk) | coke | cornflakes | noodles | orange (juice | drink) | peas | plate | pringles | red bowl | salt | soap | sponge | (tomato paste) | water;
<N_object> = (chocolate milk) | milk | cola | (soap box) | (choco krispies) | bowl | plate | fork | knife | spoon | cup | lemon | banana | peach | pear;
<N_category_old> = care | drink | (cleaning stuff) | container | food | snack | cutlery;
<N_category> = fruits | cutlery | drinks | snacks | (pantry items);
<N_room_old> = corridor | (living room) | kitchen | (bath room);
<N_room> = kitchen | (living room) | hallway | bathroom | office;
<N_roomTwo> = corridor | (living room) | kitchen | (bath room);
<N_placement_old> = (living table) | (kitchen counter) | sink | stove | cabinet | bar;
<N_placementTwo_old> = (living table) | (kitchen counter) | sink | stove | cabinet | bar;
<N_placement> = (kitchen table) | desk | (side board) | (side table) | sink | (kitchen counter) | cabinet | workstation;
<N_placementTwo> = (kitchen table) | desk | (side board) | (side table) | sink | (kitchen counter) | cabinet | workstation;
<N_beacon_old> = (living table) | sink | bar | sofa | fridge | (comfy chair);
<N_beaconTwo_old> = (living table) | sink | bar | sofa | fridge | (comfy chair);
<N_beacon> = fridge | sink | dishwasher | (easy chair) | (arm chair) | (kitchen table) | workstation;
<N_beaconTwo> = fridge | sink | dishwasher | (easy chair) | (arm chair) | (kitchen table) | workstation;
<N_name_old> = emma | olivia | sophia | ava | isabella | mia | abigail | emily | charlotte | harper | noah | liam | mason | jacob | william | ethan | james | alexander | michael | benjamin;
<N_name> = amelia | angel | ava | charlie | charlotte | hunter | max | mia | olivia | parker | sam | jack | noah | oliver | thomas | william;
#JSGF V1.0;
grammar questions;
public <question> = [(tobi | biron | robot)] (<quest_predef>);
public <quest_predef> = <predef1> | <predef2> | <predef3> | <predef4> | <predef5> | <predef6> | <predef7> | <predef8> | <predef9> | <predef10> | <predef11> | <predef12> | <predef13> | <predef14> | <predef15> | <predef16>;
<predef1> = who invented the c programming language;
<predef2> = when was the c programming language invented;
<predef3> = when was the b programming language invented;
<predef4> = where does the term computer bug come from;
<predef5> = who invented the first compiler;
<predef6> = which robot is used in the open platform league;
<predef7> = which robot is used in the domestic standard platform league;
<predef8> = which robot is used in the social standard platform league;
<predef9> = (what is | whats) (your teams name | your team name | the name of your team);
<predef10> = what time is it;
<predef11> = what day is today;
<predef12> = do you have dreams;
<predef13> = in which city will next years robocup be hosted;
<predef14> = what is the origin of the name canada;
<predef15> = what is the capital of canada;
<predef16> = what is the national anthem of canada;
public <quest_predef> = <predef1> | <predef2> | <predef3> | <predef4> | <predef5> | <predef6> | <predef7> | <predef8> | <predef9> | <predef10> | <predef11> | <predef12> | <predef13> | <predef14> | <predef15> | <predef16>|<predef17> |<predef18> |<predef19> |<predef20> |<predef21> |<predef22> |<predef23> |<predef24> |<predef25> |<predef26> |<predef27> | <predef28> | <predef29> | <predef30> | <predef31> | <predef32> | <predef33> | <predef34> | <predef35> | <predef36> | <predef37> | <predef38> | <predef39> | <predef40> | <predef41> | <predef42> | <predef43>|<predef44> |<predef45> |<predef46> |<predef47> |<predef48> |<predef49> |<predef50>;
<predef1> = (who s the most handsome person in canada);
<predef2> = (how many time zones are there in canada);
<predef3> = (whats the longest street in the world);
<predef4> = (how long is yonge street in ontario);
<predef5> = (whats the name of the bear cub exported from canada to the london zoo);
<predef6> = (where was the blackberry smartphone developed);
<predef7> = (what is the worlds largest coin);
<predef8> = (in what year was canada invaded by the usa for the first time);
<predef9> = (what year was canada invaded by the usa for the second time);
<predef10> = (what country holds the record for the most gold medals at the winter olympics);
<predef11> = (who coined the term beatlemania);
<predef12> = (why is canada named canada);
<predef13> = (when was the mounted police formed);
<predef14> = (when was the royal canadian mounted police formed);
<predef15> = (how big is the r c m p);
<predef16> = (what else is montreal called);
<predef17> = (where is the hotel de glace located);
<predef18> = (how many tons of ice are required to build the hotel de glace);
<predef19> = (how many tons of snow are required to build the hotel de glace);
<predef20> = (can i visit the hotel de glace in summer);
<predef21> = (where is canadas only desert);
<predef22> = (how big is canadas only desert);
<predef23> = (name three famous male canadians);
<predef24> = (name three famous female canadians);
<predef25> = (whats the origin of the comic sans font);
<predef26> = (what is a nanobot);
<predef27> = (how small can a nanobot be);
<predef28> = (why wasnt tron nominated for an award by the motion picture academy);
<predef29> = (which was the first computer with a hard disk drive);
<predef30> = (when was the first computer with a hard disk drive launched);
<predef31> = (how big was the first hard disk drive);
<predef32> = (what does captcha stands for);
<predef33> = (what was the first computer bug);
<predef34> = (name all of the robots on mars);
<predef35> = (who is the worlds first android);
<predef36> = (what is a mechanical knight);
<predef37> = (what was the first computer in pass the turing test);
<predef38> = (what does moravec s paradox state);
<predef39> = (what is the ai knowledge engineering bottleneck);
<predef40> = (why is elon musk is worried about ais impact on humanity);
<predef41> = (do you think robots are a threat to humanity);
<predef42> = (what is a chatbot);
<predef43> = (are self driving cars safe);
<predef44> = (who invented the compiler);
<predef45> = (who created the c programming language);
<predef46> = (who created the python programming language);
<predef47> = (is mark zuckerberg a robot);
<predef48> = (who is the inventor of the apple i microcomputer);
<predef49> = (who is considered to be the first computer programmer);
<predef50> = (which program do jedi use to open p d f files);
......@@ -8,6 +8,6 @@ public <drinkstring> = [<prefix>] <drink> [<robot>];
<ilike> = (i like);
<drink> = ( (apple_juice) | (iso_drink) | (orange_juice) | (red_spritzer) | (sparkling_water) | (milk) | (coke) | (water) | (lemon juice));
<drink> = (apple juice) | (orange juice) | (coke) | (ice tea) | (fanta) |(milk);
<robot> = (tobi) | (robot) | (biron) | (pepper);
......@@ -10,6 +10,6 @@ public <namestring> = [<prefix>] <name> [<robot>];
<callme> = (call me);
<name> = sophia | isabella | emma | olivia | ava | emily | abigail | madison | mia | chloe | james | john | robert | michael | william | david | richard | charles | joseph | thomas;
<name> = (kai) | (noah) | (unique) | (luca) | (evelyn) | (jayden) | (james) | (riley) | (harper) | (quinn) | (avery) | (remi) | (river) | (atlas);
<robot> = (tobi) | (robot) | (biron) | (pepper);
<robot> = (tobi) | (robot) | (tiago);
#JSGF V1.0;
grammar ordering;
public <restaurant> = ([tobi] [(i want) | (bring me)] [one | a ] <objects> [please]);
<objects> = (<drinks> | <combo> | <food>);
<combo> = ((<orderings> [and | with] <orderings> [ [and | with] <orderings> ]));
<orderings> = (<drinks> | <food>);
<food> = ( (cereal) | (lemon) | (orange) | (bouillon) | (corn) | (noodles) | (pepper) | (salt) | (sauerkraut) |(seasoning_mix) | (tomatoes) | (cereal_bar_chocolate) | (cereal_bar_chocolate_banana) | (cracker) | (fruit_bar_apple) | (fruit_bar_forest_fruit) | (get_it) | (nut_fruit_mix) | (peanut_bits));
<drinks> = ( (apple_juice) | (iso_drink) | (orange_juice) | (red_spritzer) | (sparkling_water) | (coke) | (lemon_juice) | (water) | (milk));
#JSGF V1.0;
grammar ordering;
public <restaurant> = ([tobi] [(i want) | (bring me)] [one | a ] <objects> [please]);
<objects> = (<drinks> | <food> | <fruits> | <snacks>);
<food> = (
(tuna) |
(cornflakes) |
(spam) |
(mustard) |
(strawberry jello)|
(chocolate jello) |
(ketchup) |
(sugar) |
(coffee grounds)|
(corn)|
(tomato soup));
<fruits> = (
(pear) |
(plum) |
(peach) |
(lemon)|
(orange) |
(strawberry) |
(banana) |
(apple));
<snacks> = (
(cheezit) |
(nuts) |
(pretzels) |
(peanut puffs) |
(pringles));
<drinks> = ((apple juice) | (orange juice) | (coke) | (ice tea) | (fanta) |(milk));
#JSGF V1.0;
grammar position;
public <restaurant> = ([tobi] [(i am) | (im)] [(one) | (at) | (in) ] [(your)] <position> [(side) | (of you) | (you)]);
<position> = ((left) | (right) | (behind) | (front));