本文整理汇总了C++中pANTLR3_INT_STREAM::consume方法的典型用法代码示例。如果您正苦于以下问题:C++ pANTLR3_INT_STREAM::consume方法的具体用法?C++ pANTLR3_INT_STREAM::consume怎么用?C++ pANTLR3_INT_STREAM::consume使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pANTLR3_INT_STREAM
的用法示例。
在下文中一共展示了pANTLR3_INT_STREAM::consume方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
/** \brief Rewind the lexer input to the state specified by the supplied mark.
*
* \param[in] input Input stream context pointer
*
* \remark
* Assumes ASCII (or at least, 8 Bit) input stream.
*/
static void
antlr3AsciiSeek (pANTLR3_INT_STREAM is, ANTLR3_MARKER seekPoint)
{
ANTLR3_INT32 count;
pANTLR3_INPUT_STREAM input;
input = ANTLR3_FUNC_PTR(((pANTLR3_INPUT_STREAM) is->super));
/* If the requested seek point is less than the current
* input point, then we assume that we are resetting from a mark
* and do not need to scan, but can just set to there.
*/
if (seekPoint <= (ANTLR3_MARKER)(input->nextChar))
{
input->nextChar = ((pANTLR3_UINT8) seekPoint);
}
else
{
count = (ANTLR3_UINT32)(seekPoint - (ANTLR3_MARKER)(input->nextChar));
while (count--)
{
is->consume(is);
}
}
}
示例2:
/// \brief Rewind the lexer input to the state specified by the supplied mark.
///
/// \param[in] input Input stream context pointer
///
/// \remark
/// Assumes ASCII (or at least, 8 Bit) input stream.
///
static void
antlr3UCS2Seek (pANTLR3_INT_STREAM is, ANTLR3_MARKER seekPoint)
{
ANTLR3_INT32 count;
pANTLR3_INPUT_STREAM input;
input = ((pANTLR3_INPUT_STREAM) is->super);
// If the requested seek point is less than the current
// input point, then we assume that we are resetting from a mark
// and do not need to scan, but can just set to there.
//
if (seekPoint <= (ANTLR3_MARKER)(input->nextChar))
{
input->nextChar = (void *)seekPoint;
}
else
{
count = (ANTLR3_UINT32)((seekPoint - (ANTLR3_MARKER)(input->nextChar)) / 2); // 16 bits per character in UCS2
while (count--)
{
is->consume(is);
}
}
}