| 1370 | // |
| 1371 | |
| 1372 | static gpre_nod* par_over( gpre_ctx* context) |
| 1373 | { |
| 1374 | TEXT s[64]; |
| 1375 | |
| 1376 | gpre_nod* boolean = NULL; |
| 1377 | |
| 1378 | do { |
| 1379 | gpre_nod* field1 = lookup_field(context); |
| 1380 | if (!field1) |
| 1381 | { |
| 1382 | fb_utils::snprintf(s, sizeof(s), "OVER field %s undefined", gpreGlob.token_global.tok_string); |
| 1383 | PAR_error(s); |
| 1384 | } |
| 1385 | gpre_nod* field2 = NULL; |
| 1386 | for (gpre_ctx* next = context->ctx_next; next; next = next->ctx_next) |
| 1387 | { |
| 1388 | if (field2 = lookup_field(next)) |
| 1389 | break; |
| 1390 | } |
| 1391 | if (!field2) |
| 1392 | { |
| 1393 | fb_utils::snprintf(s, sizeof(s), "OVER field %s undefined", gpreGlob.token_global.tok_string); |
| 1394 | PAR_error(s); |
| 1395 | } |
| 1396 | boolean = make_and(boolean, MSC_binary(nod_eq, field1, field2)); |
| 1397 | PAR_get_token(); |
| 1398 | } while (MSC_match(KW_COMMA)); |
| 1399 | |
| 1400 | return boolean; |
| 1401 | } |
| 1402 | |
| 1403 | |
| 1404 | //____________________________________________________________ |
no test coverage detected