public override object VisitAtom([NotNull] MiniSQLParser.AtomContext context) { Expression obj = new Expression(); // TODO: review if (context.scientific() != null) { AtomValue atomValue = (AtomValue)Visit(context.scientific()); obj.Operator = Operator.AtomConcreteValue; obj.ConcreteValue = atomValue; } else if (context.variable() != null) { string variableName = context.variable().GetText(); obj.Operator = Operator.AtomVariable; obj.AttributeName = variableName; } else { throw new System.NotImplementedException(); } return(obj); }
/// <summary> /// Enter a parse tree produced by <see cref="MiniSQLParser.atom"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void EnterAtom([NotNull] MiniSQLParser.AtomContext context) { }
/// <summary> /// Visit a parse tree produced by <see cref="MiniSQLParser.atom"/>. /// <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 VisitAtom([NotNull] MiniSQLParser.AtomContext context) { return(VisitChildren(context)); }