--- a/libidav/davqlparser.h Thu May 28 12:22:55 2015 +0200 +++ b/libidav/davqlparser.h Thu May 28 13:48:39 2015 +0200 @@ -50,7 +50,6 @@ DAVQL_TOKEN_IDENTIFIER, DAVQL_TOKEN_FMTSPEC, DAVQL_TOKEN_STRING, DAVQL_TOKEN_NUMBER, DAVQL_TOKEN_TIMESTAMP, DAVQL_TOKEN_COMMA, DAVQL_TOKEN_OPENP, DAVQL_TOKEN_CLOSEP, - DAVQL_TOKEN_EQ, DAVQL_TOKEN_LT, DAVQL_TOKEN_GT, DAVQL_TOKEN_EXCLAIM, DAVQL_TOKEN_OPERATOR } davqltokenclass_t; @@ -181,8 +180,8 @@ * String = "'", {?Character? - "'" | "'''"} , "'" | "%s"; * Timestamp = "%t"; // TODO: maybe introduce a real literal * - * LogicalExpression = BooleanLiteral, [LogicalOperator, LogicalExpression]; - * BooleanExpression = "not ", LogicalExpression + * LogicalExpression = BooleanExpression, [LogicalOperator, LogicalExpression]; + * BooleanExpression = "not ", BooleanExpression * | "(", LogicalExpression, ")" * | BooleanPrimary; * BooleanPrimary = Expression, (" like " | " unlike "), String