virtual public IDensity <G, M, RF> VisitAtom(DensityExpressionGrammarParser.AtomContext ctx) { var isNumber = ctx.number() != null; var isVariable = ctx.variable() != null; var isDensity = ctx.LPAREN() != null; var isMultiDensity = ctx.multiDensityList() != null; IDensity <G, M, RF> density; if (isNumber) { density = VisitNumber(ctx.number()); } else if (isVariable) { var vDensity = VisitVariable(ctx.variable()); density = vDensity; } else if (isDensity) { density = VisitDensity(ctx.density()); } else if (isMultiDensity) { density = VisitMultiDensity(ctx.multiDensityList()); } else { throw new NotImplementedException(); } return(density); }
/// <summary> /// Exit a parse tree produced by <see cref="DensityExpressionGrammarParser.atom"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitAtom([NotNull] DensityExpressionGrammarParser.AtomContext context) { }