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

Function parse_or_expr

src/cypher/cypher.c:1157–1172  ·  view source on GitHub ↗

OR: xor (OR xor)* */

Source from the content-addressed store, hash-verified

1155
1156/* OR: xor (OR xor)* */
1157static cbm_expr_t *parse_or_expr(parser_t *p) { // NOLINT(misc-no-recursion)
1158 cbm_expr_t *left = parse_xor_expr(p);
1159 if (!left) {
1160 return NULL;
1161 }
1162 while (check(p, TOK_OR)) {
1163 advance(p);
1164 cbm_expr_t *right = parse_xor_expr(p);
1165 if (!right) {
1166 expr_free(left);
1167 return NULL;
1168 }
1169 left = expr_binary(EXPR_OR, left, right);
1170 }
1171 return left;
1172}
1173
1174/* Parse WHERE clause — builds expression tree */
1175static 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
checkFunction · 0.85
advanceFunction · 0.85
expr_freeFunction · 0.85
expr_binaryFunction · 0.85

Tested by

no test coverage detected