public override Node VisitPowExpression([NotNull] FormulaGrammerParser.PowExpressionContext context) { int idxExponent = 0; if (this.configuration.IsPowSupportDisabled) { ParsingException.ThrowInvalidTokenException(context.POW(0).Symbol); } var signedAtom = context.signedAtom(idxExponent++); var node = this.Visit(signedAtom); while ((signedAtom = context.signedAtom(idxExponent++)) != null) { var exponent = this.Visit(signedAtom); node = new PowerNode(node, exponent); } return(node); }
/// <summary> /// Visit a parse tree produced by <see cref="FormulaGrammerParser.powExpression"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitPowExpression([NotNull] FormulaGrammerParser.PowExpressionContext context) { return(VisitChildren(context)); }
/// <summary> /// Enter a parse tree produced by <see cref="FormulaGrammerParser.powExpression"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void EnterPowExpression([NotNull] FormulaGrammerParser.PowExpressionContext context) { }