函数逻辑报告 |
Source Code:kernel\trace\trace_events_filter.c |
Create Date:2022-07-27 13:31:49 |
Last Modify:2022-05-22 20:19:57 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Without going into a formal proof, this explains the method that is used in* parsing the logical expressions
函数原型:static struct prog_entry *predicate_parse(const char *str, int nr_parens, int nr_preds, parse_pred_fn parse_pred, void *data, struct filter_parse_error *pe)
返回类型:struct prog_entry
参数:
类型 | 参数 | 名称 |
---|---|---|
const char * | str | |
int | nr_parens | |
int | nr_preds | |
parse_pred_fn | parse_pred | |
void * | data | |
struct filter_parse_error * | pe |
417 | char * inverts = NULL |
420 | invert等于0 |
423 | N等于0 |
426 | nr_preds加等于2 |
431 | prog_stack等于分配数组内存并置零 |
432 | 如果非prog_stack则 |
433 | parse_error(pe, - ENOMEM, 0) |
434 | 转到:out_free |
437 | 如果非inverts则 |
438 | parse_error(pe, - ENOMEM, 0) |
439 | 转到:out_free |
443 | prog等于prog_stack |
444 | top等于0 |
450 | 如果Note: isspace() must return false for %NUL-terminator ( * next)则继续下一循环 |
465 | 继续下一循环 |
469 | parse_error(pe, FILT_ERR_TOO_MANY_PREDS, next - str) |
470 | 转到:out_free |
477 | 如果len小于0则 |
483 | N自加 |
485 | ret等于负1 |
486 | 当1循环 |
488 | 如果Note: isspace() must return false for %NUL-terminator ( * next)则继续下一循环 |
494 | 退出 |
503 | 默认 |
504 | parse_error(pe, FILT_ERR_TOO_MANY_PREDS, next - str) |
506 | 转到:out_free |
511 | 如果top按位与PROCESS_AND则 |
513 | top与等于PROCESS_AND的反 |
515 | 如果next恒等于'&'则 |
516 | top或等于PROCESS_AND |
517 | 退出 |
519 | 如果top按位与PROCESS_OR则 |
521 | top与等于PROCESS_OR的反 |
523 | 如果next恒等于'|'则 |
524 | top或等于PROCESS_OR |
525 | 退出 |
536 | top自减 |
539 | out : |
542 | parse_error(pe, FILT_ERR_TOO_MANY_OPEN, ptr - str) |
543 | 转到:out_free |
546 | 如果非N则 |
553 | pred = NULL |
554 | target等于1 |
555 | pred = NULL |
556 | target等于0 |
558 | when_to_branch = false |
563 | 如果when_to_branch恒等于when_to_branch则target等于target |
569 | invert等于inverts[i]按位异或when_to_branch |
570 | when_to_branch等于invert |
580 | 返回:prog |
581 | out_free : |
584 | 如果prog_stack则 |
589 | 返回:错误号 |
名称 | 描述 |
---|---|
process_preds |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |