Exemplo n.º 1
0
 public override void Check(TEnv env)
 {
     if (e.Check(env) != Type.intType)
     {
         throw new CompileException("Non-int recipient {0} in read", e);
     }
 }
Exemplo n.º 2
0
        public override Type Check(TEnv env)
        {
            Type lhsType = lhs.Check(env), rhsType = rhs.Check(env);

            if (!lhsType.Equals(rhsType))
            {
                throw new CompileException(String.Format("Assignment of ({0}) to ({1})",
                                                         rhsType, lhsType));
            }
            else
            {
                return(lhsType);
            }
        }
Exemplo n.º 3
0
 public override Type Check(TEnv env)
 {
     return(new PointerType(e.Check(env)));
 }