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

Function parse_xor_expr

src/cypher/cypher.c:1139–1154  ·  view source on GitHub ↗

XOR: and (XOR and)* */

Source from the content-addressed store, hash-verified

1137
1138/* XOR: and (XOR and)* */
1139static cbm_expr_t *parse_xor_expr(parser_t *p) { // NOLINT(misc-no-recursion)
1140 cbm_expr_t *left = parse_and_expr(p);
1141 if (!left) {
1142 return NULL;
1143 }
1144 while (check(p, TOK_XOR)) {
1145 advance(p);
1146 cbm_expr_t *right = parse_and_expr(p);
1147 if (!right) {
1148 expr_free(left);
1149 return NULL;
1150 }
1151 left = expr_binary(EXPR_XOR, left, right);
1152 }
1153 return left;
1154}
1155
1156/* OR: xor (OR xor)* */
1157static 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
checkFunction · 0.85
advanceFunction · 0.85
expr_freeFunction · 0.85
expr_binaryFunction · 0.85

Tested by

no test coverage detected