/*
 * Copyright (C) 1995-1997 Christopher D. Granz
 *
 * This header may not be removed.
 *
 * Refer to the file "License" included in this package for further
 * information and before using any of the following.
 */
#include "emc.h"
/*
 * Globals
 */
NODE *                                                        pNodeTree;
/*
 * Functions
 */
NODE *node_int( register long rl )
{
    register NODE *pNode = alloc_mem( sizeof( *pNode ) );
    pNode->iType         = NODE_INT;
    pNode->uL.lInt       = rl;
    pNode->uR.pRight     = NULL;
    return ( pNode );
}
NODE *node_float( register double rd )
{
    register NODE *pNode = alloc_mem( sizeof( *pNode ) );
    pNode->iType         = NODE_FLOAT;
    pNode->uL.dFloat     = rd;
    pNode->uR.pRight     = NULL;
    return ( pNode );
}
NODE *node_string( register int riType, register char *pStr )
{
    register NODE *pNode = alloc_mem( sizeof( *pNode ) );
    pNode->iType         = riType;
    pNode->uL.pString    = str_dup( pStr );
    pNode->uR.pRight     = NULL;
    return ( pNode );
}
NODE *node_tree( register int riType, register NODE *pLeft,
                 register NODE *pRight )
{
    register NODE *pNode = alloc_mem( sizeof( *pNode ) );
    pNode->iType         = riType;
    pNode->uL.pLeft      = pLeft;
    pNode->uR.pRight     = pRight;
    return ( pNode );
}
/*
 * End of node.c
 */