public override void InAArrayTempType(AArrayTempType node)
 {
     if (node.GetIntDim() == null && !Util.HasAncestor<ANewExp>(node))
     {
         node = node;
         /*bool valid = true;
         int val = FoldInt(node.GetDimention(), ref valid);
         if (!valid)
         {
             errors.Add(new ErrorCollection.Error(node.GetToken(), "The dimension must be a constant expression."));
             throw new ParserException(null, null);
         }
         node.SetIntDim(new TIntegerLiteral(val.ToString()));*/
     }
     base.InAArrayTempType(node);
 }
예제 #2
0
 public override void CaseAArrayTempType(AArrayTempType node)
 {
     InAArrayTempType(node);
     if (node.GetIntDim() != null)
     {
         node.GetIntDim().Apply(this);
     }
     if (node.GetDimention() != null)
     {
         node.GetDimention().Apply(this);
     }
     if (node.GetType() != null)
     {
         node.GetType().Apply(this);
     }
     if (node.GetToken() != null)
     {
         node.GetToken().Apply(this);
     }
     OutAArrayTempType(node);
 }
 public override void CaseAArrayTempType(AArrayTempType node)
 {
     node.GetType().Apply(this);
     Write("[" + node.GetIntDim().Text + "]");
 }