typedef bool (*expr_handler_t)(struct ast_node *); static struct { enum ast_operator_type type; expr_handler_t action; } expr_handlers[] = { {AST_OP_NULL, expr_leaf_node}, {AST_OP_MUL, expr_mul}, {AST_OP_ADD, expr_add}, {AST_OP_EXPR, expr_noaction}, {AST_OP_EXPR_SHOW, expr_show}, {AST_OP_ASSIGN, expr_assign}, {AST_OP_BLOCK, expr_block}, //add_no2:sub {AST_OP_SUB, expr_sub}, };这是在干嘛
时间: 2023-12-06 15:42:38 浏览: 67
这段代码定义了一个表达式处理器类型`expr_handler_t`,它接受一个指向 AST 节点的指针,并返回一个布尔值。接着定义了一个数组`expr_handlers`,其中包含了不同类型的操作符和对应的处理函数,这些操作符包括加减乘除、赋值、块等。在程序中,当需要处理某个类型的操作符时,可以直接使用对应的处理函数。
阅读全文