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; }
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; }
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; }
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; }
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; }