Esempio n. 1
0
 public override object VisitVarListExprNode(VarListExprNode n)
 {
     Visit(n.lower); Visit(n.upper); Visit(n.stepsize);
     semanticChecker.CheckAndReport(n.lower.Type.Match(n.upper.Type), n.sourceLoc, "Type mismatch");
     semanticChecker.CheckAndReport(n.lower.Type.Match(n.stepsize.Type), n.sourceLoc, "Type mismatch");
     return(null);
 }
Esempio n. 2
0
        public override MIPSRegister VisitVarListExprNode(VarListExprNode n)
        {
            var reg = GetMIPSRegister();


            return(reg);
        }
Esempio n. 3
0
 public override object VisitVarListExprNode(VarListExprNode n)
 {
     Visit(n.lower);
     Visit(n.upper);
     Visit(n.stepsize);
     n.Type = TypeSymbol.ARRAY_SYMBOL(n.lower.Type);
     return(null);
 }
Esempio n. 4
0
        public virtual T VisitVarListExprNode(VarListExprNode n)
        {
            T a = n.lower.Accept(this);
            T b = n.upper.Accept(this);
            T c = n.stepsize.Accept(this);

            return(default(T));
        }
Esempio n. 5
0
        public object VisitVarListExprNode(VarListExprNode n)
        {
            WriteLine(n.kind + " - " + n.Type);
            Indent();
            Visit(n.lower);
            Visit(n.upper);
            Visit(n.stepsize);
            Dedent();

            return(null);
        }
Esempio n. 6
0
            public override LData VisitVarListExprNode(VarListExprNode n)
            {
                LData upper    = Visit(n.upper);
                LData lower    = Visit(n.lower);
                LData stepsize = Visit(n.stepsize);

                LData current = LDataMaker.GetDataFor(n.Type.ArrayType);

                current.SetValue(lower.GetValue());

                List <LData> arr = new List <LData>();

                while (current.GetValue() < upper.GetValue())
                {
                    arr.Add(current);
                    LData prev = current;
                    current = LDataMaker.GetDataFor(n.Type.ArrayType);
                    current.SetValue(prev.GetValue() + stepsize.GetValue());
                }

                return(new LArray(arr));
            }
Esempio n. 7
0
 public override LLVMRegister VisitVarListExprNode(VarListExprNode n)
 {
     throw new NotImplementedException();
 }