Skip to content

Commit

Permalink
add valid test data�[C
Browse files Browse the repository at this point in the history
  • Loading branch information
ar13pit committed Mar 5, 2024
1 parent 7e0a00f commit 1c121f9
Showing 1 changed file with 175 additions and 0 deletions.
175 changes: 175 additions & 0 deletions hmi/data/eegpsr_grammar.fcfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
T[{actions : <A1>}] -> C[A1]
T[{actions : <A1, A2>}] -> C[A1] and C[A2]
T[{actions : <A1, A2, A3>}] -> C[A1] C[A2] and C[A3]
#T[{actions : <A1, A2, A3, A4>}] -> C[A1] C[A2] C[A3] and C[A4]

C[{A}] -> VP[A]
C[{A}] -> CALL VP[A]

# take it tell the day of the week <----

CALL -> robot | please | robot please | could you | could you please

# - - - - - - - - - - - - - - - - - - - - - - - - -
# Entities
# - - - - - - - - - - - - - - - - - - - - - - - - -

NP[M] -> SMALL_OBJECT[M]
NP[M] -> LOC[M]

DET -> the | a

LOC[{"id" : X}] -> ROOM[X] | FURNITURE[X]

SMALL_OBJECT_SPEC[{ "special" : "it" }] -> it
SMALL_OBJECT_SPEC[{ "type" : X }] -> DET SMALL_OBJECT[X]
SMALL_OBJECT_SPEC[{ "type" : X, "loc" : Y }] -> DET SMALL_OBJECT[X] FROM_PP the LOC[Y]
SMALL_OBJECT_SPEC[{ "cat" : C }] -> DET OBJ_CAT[C]
SMALL_OBJECT_SPEC[{ "cat" : C, "loc" : Y }] -> DET OBJ_CAT[C] FROM_PP the LOC[Y]

FROM_PP -> from | on | which is on
AT_PP -> in | at | who is in

ADJ_PERSON["waving"] -> waving
ADJ_PERSON["calling"] -> calling

LOC_DET[R] -> in the ROOM[R]

TO_LOC[X] -> the LOC[X]
TO_LOC[{P}] -> PERSON[P]
TO_LOC[{"special" : "operator"}] -> me

TO_LOC[{"id" : "entrance"}] -> entrance
TO_LOC[{"id" : "exit"}] -> exit

PERSON["type" : "person"] -> DET person
PERSON["type" : "person", "adj" : A] -> DET ADJ_PERSON[A] person
PERSON["type" : "person", "loc" : L] -> DET person LOC_DET[L]
PERSON["type" : "person", "adj" : A, "loc" : L] -> DET ADJ_PERSON[A] person LOC_DET[L]
PERSON["type" : "person", "id" : N] -> NAME[N]
PERSON["type" : "person", "id" : N, "loc" : L] -> NAME[N] LOC_DET[L]
PERSON["type" : "person", "loc" : L] -> NAME[N] NEAR_IN_ON the LOC[L]
PERSON["special" : "it"] -> him | her | them

NEAR_IN_ON -> near | in | on

# - - - - - - - - - - - - - - - - - - - - - - - - -
# Exit
# - - - - - - - - - - - - - - - - - - - - - - - - -

VP["action" : "exit"] -> exit the arena | leave the arena

# - - - - - - - - - - - - - - - - - - - - - - - - -
# Follow
# - - - - - - - - - - - - - - - - - - - - - - - - -

VP["action": "follow", "entity" : {X}] -> follow PERSON[X]

# - - - - - - - - - - - - - - - - - - - - - - - - -
# Find
# - - - - - - - - - - - - - - - - - - - - - - - - -

VP["action": A, "entity": X] -> V_FIND[A] OBJ_FIND[X]

V_FIND["find"] -> find | look for | locate

OBJ_FIND[X] -> SMALL_OBJECT_SPEC[X] | TO_LOC[X]
OBJ_FIND[P] -> PERSON[P]

# - - - - - - - - - - - - - - - - - - - - - - - - -
# Say
# - - - - - - - - - - - - - - - - - - - - - - - - -

VP["action": "count", "cat" : C] -> V_SAY how many OBJ_CAT[C] there are
VP["action": "count", "cat" : C] -> V_SAY how many GENDER[C] there are
VP["action": "count", "cat" : C, "loc" : L] -> V_SAY how many OBJ_CAT[C] are at the LOC[L]
VP["action": "count", "cat" : C, "loc" : L] -> V_SAY how many GENDER[C] are at the LOC[L]

GENDER["women"] -> women
GENDER["men"] -> men

V_SAY -> tell | say | speak

# - - - - - - - - - - - - - - - - - - - - - - - - -
# Grasping
# - - - - - - - - - - - - - - - - - - - - - - - - -

VP["action": A, "entity": X] -> V_GRASP[A] SMALL_OBJECT_SPEC[X]

V_GRASP["pick-up"] -> grab | grasp | pick up | take | get

# - - - - - - - - - - - - - - - - - - - - - - - - -
# Placing
# - - - - - - - - - - - - - - - - - - - - - - - - -

VP["action" : "bring", "to" : L] -> V_PLACE SMALL_OBJECT_SPEC[X] on the LOC[L]
VP["action" : "bring", "to" : L] -> V_PLACE SMALL_OBJECT_SPEC[X] in the LOC[L]
VP["action" : "bring", "to" : L] -> V_PLACE SMALL_OBJECT_SPEC[X] into the CONTAINER_SPEC[L]
VP["action" : "bring", "to" : L] -> V_PLACE SMALL_OBJECT_SPEC[X] into the CONTAINER[L] at the LOC[L]
V_PLACE -> put | place

CONTAINER_SPEC[{"type" : X}] -> CONTAINER[X]
CONTAINER_SPEC[{"type" : X, "loc" : L}] -> CONTAINER[X] at the LOC[L]

# - - - - - - - - - - - - - - - - - - - - - - - - -
# Moving
# - - - - - - - - - - - - - - - - - - - - - - - - -

VP["action": A, "entity": X] -> V_MOVE[A] NAV_LOC[X]

NAV_LOC[X] -> TO_LOC[X]
NAV_LOC[X] -> the ROOM[X]

V_MOVE["navigate"] -> move to | go to | drive to | navigate to | come to | come back to | get into | reach

VP["action": "navigate", "entity": X] -> V_GUIDE HIM_HER to TO_LOC[X]

HIM_HER -> him | her

V_GUIDE -> guide | take

# - - - - - - - - - - - - - - - - - - - - - - - - -
# Bringing
# - - - - - - - - - - - - - - - - - - - - - - - - -

VP["action" : "bring", "entity" : X, "to" : Y ] -> V_BRING SMALL_OBJECT_SPEC[X] ON_TO TO_LOC[Y]
VP["action" : "bring", "entity" : X, "to" : {"special" : "operator"} ] -> V_BRING me SMALL_OBJECT_SPEC[X]

V_BRING -> give | bring | hand | deliver | take | carry | transport

ON_TO -> on | to

# - - - - - - - - - - - - - - - - - - - - - - - - -
# Questions
# - - - - - - - - - - - - - - - - - - - - - - - - -

VP["action": "answer-question"] -> answer a question
VP["action": "answer-question"] -> answer the question
VP["action": "answer-question"] -> answer his question
VP["action": "answer-question"] -> answer her question

# - - - - - - - - - - - - - - - - - - - - - - - - -
# Say
# - - - - - - - - - - - - - - - - - - - - - - - - -

VP["action": "say", "sentence": "ROBOT_NAME"] -> V_SAY your name
VP["action": "say", "sentence": "TIME"] -> V_SAY the time | V_SAY what time it is | V_SAY what time is it | what time is it
VP["action": "say", "sentence": "my team is tech united"] -> V_SAY the name of your team

VP["action": "say", "sentence": "DAY_OF_MONTH"] -> V_SAY the day of the month
VP["action": "say", "sentence": "DAY_OF_WEEK"] -> V_SAY the day of the week
VP["action": "say", "sentence": "TODAY"] -> V_SAY what day is today | V_SAY me what day it is | V_SAY the date
VP["action": "say", "sentence": "TOMORROW"] -> V_SAY what day is tomorrow

VP["action": "say", "sentence": "JOKE"] -> V_SAY a joke
VP[{"action": "say", "sentence": "DARK_SIDE"}] -> join the dark side

V_SAY -> tell | say | speak

ROOM[{id: "livingroom"}] -> living room
NAME["me"] -> rein
FURNITURE["couch"] -> couch
SMALL_OBJECT["coke"] -> coke
OBJ_CAT["cans"] -> cans

CONTAINER["bowl"] -> bowl

0 comments on commit 1c121f9

Please sign in to comment.