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

Function parse_or_expr

src/cypher/cypher.c:1291–1306  ·  view source on GitHub ↗

OR: xor (OR xor)* */

Source from the content-addressed store, hash-verified

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