在gram.y 中, 有如下一段:
target_el: a_expr AS ColLabel { $$=makeNode(Restarget); $$->name =$3; $$->indirection=NIL; ... } ...
那么,makeNode到底是什么呢?
nodes.h 里有这样的宏:
#define makeNode(_type_) ((_type_ *) newNode(sizeof(_type_),T_##_type_))
在gram.y 中, 有如下一段:
target_el: a_expr AS ColLabel { $$=makeNode(Restarget); $$->name =$3; $$->indirection=NIL; ... } ...
那么,makeNode到底是什么呢?
nodes.h 里有这样的宏:
#define makeNode(_type_) ((_type_ *) newNode(sizeof(_type_),T_##_type_))