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

Function parse_xor_expr

src/cypher/cypher.c:1273–1288  ·  view source on GitHub ↗

XOR: and (XOR and)* */

Source from the content-addressed store, hash-verified

1271
1272/* XOR: and (XOR and)* */
1273static cbm_expr_t *parse_xor_expr(parser_t *p) { // NOLINT(misc-no-recursion)
1274 cbm_expr_t *left = parse_and_expr(p);
1275 if (!left) {
1276 return NULL;
1277 }
1278 while (check(p, TOK_XOR)) {
1279 advance(p);
1280 cbm_expr_t *right = parse_and_expr(p);
1281 if (!right) {
1282 expr_free(left);
1283 return NULL;
1284 }
1285 left = expr_binary(EXPR_XOR, left, right);
1286 }
1287 return left;
1288}
1289
1290/* OR: xor (OR xor)* */
1291static cbm_expr_t *parse_or_expr(parser_t *p) { // NOLINT(misc-no-recursion)

Callers 1

parse_or_exprFunction · 0.85

Calls 5

parse_and_exprFunction · 0.85
advanceFunction · 0.85
expr_freeFunction · 0.85
expr_binaryFunction · 0.85
checkFunction · 0.70

Tested by

no test coverage detected