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); }
public override MIPSRegister VisitVarListExprNode(VarListExprNode n) { var reg = GetMIPSRegister(); return(reg); }
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); }
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)); }
public object VisitVarListExprNode(VarListExprNode n) { WriteLine(n.kind + " - " + n.Type); Indent(); Visit(n.lower); Visit(n.upper); Visit(n.stepsize); Dedent(); return(null); }
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)); }
public override LLVMRegister VisitVarListExprNode(VarListExprNode n) { throw new NotImplementedException(); }