diff --git a/robowaiter/behavior_tree/ptml/ptml.g4 b/robowaiter/behavior_tree/ptml/ptml.g4 index 8e2db82..ad032f4 100644 --- a/robowaiter/behavior_tree/ptml/ptml.g4 +++ b/robowaiter/behavior_tree/ptml/ptml.g4 @@ -4,7 +4,7 @@ root : tree+ EOF; tree : internal_node '{' (action_sign|tree)* '}' ; internal_node : 'sequence' | 'selector' | 'parallel' Integer ; -action_sign : 'not'? ('act'|'cond') String '(' action_parm? ')'; +action_sign : ('act'|'cond') 'Not'? String '(' action_parm? ')'; action_parm : (Integer|Float|boolean|String) (',' (Integer|Float|boolean|String))* ; // var_decls : var_type Names ; // var_type : 'int' | 'float' | 'bool' | 'string' ; diff --git a/robowaiter/behavior_tree/ptml/ptml.interp b/robowaiter/behavior_tree/ptml/ptml.interp index 8615e1d..7ac2931 100644 --- a/robowaiter/behavior_tree/ptml/ptml.interp +++ b/robowaiter/behavior_tree/ptml/ptml.interp @@ -5,9 +5,9 @@ null 'sequence' 'selector' 'parallel' -'not' 'act' 'cond' +'Not' '(' ')' ',' @@ -50,4 +50,4 @@ boolean atn: -[4, 1, 18, 68, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 1, 0, 4, 0, 14, 8, 0, 11, 0, 12, 0, 15, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 24, 8, 1, 10, 1, 12, 1, 27, 9, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 35, 8, 2, 1, 3, 3, 3, 38, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 44, 8, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 52, 8, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 59, 8, 4, 5, 4, 61, 8, 4, 10, 4, 12, 4, 64, 9, 4, 1, 5, 1, 5, 1, 5, 0, 0, 6, 0, 2, 4, 6, 8, 10, 0, 2, 1, 0, 7, 8, 1, 0, 12, 13, 75, 0, 13, 1, 0, 0, 0, 2, 19, 1, 0, 0, 0, 4, 34, 1, 0, 0, 0, 6, 37, 1, 0, 0, 0, 8, 51, 1, 0, 0, 0, 10, 65, 1, 0, 0, 0, 12, 14, 3, 2, 1, 0, 13, 12, 1, 0, 0, 0, 14, 15, 1, 0, 0, 0, 15, 13, 1, 0, 0, 0, 15, 16, 1, 0, 0, 0, 16, 17, 1, 0, 0, 0, 17, 18, 5, 0, 0, 1, 18, 1, 1, 0, 0, 0, 19, 20, 3, 4, 2, 0, 20, 25, 5, 1, 0, 0, 21, 24, 3, 6, 3, 0, 22, 24, 3, 2, 1, 0, 23, 21, 1, 0, 0, 0, 23, 22, 1, 0, 0, 0, 24, 27, 1, 0, 0, 0, 25, 23, 1, 0, 0, 0, 25, 26, 1, 0, 0, 0, 26, 28, 1, 0, 0, 0, 27, 25, 1, 0, 0, 0, 28, 29, 5, 2, 0, 0, 29, 3, 1, 0, 0, 0, 30, 35, 5, 3, 0, 0, 31, 35, 5, 4, 0, 0, 32, 33, 5, 5, 0, 0, 33, 35, 5, 15, 0, 0, 34, 30, 1, 0, 0, 0, 34, 31, 1, 0, 0, 0, 34, 32, 1, 0, 0, 0, 35, 5, 1, 0, 0, 0, 36, 38, 5, 6, 0, 0, 37, 36, 1, 0, 0, 0, 37, 38, 1, 0, 0, 0, 38, 39, 1, 0, 0, 0, 39, 40, 7, 0, 0, 0, 40, 41, 5, 14, 0, 0, 41, 43, 5, 9, 0, 0, 42, 44, 3, 8, 4, 0, 43, 42, 1, 0, 0, 0, 43, 44, 1, 0, 0, 0, 44, 45, 1, 0, 0, 0, 45, 46, 5, 10, 0, 0, 46, 7, 1, 0, 0, 0, 47, 52, 5, 15, 0, 0, 48, 52, 5, 16, 0, 0, 49, 52, 3, 10, 5, 0, 50, 52, 5, 14, 0, 0, 51, 47, 1, 0, 0, 0, 51, 48, 1, 0, 0, 0, 51, 49, 1, 0, 0, 0, 51, 50, 1, 0, 0, 0, 52, 62, 1, 0, 0, 0, 53, 58, 5, 11, 0, 0, 54, 59, 5, 15, 0, 0, 55, 59, 5, 16, 0, 0, 56, 59, 3, 10, 5, 0, 57, 59, 5, 14, 0, 0, 58, 54, 1, 0, 0, 0, 58, 55, 1, 0, 0, 0, 58, 56, 1, 0, 0, 0, 58, 57, 1, 0, 0, 0, 59, 61, 1, 0, 0, 0, 60, 53, 1, 0, 0, 0, 61, 64, 1, 0, 0, 0, 62, 60, 1, 0, 0, 0, 62, 63, 1, 0, 0, 0, 63, 9, 1, 0, 0, 0, 64, 62, 1, 0, 0, 0, 65, 66, 7, 1, 0, 0, 66, 11, 1, 0, 0, 0, 9, 15, 23, 25, 34, 37, 43, 51, 58, 62] \ No newline at end of file +[4, 1, 18, 68, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 1, 0, 4, 0, 14, 8, 0, 11, 0, 12, 0, 15, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 24, 8, 1, 10, 1, 12, 1, 27, 9, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 35, 8, 2, 1, 3, 1, 3, 3, 3, 39, 8, 3, 1, 3, 1, 3, 1, 3, 3, 3, 44, 8, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 52, 8, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 59, 8, 4, 5, 4, 61, 8, 4, 10, 4, 12, 4, 64, 9, 4, 1, 5, 1, 5, 1, 5, 0, 0, 6, 0, 2, 4, 6, 8, 10, 0, 2, 1, 0, 6, 7, 1, 0, 12, 13, 75, 0, 13, 1, 0, 0, 0, 2, 19, 1, 0, 0, 0, 4, 34, 1, 0, 0, 0, 6, 36, 1, 0, 0, 0, 8, 51, 1, 0, 0, 0, 10, 65, 1, 0, 0, 0, 12, 14, 3, 2, 1, 0, 13, 12, 1, 0, 0, 0, 14, 15, 1, 0, 0, 0, 15, 13, 1, 0, 0, 0, 15, 16, 1, 0, 0, 0, 16, 17, 1, 0, 0, 0, 17, 18, 5, 0, 0, 1, 18, 1, 1, 0, 0, 0, 19, 20, 3, 4, 2, 0, 20, 25, 5, 1, 0, 0, 21, 24, 3, 6, 3, 0, 22, 24, 3, 2, 1, 0, 23, 21, 1, 0, 0, 0, 23, 22, 1, 0, 0, 0, 24, 27, 1, 0, 0, 0, 25, 23, 1, 0, 0, 0, 25, 26, 1, 0, 0, 0, 26, 28, 1, 0, 0, 0, 27, 25, 1, 0, 0, 0, 28, 29, 5, 2, 0, 0, 29, 3, 1, 0, 0, 0, 30, 35, 5, 3, 0, 0, 31, 35, 5, 4, 0, 0, 32, 33, 5, 5, 0, 0, 33, 35, 5, 15, 0, 0, 34, 30, 1, 0, 0, 0, 34, 31, 1, 0, 0, 0, 34, 32, 1, 0, 0, 0, 35, 5, 1, 0, 0, 0, 36, 38, 7, 0, 0, 0, 37, 39, 5, 8, 0, 0, 38, 37, 1, 0, 0, 0, 38, 39, 1, 0, 0, 0, 39, 40, 1, 0, 0, 0, 40, 41, 5, 14, 0, 0, 41, 43, 5, 9, 0, 0, 42, 44, 3, 8, 4, 0, 43, 42, 1, 0, 0, 0, 43, 44, 1, 0, 0, 0, 44, 45, 1, 0, 0, 0, 45, 46, 5, 10, 0, 0, 46, 7, 1, 0, 0, 0, 47, 52, 5, 15, 0, 0, 48, 52, 5, 16, 0, 0, 49, 52, 3, 10, 5, 0, 50, 52, 5, 14, 0, 0, 51, 47, 1, 0, 0, 0, 51, 48, 1, 0, 0, 0, 51, 49, 1, 0, 0, 0, 51, 50, 1, 0, 0, 0, 52, 62, 1, 0, 0, 0, 53, 58, 5, 11, 0, 0, 54, 59, 5, 15, 0, 0, 55, 59, 5, 16, 0, 0, 56, 59, 3, 10, 5, 0, 57, 59, 5, 14, 0, 0, 58, 54, 1, 0, 0, 0, 58, 55, 1, 0, 0, 0, 58, 56, 1, 0, 0, 0, 58, 57, 1, 0, 0, 0, 59, 61, 1, 0, 0, 0, 60, 53, 1, 0, 0, 0, 61, 64, 1, 0, 0, 0, 62, 60, 1, 0, 0, 0, 62, 63, 1, 0, 0, 0, 63, 9, 1, 0, 0, 0, 64, 62, 1, 0, 0, 0, 65, 66, 7, 1, 0, 0, 66, 11, 1, 0, 0, 0, 9, 15, 23, 25, 34, 38, 43, 51, 58, 62] \ No newline at end of file diff --git a/robowaiter/behavior_tree/ptml/ptml.tokens b/robowaiter/behavior_tree/ptml/ptml.tokens index e6d0e71..e4add52 100644 --- a/robowaiter/behavior_tree/ptml/ptml.tokens +++ b/robowaiter/behavior_tree/ptml/ptml.tokens @@ -21,9 +21,9 @@ WS=18 'sequence'=3 'selector'=4 'parallel'=5 -'not'=6 -'act'=7 -'cond'=8 +'act'=6 +'cond'=7 +'Not'=8 '('=9 ')'=10 ','=11 diff --git a/robowaiter/behavior_tree/ptml/ptmlLexer.interp b/robowaiter/behavior_tree/ptml/ptmlLexer.interp index 983d4a8..ca3daac 100644 --- a/robowaiter/behavior_tree/ptml/ptmlLexer.interp +++ b/robowaiter/behavior_tree/ptml/ptmlLexer.interp @@ -5,9 +5,9 @@ null 'sequence' 'selector' 'parallel' -'not' 'act' 'cond' +'Not' '(' ')' ',' @@ -68,4 +68,4 @@ mode names: DEFAULT_MODE atn: -[4, 0, 18, 161, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 5, 13, 101, 8, 13, 10, 13, 12, 13, 104, 9, 13, 1, 14, 3, 14, 107, 8, 14, 1, 14, 1, 14, 5, 14, 111, 8, 14, 10, 14, 12, 14, 114, 9, 14, 1, 14, 3, 14, 117, 8, 14, 1, 15, 4, 15, 120, 8, 15, 11, 15, 12, 15, 121, 1, 15, 1, 15, 5, 15, 126, 8, 15, 10, 15, 12, 15, 129, 9, 15, 1, 15, 1, 15, 4, 15, 133, 8, 15, 11, 15, 12, 15, 134, 3, 15, 137, 8, 15, 1, 16, 1, 16, 1, 16, 1, 16, 5, 16, 143, 8, 16, 10, 16, 12, 16, 146, 9, 16, 1, 16, 3, 16, 149, 8, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 4, 17, 156, 8, 17, 11, 17, 12, 17, 157, 1, 17, 1, 17, 1, 144, 0, 18, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 1, 0, 5, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 1, 0, 49, 57, 1, 0, 48, 57, 3, 0, 9, 10, 12, 13, 32, 32, 171, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 1, 37, 1, 0, 0, 0, 3, 39, 1, 0, 0, 0, 5, 41, 1, 0, 0, 0, 7, 50, 1, 0, 0, 0, 9, 59, 1, 0, 0, 0, 11, 68, 1, 0, 0, 0, 13, 72, 1, 0, 0, 0, 15, 76, 1, 0, 0, 0, 17, 81, 1, 0, 0, 0, 19, 83, 1, 0, 0, 0, 21, 85, 1, 0, 0, 0, 23, 87, 1, 0, 0, 0, 25, 92, 1, 0, 0, 0, 27, 98, 1, 0, 0, 0, 29, 116, 1, 0, 0, 0, 31, 136, 1, 0, 0, 0, 33, 138, 1, 0, 0, 0, 35, 155, 1, 0, 0, 0, 37, 38, 5, 123, 0, 0, 38, 2, 1, 0, 0, 0, 39, 40, 5, 125, 0, 0, 40, 4, 1, 0, 0, 0, 41, 42, 5, 115, 0, 0, 42, 43, 5, 101, 0, 0, 43, 44, 5, 113, 0, 0, 44, 45, 5, 117, 0, 0, 45, 46, 5, 101, 0, 0, 46, 47, 5, 110, 0, 0, 47, 48, 5, 99, 0, 0, 48, 49, 5, 101, 0, 0, 49, 6, 1, 0, 0, 0, 50, 51, 5, 115, 0, 0, 51, 52, 5, 101, 0, 0, 52, 53, 5, 108, 0, 0, 53, 54, 5, 101, 0, 0, 54, 55, 5, 99, 0, 0, 55, 56, 5, 116, 0, 0, 56, 57, 5, 111, 0, 0, 57, 58, 5, 114, 0, 0, 58, 8, 1, 0, 0, 0, 59, 60, 5, 112, 0, 0, 60, 61, 5, 97, 0, 0, 61, 62, 5, 114, 0, 0, 62, 63, 5, 97, 0, 0, 63, 64, 5, 108, 0, 0, 64, 65, 5, 108, 0, 0, 65, 66, 5, 101, 0, 0, 66, 67, 5, 108, 0, 0, 67, 10, 1, 0, 0, 0, 68, 69, 5, 110, 0, 0, 69, 70, 5, 111, 0, 0, 70, 71, 5, 116, 0, 0, 71, 12, 1, 0, 0, 0, 72, 73, 5, 97, 0, 0, 73, 74, 5, 99, 0, 0, 74, 75, 5, 116, 0, 0, 75, 14, 1, 0, 0, 0, 76, 77, 5, 99, 0, 0, 77, 78, 5, 111, 0, 0, 78, 79, 5, 110, 0, 0, 79, 80, 5, 100, 0, 0, 80, 16, 1, 0, 0, 0, 81, 82, 5, 40, 0, 0, 82, 18, 1, 0, 0, 0, 83, 84, 5, 41, 0, 0, 84, 20, 1, 0, 0, 0, 85, 86, 5, 44, 0, 0, 86, 22, 1, 0, 0, 0, 87, 88, 5, 84, 0, 0, 88, 89, 5, 114, 0, 0, 89, 90, 5, 117, 0, 0, 90, 91, 5, 101, 0, 0, 91, 24, 1, 0, 0, 0, 92, 93, 5, 70, 0, 0, 93, 94, 5, 97, 0, 0, 94, 95, 5, 108, 0, 0, 95, 96, 5, 115, 0, 0, 96, 97, 5, 101, 0, 0, 97, 26, 1, 0, 0, 0, 98, 102, 7, 0, 0, 0, 99, 101, 7, 1, 0, 0, 100, 99, 1, 0, 0, 0, 101, 104, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 28, 1, 0, 0, 0, 104, 102, 1, 0, 0, 0, 105, 107, 5, 45, 0, 0, 106, 105, 1, 0, 0, 0, 106, 107, 1, 0, 0, 0, 107, 108, 1, 0, 0, 0, 108, 112, 7, 2, 0, 0, 109, 111, 7, 3, 0, 0, 110, 109, 1, 0, 0, 0, 111, 114, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 112, 113, 1, 0, 0, 0, 113, 117, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 115, 117, 5, 48, 0, 0, 116, 106, 1, 0, 0, 0, 116, 115, 1, 0, 0, 0, 117, 30, 1, 0, 0, 0, 118, 120, 7, 3, 0, 0, 119, 118, 1, 0, 0, 0, 120, 121, 1, 0, 0, 0, 121, 119, 1, 0, 0, 0, 121, 122, 1, 0, 0, 0, 122, 123, 1, 0, 0, 0, 123, 127, 5, 46, 0, 0, 124, 126, 7, 3, 0, 0, 125, 124, 1, 0, 0, 0, 126, 129, 1, 0, 0, 0, 127, 125, 1, 0, 0, 0, 127, 128, 1, 0, 0, 0, 128, 137, 1, 0, 0, 0, 129, 127, 1, 0, 0, 0, 130, 132, 5, 46, 0, 0, 131, 133, 7, 3, 0, 0, 132, 131, 1, 0, 0, 0, 133, 134, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 137, 1, 0, 0, 0, 136, 119, 1, 0, 0, 0, 136, 130, 1, 0, 0, 0, 137, 32, 1, 0, 0, 0, 138, 139, 5, 47, 0, 0, 139, 140, 5, 47, 0, 0, 140, 144, 1, 0, 0, 0, 141, 143, 9, 0, 0, 0, 142, 141, 1, 0, 0, 0, 143, 146, 1, 0, 0, 0, 144, 145, 1, 0, 0, 0, 144, 142, 1, 0, 0, 0, 145, 148, 1, 0, 0, 0, 146, 144, 1, 0, 0, 0, 147, 149, 5, 13, 0, 0, 148, 147, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 151, 5, 10, 0, 0, 151, 152, 1, 0, 0, 0, 152, 153, 6, 16, 0, 0, 153, 34, 1, 0, 0, 0, 154, 156, 7, 4, 0, 0, 155, 154, 1, 0, 0, 0, 156, 157, 1, 0, 0, 0, 157, 155, 1, 0, 0, 0, 157, 158, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 160, 6, 17, 0, 0, 160, 36, 1, 0, 0, 0, 12, 0, 102, 106, 112, 116, 121, 127, 134, 136, 144, 148, 157, 1, 6, 0, 0] \ No newline at end of file +[4, 0, 18, 161, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 5, 13, 101, 8, 13, 10, 13, 12, 13, 104, 9, 13, 1, 14, 3, 14, 107, 8, 14, 1, 14, 1, 14, 5, 14, 111, 8, 14, 10, 14, 12, 14, 114, 9, 14, 1, 14, 3, 14, 117, 8, 14, 1, 15, 4, 15, 120, 8, 15, 11, 15, 12, 15, 121, 1, 15, 1, 15, 5, 15, 126, 8, 15, 10, 15, 12, 15, 129, 9, 15, 1, 15, 1, 15, 4, 15, 133, 8, 15, 11, 15, 12, 15, 134, 3, 15, 137, 8, 15, 1, 16, 1, 16, 1, 16, 1, 16, 5, 16, 143, 8, 16, 10, 16, 12, 16, 146, 9, 16, 1, 16, 3, 16, 149, 8, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 4, 17, 156, 8, 17, 11, 17, 12, 17, 157, 1, 17, 1, 17, 1, 144, 0, 18, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 1, 0, 5, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 1, 0, 49, 57, 1, 0, 48, 57, 3, 0, 9, 10, 12, 13, 32, 32, 171, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 1, 37, 1, 0, 0, 0, 3, 39, 1, 0, 0, 0, 5, 41, 1, 0, 0, 0, 7, 50, 1, 0, 0, 0, 9, 59, 1, 0, 0, 0, 11, 68, 1, 0, 0, 0, 13, 72, 1, 0, 0, 0, 15, 77, 1, 0, 0, 0, 17, 81, 1, 0, 0, 0, 19, 83, 1, 0, 0, 0, 21, 85, 1, 0, 0, 0, 23, 87, 1, 0, 0, 0, 25, 92, 1, 0, 0, 0, 27, 98, 1, 0, 0, 0, 29, 116, 1, 0, 0, 0, 31, 136, 1, 0, 0, 0, 33, 138, 1, 0, 0, 0, 35, 155, 1, 0, 0, 0, 37, 38, 5, 123, 0, 0, 38, 2, 1, 0, 0, 0, 39, 40, 5, 125, 0, 0, 40, 4, 1, 0, 0, 0, 41, 42, 5, 115, 0, 0, 42, 43, 5, 101, 0, 0, 43, 44, 5, 113, 0, 0, 44, 45, 5, 117, 0, 0, 45, 46, 5, 101, 0, 0, 46, 47, 5, 110, 0, 0, 47, 48, 5, 99, 0, 0, 48, 49, 5, 101, 0, 0, 49, 6, 1, 0, 0, 0, 50, 51, 5, 115, 0, 0, 51, 52, 5, 101, 0, 0, 52, 53, 5, 108, 0, 0, 53, 54, 5, 101, 0, 0, 54, 55, 5, 99, 0, 0, 55, 56, 5, 116, 0, 0, 56, 57, 5, 111, 0, 0, 57, 58, 5, 114, 0, 0, 58, 8, 1, 0, 0, 0, 59, 60, 5, 112, 0, 0, 60, 61, 5, 97, 0, 0, 61, 62, 5, 114, 0, 0, 62, 63, 5, 97, 0, 0, 63, 64, 5, 108, 0, 0, 64, 65, 5, 108, 0, 0, 65, 66, 5, 101, 0, 0, 66, 67, 5, 108, 0, 0, 67, 10, 1, 0, 0, 0, 68, 69, 5, 97, 0, 0, 69, 70, 5, 99, 0, 0, 70, 71, 5, 116, 0, 0, 71, 12, 1, 0, 0, 0, 72, 73, 5, 99, 0, 0, 73, 74, 5, 111, 0, 0, 74, 75, 5, 110, 0, 0, 75, 76, 5, 100, 0, 0, 76, 14, 1, 0, 0, 0, 77, 78, 5, 78, 0, 0, 78, 79, 5, 111, 0, 0, 79, 80, 5, 116, 0, 0, 80, 16, 1, 0, 0, 0, 81, 82, 5, 40, 0, 0, 82, 18, 1, 0, 0, 0, 83, 84, 5, 41, 0, 0, 84, 20, 1, 0, 0, 0, 85, 86, 5, 44, 0, 0, 86, 22, 1, 0, 0, 0, 87, 88, 5, 84, 0, 0, 88, 89, 5, 114, 0, 0, 89, 90, 5, 117, 0, 0, 90, 91, 5, 101, 0, 0, 91, 24, 1, 0, 0, 0, 92, 93, 5, 70, 0, 0, 93, 94, 5, 97, 0, 0, 94, 95, 5, 108, 0, 0, 95, 96, 5, 115, 0, 0, 96, 97, 5, 101, 0, 0, 97, 26, 1, 0, 0, 0, 98, 102, 7, 0, 0, 0, 99, 101, 7, 1, 0, 0, 100, 99, 1, 0, 0, 0, 101, 104, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 28, 1, 0, 0, 0, 104, 102, 1, 0, 0, 0, 105, 107, 5, 45, 0, 0, 106, 105, 1, 0, 0, 0, 106, 107, 1, 0, 0, 0, 107, 108, 1, 0, 0, 0, 108, 112, 7, 2, 0, 0, 109, 111, 7, 3, 0, 0, 110, 109, 1, 0, 0, 0, 111, 114, 1, 0, 0, 0, 112, 110, 1, 0, 0, 0, 112, 113, 1, 0, 0, 0, 113, 117, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 115, 117, 5, 48, 0, 0, 116, 106, 1, 0, 0, 0, 116, 115, 1, 0, 0, 0, 117, 30, 1, 0, 0, 0, 118, 120, 7, 3, 0, 0, 119, 118, 1, 0, 0, 0, 120, 121, 1, 0, 0, 0, 121, 119, 1, 0, 0, 0, 121, 122, 1, 0, 0, 0, 122, 123, 1, 0, 0, 0, 123, 127, 5, 46, 0, 0, 124, 126, 7, 3, 0, 0, 125, 124, 1, 0, 0, 0, 126, 129, 1, 0, 0, 0, 127, 125, 1, 0, 0, 0, 127, 128, 1, 0, 0, 0, 128, 137, 1, 0, 0, 0, 129, 127, 1, 0, 0, 0, 130, 132, 5, 46, 0, 0, 131, 133, 7, 3, 0, 0, 132, 131, 1, 0, 0, 0, 133, 134, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 137, 1, 0, 0, 0, 136, 119, 1, 0, 0, 0, 136, 130, 1, 0, 0, 0, 137, 32, 1, 0, 0, 0, 138, 139, 5, 47, 0, 0, 139, 140, 5, 47, 0, 0, 140, 144, 1, 0, 0, 0, 141, 143, 9, 0, 0, 0, 142, 141, 1, 0, 0, 0, 143, 146, 1, 0, 0, 0, 144, 145, 1, 0, 0, 0, 144, 142, 1, 0, 0, 0, 145, 148, 1, 0, 0, 0, 146, 144, 1, 0, 0, 0, 147, 149, 5, 13, 0, 0, 148, 147, 1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 151, 5, 10, 0, 0, 151, 152, 1, 0, 0, 0, 152, 153, 6, 16, 0, 0, 153, 34, 1, 0, 0, 0, 154, 156, 7, 4, 0, 0, 155, 154, 1, 0, 0, 0, 156, 157, 1, 0, 0, 0, 157, 155, 1, 0, 0, 0, 157, 158, 1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 160, 6, 17, 0, 0, 160, 36, 1, 0, 0, 0, 12, 0, 102, 106, 112, 116, 121, 127, 134, 136, 144, 148, 157, 1, 6, 0, 0] \ No newline at end of file diff --git a/robowaiter/behavior_tree/ptml/ptmlLexer.py b/robowaiter/behavior_tree/ptml/ptmlLexer.py index 6bd416c..76850f6 100644 --- a/robowaiter/behavior_tree/ptml/ptmlLexer.py +++ b/robowaiter/behavior_tree/ptml/ptmlLexer.py @@ -15,7 +15,7 @@ def serializedATN(): 13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,1,0,1,0,1,1,1,1, 1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3, 1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,6, - 1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,10,1,10,1,11,1, + 1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,10,1,10,1,11,1, 11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,5,13,101, 8,13,10,13,12,13,104,9,13,1,14,3,14,107,8,14,1,14,1,14,5,14,111, 8,14,10,14,12,14,114,9,14,1,14,3,14,117,8,14,1,15,4,15,120,8,15, @@ -31,7 +31,7 @@ def serializedATN(): 0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0, 0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,1,37,1,0,0,0,3,39,1,0,0, 0,5,41,1,0,0,0,7,50,1,0,0,0,9,59,1,0,0,0,11,68,1,0,0,0,13,72,1,0, - 0,0,15,76,1,0,0,0,17,81,1,0,0,0,19,83,1,0,0,0,21,85,1,0,0,0,23,87, + 0,0,15,77,1,0,0,0,17,81,1,0,0,0,19,83,1,0,0,0,21,85,1,0,0,0,23,87, 1,0,0,0,25,92,1,0,0,0,27,98,1,0,0,0,29,116,1,0,0,0,31,136,1,0,0, 0,33,138,1,0,0,0,35,155,1,0,0,0,37,38,5,123,0,0,38,2,1,0,0,0,39, 40,5,125,0,0,40,4,1,0,0,0,41,42,5,115,0,0,42,43,5,101,0,0,43,44, @@ -41,9 +41,9 @@ def serializedATN(): 0,56,57,5,111,0,0,57,58,5,114,0,0,58,8,1,0,0,0,59,60,5,112,0,0,60, 61,5,97,0,0,61,62,5,114,0,0,62,63,5,97,0,0,63,64,5,108,0,0,64,65, 5,108,0,0,65,66,5,101,0,0,66,67,5,108,0,0,67,10,1,0,0,0,68,69,5, - 110,0,0,69,70,5,111,0,0,70,71,5,116,0,0,71,12,1,0,0,0,72,73,5,97, - 0,0,73,74,5,99,0,0,74,75,5,116,0,0,75,14,1,0,0,0,76,77,5,99,0,0, - 77,78,5,111,0,0,78,79,5,110,0,0,79,80,5,100,0,0,80,16,1,0,0,0,81, + 97,0,0,69,70,5,99,0,0,70,71,5,116,0,0,71,12,1,0,0,0,72,73,5,99,0, + 0,73,74,5,111,0,0,74,75,5,110,0,0,75,76,5,100,0,0,76,14,1,0,0,0, + 77,78,5,78,0,0,78,79,5,111,0,0,79,80,5,116,0,0,80,16,1,0,0,0,81, 82,5,40,0,0,82,18,1,0,0,0,83,84,5,41,0,0,84,20,1,0,0,0,85,86,5,44, 0,0,86,22,1,0,0,0,87,88,5,84,0,0,88,89,5,114,0,0,89,90,5,117,0,0, 90,91,5,101,0,0,91,24,1,0,0,0,92,93,5,70,0,0,93,94,5,97,0,0,94,95, @@ -100,8 +100,8 @@ class ptmlLexer(Lexer): modeNames = [ "DEFAULT_MODE" ] literalNames = [ "", - "'{'", "'}'", "'sequence'", "'selector'", "'parallel'", "'not'", - "'act'", "'cond'", "'('", "')'", "','", "'True'", "'False'" ] + "'{'", "'}'", "'sequence'", "'selector'", "'parallel'", "'act'", + "'cond'", "'Not'", "'('", "')'", "','", "'True'", "'False'" ] symbolicNames = [ "", "String", "Integer", "Float", "LINE_COMMENT", "WS" ] diff --git a/robowaiter/behavior_tree/ptml/ptmlLexer.tokens b/robowaiter/behavior_tree/ptml/ptmlLexer.tokens index e6d0e71..e4add52 100644 --- a/robowaiter/behavior_tree/ptml/ptmlLexer.tokens +++ b/robowaiter/behavior_tree/ptml/ptmlLexer.tokens @@ -21,9 +21,9 @@ WS=18 'sequence'=3 'selector'=4 'parallel'=5 -'not'=6 -'act'=7 -'cond'=8 +'act'=6 +'cond'=7 +'Not'=8 '('=9 ')'=10 ','=11 diff --git a/robowaiter/behavior_tree/ptml/ptmlParser.py b/robowaiter/behavior_tree/ptml/ptmlParser.py index ff36a98..9f64afe 100644 --- a/robowaiter/behavior_tree/ptml/ptmlParser.py +++ b/robowaiter/behavior_tree/ptml/ptmlParser.py @@ -12,19 +12,19 @@ def serializedATN(): return [ 4,1,18,68,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,1,0,4, 0,14,8,0,11,0,12,0,15,1,0,1,0,1,1,1,1,1,1,1,1,5,1,24,8,1,10,1,12, - 1,27,9,1,1,1,1,1,1,2,1,2,1,2,1,2,3,2,35,8,2,1,3,3,3,38,8,3,1,3,1, + 1,27,9,1,1,1,1,1,1,2,1,2,1,2,1,2,3,2,35,8,2,1,3,1,3,3,3,39,8,3,1, 3,1,3,1,3,3,3,44,8,3,1,3,1,3,1,4,1,4,1,4,1,4,3,4,52,8,4,1,4,1,4, 1,4,1,4,1,4,3,4,59,8,4,5,4,61,8,4,10,4,12,4,64,9,4,1,5,1,5,1,5,0, - 0,6,0,2,4,6,8,10,0,2,1,0,7,8,1,0,12,13,75,0,13,1,0,0,0,2,19,1,0, - 0,0,4,34,1,0,0,0,6,37,1,0,0,0,8,51,1,0,0,0,10,65,1,0,0,0,12,14,3, + 0,6,0,2,4,6,8,10,0,2,1,0,6,7,1,0,12,13,75,0,13,1,0,0,0,2,19,1,0, + 0,0,4,34,1,0,0,0,6,36,1,0,0,0,8,51,1,0,0,0,10,65,1,0,0,0,12,14,3, 2,1,0,13,12,1,0,0,0,14,15,1,0,0,0,15,13,1,0,0,0,15,16,1,0,0,0,16, 17,1,0,0,0,17,18,5,0,0,1,18,1,1,0,0,0,19,20,3,4,2,0,20,25,5,1,0, 0,21,24,3,6,3,0,22,24,3,2,1,0,23,21,1,0,0,0,23,22,1,0,0,0,24,27, 1,0,0,0,25,23,1,0,0,0,25,26,1,0,0,0,26,28,1,0,0,0,27,25,1,0,0,0, 28,29,5,2,0,0,29,3,1,0,0,0,30,35,5,3,0,0,31,35,5,4,0,0,32,33,5,5, 0,0,33,35,5,15,0,0,34,30,1,0,0,0,34,31,1,0,0,0,34,32,1,0,0,0,35, - 5,1,0,0,0,36,38,5,6,0,0,37,36,1,0,0,0,37,38,1,0,0,0,38,39,1,0,0, - 0,39,40,7,0,0,0,40,41,5,14,0,0,41,43,5,9,0,0,42,44,3,8,4,0,43,42, + 5,1,0,0,0,36,38,7,0,0,0,37,39,5,8,0,0,38,37,1,0,0,0,38,39,1,0,0, + 0,39,40,1,0,0,0,40,41,5,14,0,0,41,43,5,9,0,0,42,44,3,8,4,0,43,42, 1,0,0,0,43,44,1,0,0,0,44,45,1,0,0,0,45,46,5,10,0,0,46,7,1,0,0,0, 47,52,5,15,0,0,48,52,5,16,0,0,49,52,3,10,5,0,50,52,5,14,0,0,51,47, 1,0,0,0,51,48,1,0,0,0,51,49,1,0,0,0,51,50,1,0,0,0,52,62,1,0,0,0, @@ -32,7 +32,7 @@ def serializedATN(): 5,14,0,0,58,54,1,0,0,0,58,55,1,0,0,0,58,56,1,0,0,0,58,57,1,0,0,0, 59,61,1,0,0,0,60,53,1,0,0,0,61,64,1,0,0,0,62,60,1,0,0,0,62,63,1, 0,0,0,63,9,1,0,0,0,64,62,1,0,0,0,65,66,7,1,0,0,66,11,1,0,0,0,9,15, - 23,25,34,37,43,51,58,62 + 23,25,34,38,43,51,58,62 ] class ptmlParser ( Parser ): @@ -46,7 +46,7 @@ class ptmlParser ( Parser ): sharedContextCache = PredictionContextCache() literalNames = [ "", "'{'", "'}'", "'sequence'", "'selector'", - "'parallel'", "'not'", "'act'", "'cond'", "'('", "')'", + "'parallel'", "'act'", "'cond'", "'Not'", "'('", "')'", "','", "'True'", "'False'" ] symbolicNames = [ "", "", "", "", @@ -208,11 +208,11 @@ class ptmlParser ( Parser ): self.state = 25 self._errHandler.sync(self) _la = self._input.LA(1) - while (((_la) & ~0x3f) == 0 and ((1 << _la) & 504) != 0): + while (((_la) & ~0x3f) == 0 and ((1 << _la) & 248) != 0): self.state = 23 self._errHandler.sync(self) token = self._input.LA(1) - if token in [6, 7, 8]: + if token in [6, 7]: self.state = 21 self.action_sign() pass @@ -334,21 +334,21 @@ class ptmlParser ( Parser ): self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) - self.state = 37 - self._errHandler.sync(self) + self.state = 36 _la = self._input.LA(1) - if _la==6: - self.state = 36 - self.match(ptmlParser.T__5) - - - self.state = 39 - _la = self._input.LA(1) - if not(_la==7 or _la==8): + if not(_la==6 or _la==7): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() + self.state = 38 + self._errHandler.sync(self) + _la = self._input.LA(1) + if _la==8: + self.state = 37 + self.match(ptmlParser.T__7) + + self.state = 40 self.match(ptmlParser.String) self.state = 41 diff --git a/robowaiter/behavior_tree/ptml/ptmlTranslator.py b/robowaiter/behavior_tree/ptml/ptmlTranslator.py index 8f535c0..d93f33c 100644 --- a/robowaiter/behavior_tree/ptml/ptmlTranslator.py +++ b/robowaiter/behavior_tree/ptml/ptmlTranslator.py @@ -99,8 +99,8 @@ class ptmlTranslator(ptmlListener): node.set_scene(self.scene) # if have 'not' decorator - if str(ctx.children[0]) == 'not': - upper_node = ptree.decorators.Inverter(node) + if str(ctx.children[1]) == 'Not': + upper_node = ptree.decorators.Inverter(name="Inverter", child=node) # connect self.stack[-1].add_child(upper_node) else: