gpsr.jsgf 1.64 KiB
#JSGF V1.0;
grammar ToBI_GPSR;
public <task> = (<location_task> | <item_task> | <interact_task>);
<location_task> = (<nav_commands> [the] (<locations> | <furniture>) [[(and | then)] <task>]);
<locations> = [the] (kitchen | bathroom | corridor);
<nav_commands> = (((move | go | navigate) to) | (get into) | from | exit | leave);
<furniture> = (shelf | (diner table));
<item_task> = ((<interact_item> | <move_item> | <transport_item>) [[(and | then)] <task>]);
<interact_item> = (<search_commands> [the] <items> [[and] <move_item>]);
<search_commands> = (identify | detect | find | count);
<move_item> = (<move_commands> (([the | this] <items>) | it | them ));
<move_commands> = (get | take | grasp );
<transport_item> = [and] <transport_commands> [<pron>] [<items>] [<item_destination>];
<transport_commands> = (bring | carry | retrieve) [<noname>];
<item_destination> = ( [<person>] [at | to] [<locations>]);
<items> = ([the] (coffee | crackers | milk));
<interact_task> = ((<talk_with_person> | <interact_with_person>) [[(and | then)] <task>]);
<talk_with_person> = <talk_commands> ((something about <person>) | (the day of the month));
<talk_commands> = tell | report | answer | introduce;
<interact_with_person> = (<memory_commands> [<pron>] [<person>] [(in front of you) | ([<noname>] [the] <locations>)]);
<person> = [<noname> | <pron>] (yourself | person | him | her | them | he | she | (the person) | tobi | mary | female | male);
<talk_commands> = (((introduce | (tell something about)) <person>) | (the day of the month));
<memory_commands> = follow | memorize | find;
<pron> = (it | them | a | this | the);
<noname> = (to | at | from | in | from);