#JSGF V1.0;
grammar ToBI_GPSR;


public <complex> = <getobjanddeliver> | <goroomandfindobj> | <findprsatandtalkorfollow>;


<getobjanddeliver> = <getobj> <fromplacement> and <deliverit> (<tome> | <totarget> | (<toprs> <atroom>));

<getobj>         = <vbtake> the <wcobject>;
<fromplacement>  = <vbfrom> the <wcplacement> ;

<deliverit>   = <vbdeliver> <wcit> ;
<tome>        = <vbto> <wcme>;
<toprs>       = <vbto> (<wcfemale> | <wcmale>);
<totarget>    = <vbto> the <wcplacement>;
<atroom>      = (<vbat> | <vbisin>) the <wcroom>;



<goroomandfindobj> = <goroom> and <findobj>;

<goroom>  = <vbgoto> the <wcroom>;
<findobj> = <vbfind> the <wcobject>;



<findprsatandtalkorfollow> = ((<findprs> <atroom>) | (<goroom> <findprs>)) and (<talk> | (<follow> [<toroom>]));

<findprs> = <vbfind> <wcperson>;

<talk>    = ( <vbspeak> ( <wctime>  | <wcdate> | <wcinfo> ) ) | (<vbanswer> a <wcquestion>);
<wcinfo>  = ( your name ) | ( the name of your team );
<wctime>  = ( the time ) | ( what time is it );
<wcdate>  = ( [tell] the date ) | ( what day is (today | tomorrow) ) | ( [tell] the day of the (month | week) );

<follow>  = <vbfollow> <wcher>;
<toroom>  = <vbto> the <wcroom>;




<vbdeliver> 	= bring | bear | carry | deliver | take | fetch | transport;
<vbfind>	= find | (look for) | search;
<vbfollow> 	= follow;
<vbgoto> 	= (go to) | (navigate to) | reach | (get into) | (move to) | (drive to);
<vbtake> 	= take | grasp | get | pick;
<vbspeak> 	= tell | say | speak ;
<vbanswer> 	= answer;
<vbfrom> 	= from;
<vbat> 		= at;
<vbisin>	= ([(which | who) is] in);
<vbto>		= to;

	

<wcobject> 	= sponge | (green tea) | (toilet paper) | (papaya milk) | soap | (pure milk) | lotion | water | toothpaste | (orange juice) | cloth | beer | biscuits | chocolates | (coconut cereals) | (bubble gum) | (coco balls) | (tomato chips) | (egg stars) | (barbecue chips) | (gram soup) | (honey chips) | (bean sauce) | pear | lemon | apple | bowl | plate | tray;
<wcroom> 	= kitchen | livingroom | bedroom | hallway;
<wcplacement> 	= fridge | (kitchen table) | (kitchen counter) | (couch table) | (dinner table) | (left bedside table) | (right bedside table) | desk | (hallway table) | cupboard | bar | bookcase | trashbin | sofa | bed;
<wcfemale> 	= alex | angel | eve | jamie | jane | liza | melissa | tracy | robin | sophia;
<wcmale>        = alex | angel | edward | homer | jamie | john | kevin | kurt | tracy | robin;
<wcme> 		= me;
<wcperson>	= ((the | a) [(calling | waving)] person);
<wcquestion> 	= question;
<wcit>		= it;
<wcher>		= her;