本文整理汇总了C++中CodeGen::ProcessOp方法的典型用法代码示例。如果您正苦于以下问题:C++ CodeGen::ProcessOp方法的具体用法?C++ CodeGen::ProcessOp怎么用?C++ CodeGen::ProcessOp使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CodeGen
的用法示例。
在下文中一共展示了CodeGen::ProcessOp方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ExprTail
void Parser::ExprTail(ExprRec& result) {
ExprRec leftOperand, rightOperand;
OpRec op;
switch (NextToken()) {
case PLUS_OP:
case MINUS_OP:
leftOperand.kind = result.kind;
leftOperand.ival = result.ival; /* Only allowed for */
leftOperand.s_fval = result.s_fval; /* INTs and FLOATs */
leftOperand.name = result.name;
leftOperand.var_type = result.var_type;
AddOp();
code.ProcessOp(op); /*** CODE ***/
Factor(rightOperand);
/*** CODE ***/
code.GenInfix(leftOperand, op, rightOperand, result);
ExprTail(result);
break;
case RSTAPLE:
case RBANANA:
case RMUSTACHE:
case SEMICOLON:
case COMMA:
case LT_OP:
case LE_OP:
case GT_OP:
case GE_OP:
case EQ_OP1:
case EQ_OP2:
case NE_OP:
break;
default:
SyntaxError(NextToken(), "Unknown ExpressionTail Symbol.");
}
}
示例2: CondTail
void Parser::CondTail(OpRec& op, ExprRec& e) {
switch (NextToken()) {
case LT_OP:
case LE_OP:
case GT_OP:
case GE_OP:
case EQ_OP1:
case EQ_OP2:
case NE_OP:
RelOp();
code.ProcessOp(op);
Expression(e);
break;
case RBANANA:
case SEMICOLON:
break;
default:
SyntaxError(NextToken(), "CondTail");
}
}