Ejemplo n.º 1
0
        public override object VisitExpressionReference(ShapPangParser.ExpressionReferenceContext context)
        {
            IValue val  = CurrentScenario.ResolveReference(context.ID().GetText(), ParsingContext.ElementScope.ElementName);
            string temp = val.GetType().ToString();

            switch (val.GetType().ToString())
            {
            case "ShapPang.Classes.Given":
                Given giv = (Given)val;
                if (giv.Description == null)
                {
                    CurrentScenario.CurrentlyBuildingExplanation += " the given " + giv.Key + " (" + giv.Value.ToString() + ")";
                }
                else
                {
                    CurrentScenario.CurrentlyBuildingExplanation += giv.Description;
                }
                break;

            case "ShapPang.Classes.Derivative":
                Derivative div = (Derivative)val;
                CurrentScenario.CurrentlyBuildingExplanation += " the derivation of " + div.Name + " (";
                if (div.Calculated == false)
                {
                    div.CalculateDerivative();
                }
                CurrentScenario.CurrentlyBuildingExplanation += " which equals " + div.Value.ToString() + ")";
                break;
            }
            return(val.Value);
        }
Ejemplo n.º 2
0
 public override object VisitExpressionReference(ShapPangParser.ExpressionReferenceContext context)
 {
     return(base.VisitExpressionReference(context));
 }