MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / parse_or_expr

Function parse_or_expr

src/cypher/cypher.c:1290–1305  ·  view source on GitHub ↗

OR: xor (OR xor)* */

Source from the content-addressed store, hash-verified

1288
1289/* OR: xor (OR xor)* */
1290static cbm_expr_t *parse_or_expr(parser_t *p) { // NOLINT(misc-no-recursion)
1291 cbm_expr_t *left = parse_xor_expr(p);
1292 if (!left) {
1293 return NULL;
1294 }
1295 while (check(p, TOK_OR)) {
1296 advance(p);
1297 cbm_expr_t *right = parse_xor_expr(p);
1298 if (!right) {
1299 expr_free(left);
1300 return NULL;
1301 }
1302 left = expr_binary(EXPR_OR, left, right);
1303 }
1304 return left;
1305}
1306
1307/* Parse WHERE clause — builds expression tree */
1308static int parse_where(parser_t *p, cbm_where_clause_t **out) {

Callers 3

parse_atom_exprFunction · 0.85
parse_whereFunction · 0.85
parse_case_exprFunction · 0.85

Calls 5

parse_xor_exprFunction · 0.85
advanceFunction · 0.85
expr_freeFunction · 0.85
expr_binaryFunction · 0.85
checkFunction · 0.70

Tested by

no test coverage detected