本文整理汇总了C++中pANTLR3_STRING::append8方法的典型用法代码示例。如果您正苦于以下问题:C++ pANTLR3_STRING::append8方法的具体用法?C++ pANTLR3_STRING::append8怎么用?C++ pANTLR3_STRING::append8使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pANTLR3_STRING
的用法示例。
在下文中一共展示了pANTLR3_STRING::append8方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
static void
defineDotEdges(pANTLR3_BASE_TREE_ADAPTOR adaptor, void * t, pANTLR3_STRING dotSpec)
{
// How many nodes are we talking about?
//
int nCount;
int i;
if (t == NULL)
{
// No tree, so do nothing
//
return;
}
// Count the nodes
//
nCount = adaptor->getChildCount(adaptor, t);
if (nCount == 0)
{
// This will already have been included as a child of another node
// so there is nothing to add.
//
return;
}
// For each child, define an edge from this parent, then process
// and children of this child in the same way
//
for (i=0; i<nCount; i++)
{
pANTLR3_BASE_TREE child;
char buff[128];
// Next child
//
child = adaptor->getChild(adaptor, t, i);
// Create the edge relation
//
sprintf(buff, "\t\tn%p -> n%p\t\t// ", t, child);
dotSpec->append8(dotSpec, buff);
// Document the relationship
//
dotSpec->appendS(dotSpec, adaptor->getText(adaptor, t));
dotSpec->append8(dotSpec, " -> ");
dotSpec->appendS(dotSpec, adaptor->getText(adaptor, child));
dotSpec->append8(dotSpec, "\n");
// Define edges for this child
//
defineDotEdges(adaptor, child, dotSpec);
}
// Done
//
return;
}
示例2: sprintf
static pANTLR3_UINT8
addiUTF16 (pANTLR3_STRING string, ANTLR3_INT32 i)
{
ANTLR3_UINT8 newbit[32];
sprintf((char *)newbit, "%d", i);
return string->append8(string, (const char *)newbit);
}
示例3:
static pANTLR3_UINT8
insertUTF16_8 (pANTLR3_STRING string, ANTLR3_UINT32 point, const char * newbit)
{
ANTLR3_UINT32 len;
ANTLR3_UINT32 count;
pANTLR3_UINT16 inPoint;
if (point >= string->len)
{
return string->append8(string, newbit);
}
len = (ANTLR3_UINT32)strlen(newbit);
if (len == 0)
{
return string->chars;
}
if (string->size < (string->len + len + 1))
{
string->chars = (pANTLR3_UINT8) ANTLR3_REALLOC((void *)string->chars, (ANTLR3_UINT32)(sizeof(ANTLR3_UINT16)*(string->len + len + 1)));
string->size = string->len + len + 1;
}
/* Move the characters we are inserting before, including the delimiter
*/
ANTLR3_MEMMOVE((void *)(((pANTLR3_UINT16)string->chars) + point + len), (void *)(((pANTLR3_UINT16)string->chars) + point), (ANTLR3_UINT32)(sizeof(ANTLR3_UINT16)*(string->len - point + 1)));
string->len += len;
inPoint = ((pANTLR3_UINT16)(string->chars))+point;
for (count = 0; count<len; count++)
{
*(inPoint + count) = (ANTLR3_UINT16)(*(newbit+count));
}
return string->chars;
}
示例4: switch
static void
defineDotEdges(pANTLR3_BASE_TREE_ADAPTOR adaptor, void * t, pANTLR3_STRING dotSpec)
{
// How many nodes are we talking about?
//
int nCount;
int i;
if (t == NULL)
{
// No tree, so do nothing
//
return;
}
// Count the nodes
//
nCount = adaptor->getChildCount(adaptor, t);
if (nCount == 0)
{
// This will already have been included as a child of another node
// so there is nothing to add.
//
return;
}
// For each child, define an edge from this parent, then process
// and children of this child in the same way
//
for (i=0; i<nCount; i++)
{
pANTLR3_BASE_TREE child;
char buff[128];
pANTLR3_STRING text;
int j;
// Next child
//
child = (pANTLR3_BASE_TREE)adaptor->getChild(adaptor, t, i);
// Create the edge relation
//
sprintf(buff, "\t\tn%p -> n%p\t\t// ", t, child);
dotSpec->append8(dotSpec, buff);
// Document the relationship
//
text = adaptor->getText(adaptor, t);
for (j = 0; j < (ANTLR3_INT32)(text->len); j++)
{
switch(text->charAt(text, j))
{
case '"':
dotSpec->append8(dotSpec, "\\\"");
break;
case '\n':
dotSpec->append8(dotSpec, "\\n");
break;
case '\r':
dotSpec->append8(dotSpec, "\\r");
break;
default:
dotSpec->addc(dotSpec, text->charAt(text, j));
break;
}
}
dotSpec->append8(dotSpec, " -> ");
text = adaptor->getText(adaptor, child);
for (j = 0; j < (ANTLR3_INT32)(text->len); j++)
{
switch(text->charAt(text, j))
{
case '"':
dotSpec->append8(dotSpec, "\\\"");
break;
case '\n':
dotSpec->append8(dotSpec, "\\n");
break;
case '\r':
dotSpec->append8(dotSpec, "\\r");
break;
default:
//.........这里部分代码省略.........