Message2063

Author malte
Recipients malte, rpgoldman, ukuter
Date 2012-02-16.17:18:41
Content
Hi Robert, "either" is generally not supported (see
http://www.fast-downward.org/PddlSupport#Limitations). The translator doesn't
even know that "either" is a keyword -- you would get the same error message if

(exists (?E - (either c_human c_exploit))
                    (controls_proc ?E ?P))

were replaced by

(exists (?E - (foobar c_human c_exploit))
                    (controls_proc ?E ?P))

The problem here (as in so many places) is lack of clear error reporting. The
parser expects that the thing after "?E - " -- in this case "(foobar c_human
c_exploit)" is an atomic name. Instead, it is a list. The translator doesn't
actually check that the thing it sees is an atomic name, but just happily
proceeds assuming that it is a valid typename. Later on, it tries to put this
typename into a dictionary, which it cannot, since lists (such as "(foobar
c_human c_explit)") are not hashable.

I'll look into improving the reporting here.
History
Date User Action Args
2012-02-16 17:18:41maltesetmessageid: <1329409121.58.0.683311696855.issue323@gmail.com>
2012-02-16 17:18:41maltesetrecipients: + malte, rpgoldman, ukuter
2012-02-16 17:18:41maltelinkissue323 messages
2012-02-16 17:18:41maltecreate