libidav/davqlparser.h

changeset 83
7d20ce5d235b
parent 82
0567444f2d76
child 85
0ab1cf261a44
equal deleted inserted replaced
82:0567444f2d76 83:7d20ce5d235b
52 52
53 /** 53 /**
54 * Enumeration of possible expression operators. 54 * Enumeration of possible expression operators.
55 */ 55 */
56 typedef enum { 56 typedef enum {
57 ADD, SUB, MUL, DIV, 57 DAVQL_NOOP,
58 AND, OR, XOR, NEG, 58 DAVQL_ADD, DAVQL_SUB, DAVQL_MUL, DAVQL_DIV,
59 NOT, LAND, LOR, LXOR, 59 DAVQL_AND, DAVQL_OR, DAVQL_XOR, DAVQL_NEG,
60 EQ, NEQ, LT, GT, LE, GE, 60 DAVQL_NOT, DAVQL_LAND, DAVQL_LOR, DAVQL_LXOR,
61 LIKE, UNLIKE 61 DAVQL_EQ, DAVQL_NEQ, DAVQL_LT, DAVQL_GT, DAVQL_LE, DAVQL_GE,
62 DAVQL_LIKE, DAVQL_UNLIKE
62 } davqloperator_t; 63 } davqloperator_t;
63 64
64 /** 65 /**
65 * An expression within a DAVQL query. 66 * An expression within a DAVQL query.
66 */ 67 */
108 * | UnaryOperator, Expression 109 * | UnaryOperator, Expression
109 * | FunctionCall | Identifier | Literal 110 * | FunctionCall | Identifier | Literal
110 * | "(", Expression, ")"; 111 * | "(", Expression, ")";
111 * 112 *
112 * FunctionCall = Identifier, "(", Expression, ")"; 113 * FunctionCall = Identifier, "(", Expression, ")";
113 * Identifier = IdentifierChar, {IdentifierChar} 114 * Identifier = IdentifierChar - ?Digit?, {IdentifierChar}
114 * | "`", ?Character?, {?Character?}, "`"; 115 * | "`", ?Character?, {?Character?}, "`";
115 * IdentifierChar = ?Character - (" "|",")?; 116 * IdentifierChar = ?Character - (" "|",")?;
116 * Literal = ?Digit?, {?Digit?} | String; 117 * Literal = ?Digit?, {?Digit?} | String;
117 * String = "'", {?Character - "'"? | "'''"} , "'"; 118 * String = "'", {?Character - "'"? | "'''"} , "'";
118 * 119 *

mercurial