libidav/davqlparser.h

changeset 86
ecba8bdf9741
parent 85
0ab1cf261a44
child 87
ed21d95984bb
equal deleted inserted replaced
85:0ab1cf261a44 86:ecba8bdf9741
128 * BinaryOperator = "+" | "-" | "*" | "/" | "&" | "|" | "^"; 128 * BinaryOperator = "+" | "-" | "*" | "/" | "&" | "|" | "^";
129 * LogicalOperator = " and " | " or " | " xor "; 129 * LogicalOperator = " and " | " or " | " xor ";
130 * Comparison = | "=" | "<" | ">" | "<=" | ">=" | "!="; 130 * Comparison = | "=" | "<" | ">" | "<=" | ">=" | "!=";
131 * 131 *
132 * FieldExpressions = "*", {",", Expression, " as ", String} 132 * FieldExpressions = "*", {",", Expression, " as ", String}
133 * | FieldExpression, {",", FieldExpression}; 133 * | FieldExpression, {",", FieldExpression}
134 * | "-";
134 * FieldExpression = Identifier 135 * FieldExpression = Identifier
135 * | Expression, " as ", String; 136 * | Expression, " as ", String;
136 * SetExpressions = SetExpression, {",", {SetExpressions}; 137 * SetExpressions = SetExpression, {",", {SetExpressions};
137 * SetExpression = Identifier, "=", Expression; 138 * SetExpression = Identifier, "=", Expression;
138 * 139 *
169 /** 170 /**
170 * The statement type. 171 * The statement type.
171 */ 172 */
172 davqltype_t type; 173 davqltype_t type;
173 /** 174 /**
175 * Error code, if any error occurred. Zero otherwise.
176 */
177 int errorcode;
178 /**
179 * Error message, if any error occurred.
180 */
181 char* errormessage;
182 /**
174 * The list of field expressions. 183 * The list of field expressions.
175 */ 184 */
176 UcxList* fields; 185 UcxList* fields;
177 /** 186 /**
178 * The list of DavQLExpressions for the new DAV property values. 187 * The list of DavQLExpressions for the new DAV property values.
193 * Defaults to 1. 202 * Defaults to 1.
194 */ 203 */
195 int depth; 204 int depth;
196 } DavQLStatement; 205 } DavQLStatement;
197 206
198 /** 207 /** Infinity recursion depth for a DavQLStatement. */
199 * Infinity recursion depth for a DavQLStatement.
200 */
201 #define DAV_DEPTH_INFINITY -1 208 #define DAV_DEPTH_INFINITY -1
202 209
210 /** No more tokens to parse, but the parser expected more. */
211 #define DAVQL_ERROR_UNEXPECTED_END 1000
212
213 /** A token was found, which has not been expected. */
214 #define DAVQL_ERROR_UNEXPECTED_TOKEN 1010
215
216 /** Nothing about the statement seems legit. */
217 #define DAVQL_ERROR_INVALID -1
203 218
204 /** 219 /**
205 * Starts an interactive debugger for a DavQLStatement. 220 * Starts an interactive debugger for a DavQLStatement.
206 * 221 *
207 * @param stmt the statement to debug 222 * @param stmt the statement to debug

mercurial