Exemplo n.º 1
0
        private Expression CompilePredefinedConstantExpression()
        {
            PushPosition();

            if (!IsWord)
            {
                ThrowException("Expect word.");
            }

            string name = GetWord();

            Move();

            object value = MathyConstants.GetValue(name);

            if (value == null)
            {
                ThrowException(string.Format("Undefined constant {0}", name));
            }

            Expression expression = new PredefinedConstantExpression("#" + name, value, PeekPos(), Pos);

            PopPosition();

            return(expression);
        }
 private object EvalutePredefinedConstantExpression(PredefinedConstantExpression e, VariableContext context)
 {
     return(e.Value);
 }
Exemplo n.º 3
0
 private void CheckPredefinedConstantExpression(PredefinedConstantExpression e, TypeCheckingContext context)
 {
     e.Type = e.Value.GetType();
 }