本文整理汇总了C++中ScalarExpressionPtr::onParse方法的典型用法代码示例。如果您正苦于以下问题:C++ ScalarExpressionPtr::onParse方法的具体用法?C++ ScalarExpressionPtr::onParse怎么用?C++ ScalarExpressionPtr::onParse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ScalarExpressionPtr
的用法示例。
在下文中一共展示了ScalarExpressionPtr::onParse方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addEncap
void Parser::addEncap(Token *out, Token *list, Token *expr, int type) {
ExpressionListPtr expList;
if (list->exp) {
expList = dynamic_pointer_cast<ExpressionList>(list->exp);
} else {
expList = NEW_EXP0(ExpressionList);
}
ExpressionPtr exp;
if (type == -1) {
exp = expr->exp;
} else {
ScalarExpressionPtr scalar =
NEW_EXP(ScalarExpression, T_ENCAPSED_AND_WHITESPACE, expr->text(), true);
scalar->onParse(m_ar);
exp = scalar;
}
expList->addElement(exp);
out->exp = expList;
}
示例2: onScalar
void Parser::onScalar(Token *out, int type, Token *scalar) {
ScalarExpressionPtr exp;
switch (type) {
case T_STRING:
case T_LNUMBER:
case T_DNUMBER:
case T_LINE:
case T_FILE:
case T_CLASS_C:
case T_METHOD_C:
case T_FUNC_C:
exp = NEW_EXP(ScalarExpression, type, scalar->text());
break;
case T_CONSTANT_ENCAPSED_STRING:
exp = NEW_EXP(ScalarExpression, type, scalar->text(), true);
break;
default:
ASSERT(false);
}
exp->onParse(m_ar);
out->exp = exp;
}