static pANTLR3_REWRITE_RULE_ELEMENT_STREAM 
antlr3RewriteRuleElementStreamNewAEV(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, pANTLR3_VECTOR vector)
{
	pANTLR3_REWRITE_RULE_ELEMENT_STREAM	stream;

	// First job is to create the memory we need.
	//
	stream	= antlr3RewriteRuleElementStreamNewAE(adaptor, rec, description);

	if (stream == NULL)
	{
		return stream;
	}

	// Stream seems good so we need to install the vector we were
	// given. We assume that someone else is going to free the
	// vector.
	//
	if	(stream->elements != NULL && stream->elements->factoryMade == ANTLR3_FALSE && stream->freeElements == ANTLR3_TRUE )
	{
		stream->elements->free(stream->elements);
	}
	stream->elements		= vector;
	stream->freeElements	= ANTLR3_FALSE;
	return stream;
}
示例#2
0
static pANTLR3_REWRITE_RULE_ELEMENT_STREAM
antlr3RewriteRuleElementStreamNewAEE(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_UINT8 description, void * oneElement)
{
    pANTLR3_REWRITE_RULE_ELEMENT_STREAM	stream;

    /* First job is to create the memory we need.
     */
    stream	= antlr3RewriteRuleElementStreamNewAE(adaptor, description);

    if (stream == (pANTLR3_REWRITE_RULE_ELEMENT_STREAM)ANTLR3_FUNC_PTR(ANTLR3_ERR_NOMEM))
    {
        return stream;
    }

    /* Stream seems good so we need to add the supplied element
     */
    stream->add(stream, oneElement, NULL);
    return stream;
}
示例#3
0
static pANTLR3_REWRITE_RULE_ELEMENT_STREAM
antlr3RewriteRuleElementStreamNewAEV(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_UINT8 description, pANTLR3_VECTOR vector)
{
    pANTLR3_REWRITE_RULE_ELEMENT_STREAM	stream;

    /* First job is to create the memory we need.
     */
    stream	= antlr3RewriteRuleElementStreamNewAE(adaptor, description);

    if (stream == (pANTLR3_REWRITE_RULE_ELEMENT_STREAM)ANTLR3_FUNC_PTR(ANTLR3_ERR_NOMEM))
    {
        return stream;
    }

    /* Stream seems good so we need to install the vector we were
     * given. We assume that someone else is going to free the
     * vector.
     */
    stream->elements	= vector;

    return stream;
}
示例#4
0
ANTLR3_API pANTLR3_REWRITE_RULE_TOKEN_STREAM
antlr3RewriteRuleTokenStreamNewAE(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_UINT8 description)
{
    pANTLR3_REWRITE_RULE_TOKEN_STREAM	stream;

    /* First job is to create the memory we need.
     */
    stream	= antlr3RewriteRuleElementStreamNewAE(adaptor, description);

    if (stream == (pANTLR3_REWRITE_RULE_TOKEN_STREAM)ANTLR3_FUNC_PTR(ANTLR3_ERR_NOMEM))
    {
        return stream;
    }

    /* Install the token based overrides
     */
    stream->dup	    = dupTok;
    stream->toTree  = toTreeToken;

    /* No nextNode implementation for a token rewrite stream */
    return stream;
}
// Subtree rewrite stream
//
ANTLR3_API pANTLR3_REWRITE_RULE_SUBTREE_STREAM 
antlr3RewriteRuleSubtreeStreamNewAE(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description)
{
	pANTLR3_REWRITE_RULE_SUBTREE_STREAM	stream;

	// First job is to create the memory we need.
	//
	stream	= antlr3RewriteRuleElementStreamNewAE(adaptor, rec, description);

	if (stream == NULL)
	{
		return stream;
	}

	// Install the subtree based overrides
	//
	stream->dup			= dupTree;
	stream->nextNode	= nextNode;
    stream->free        = freeNodeRS;
	return stream;

}
static pANTLR3_REWRITE_RULE_ELEMENT_STREAM 
antlr3RewriteRuleElementStreamNewAEE(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description, void * oneElement)
{
	pANTLR3_REWRITE_RULE_ELEMENT_STREAM	stream;

	// First job is to create the memory we need.
	//
	stream	= antlr3RewriteRuleElementStreamNewAE(adaptor, rec, description);

	if (stream == NULL)
	{
		return NULL;
	}

	// Stream seems good so we need to add the supplied element
	//
	if	(oneElement != NULL)
	{
		stream->add(stream, oneElement, NULL);
	}
	return stream;
}
示例#7
0
ANTLR3_API pANTLR3_REWRITE_RULE_SUBTREE_STREAM
antlr3RewriteRuleSubtreeStreamNewAE(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_UINT8 description)
{
    pANTLR3_REWRITE_RULE_SUBTREE_STREAM	stream;

    /* First job is to create the memory we need.
     */
    stream	= antlr3RewriteRuleElementStreamNewAE(adaptor, description);

    if (stream == (pANTLR3_REWRITE_RULE_SUBTREE_STREAM)ANTLR3_FUNC_PTR(ANTLR3_ERR_NOMEM))
    {
        return stream;
    }

    /* Install the token based overrides
     */
    stream->dup		= dupTree;
    stream->toTree	= toTreeTree;
    stream->nextNode	= nextNode;

    return stream;

}
// Token rewrite stream ...
//
ANTLR3_API pANTLR3_REWRITE_RULE_TOKEN_STREAM 
antlr3RewriteRuleTOKENStreamNewAE(pANTLR3_BASE_TREE_ADAPTOR adaptor, pANTLR3_BASE_RECOGNIZER rec, pANTLR3_UINT8 description)
{
	pANTLR3_REWRITE_RULE_TOKEN_STREAM	stream;

	// First job is to create the memory we need.
	//
	stream	= antlr3RewriteRuleElementStreamNewAE(adaptor, rec, description);

	if (stream == NULL)
	{
		return stream;
	}

	// Install the token based overrides
	//
	stream->dup			= dupTok;
	stream->nextNode	= nextNodeToken;

	// No nextNode implementation for a token rewrite stream
	//
	return stream;
}