Support equality comparison for numerics in problem goals
MichaelJFishman opened this issue · 2 comments
MichaelJFishman commented
Is your feature request related to a problem? Please describe.
PddlParser cannot parse equality comparisons in goals.
Example problem:
(define (problem hello-3-times)
(:domain hello-world-functions)
(:init
; if this was undefined, some planners would not assumed `0`
(= (hello_counter) 0)
)
(:goal
(= (hello_counter) 3)
)
)
Gives an error:
lark.exceptions.UnexpectedCharacters: No terminal matches '(' in the current parser context, at line 10 col 12
(= (hello_counter) 3)
^
Expected one of:
* NAME
Previous tokens: Token('EQUAL_OP', '=')
During handling of the above exception, another exception occurred:
lark.exceptions.UnexpectedToken: Unexpected token Token('LPAR', '(') at line 10, column 12.
Expected one of:
* NAME
Previous tokens: [Token('EQUAL_OP', '=')]
Describe the solution you'd like
I'd like this to parse.
Describe alternatives you've considered
Use >=
and <=
in goals, instead of =
.
MichaelJFishman commented
Thanks!