This is the language definitions somewhat slopply descriped:
expr = TRUE, FALSE, ! expr, expr AND expr, expr OR expr, ( expr ) compare compare = word == word, word != word, word IN ( word [, word ...]) word IN %{variable.subvariable} word = STRING, %{variable}