Skip to content

Using Expressions

Jan Winkler edited this page Oct 11, 2016 · 2 revisions

What are Expressions?

An Expression is the basic datatype used by GDAPlanner to represent anything from structure to actual data. It is the result of either parsed domain and problem definitions, or manually coded elements. Expressions are used as container elements in the first-order logic language employed by GDAPlanner.

An expression can have the following form:

(some-expression ?parameter1 ?parameter2)

But it can also be more complex:

(some-other-expression (sub-expression ?a ?b) ?c (even-more ?d intermediate-symbol ?e))

Expressions can either be Lists or Atoms. A list contains either other lists or atoms. Atoms are final elements, representing a string or a number.

Single atoms also define an expression:

?argument

Defining Expressions

Defining an Expression looks like this:

Expression exMyExpression = Expression::parseSingle("(some-predicate ?p1 ?p2)");

This will, naturally, result in the Expression

(some-predicate ?p1 ?p2)

Clone this wiki locally