/** <!--******************************************************************--> * * @fn CHKMvarlet * * @brief Touched the node and its sons/attributes * * @param arg_node VarLet node to process * @param arg_info pointer to info structure * * @return processed node * ***************************************************************************/ node * CHKMvarlet (node * arg_node, info * arg_info) { DBUG_ENTER ("CHKMvarlet"); NODE_ERROR (arg_node) = CHKMTRAV (NODE_ERROR (arg_node), arg_info); VARLET_NAME (arg_node) = CHKMattribString (VARLET_NAME (arg_node), arg_info); VARLET_DECL (arg_node) = CHKMattribLink (VARLET_DECL (arg_node), arg_info); DBUG_RETURN (arg_node); }
/** <!--******************************************************************--> * * @fn COPYvarlet * * @brief Copies the node and its sons/attributes * * @param arg_node VarLet node to process * @param arg_info pointer to info structure * * @return processed node * ***************************************************************************/ node * COPYvarlet (node * arg_node, info * arg_info) { node *result = TBmakeVarlet (NULL); DBUG_ENTER ("COPYvarlet"); LUTinsertIntoLutP (INFO_LUT (arg_info), arg_node, result); /* Copy attributes */ VARLET_NAME (result) = STRcpy (VARLET_NAME (arg_node)); VARLET_DECL (result) = LUTsearchInLutPp (INFO_LUT (arg_info), VARLET_DECL (arg_node)); /* Return value */ DBUG_RETURN (result); }
//set info_type to type of varlet node *CTvarlet(node *arg_node, info *arg_info){ DBUG_ENTER("CTvarlet"); INFO_TYPE(arg_info) = SYMBOL_TYPE(VARLET_DECL(arg_node)); DBUG_RETURN(arg_node); }