public override Node VisitFormal([NotNull] coolgrammarParser.FormalContext context)
        {
            var id = new Id(context.ID().GetText());
            var t  = new Type_cool(context.TYPE().GetText());

            return(new Formal(id, t));
        }
 public bool Visit(Type_cool node)
 {
     if (!Types.Contains(node.s))
     {
         Logger += "En la expresion " + node.ToString() + "-> error de definicion (clase '" + node.s + "' no esta definida) \n";
         return(false);
     }
     return(true);
 }
        public override Node VisitDispatch([NotNull] coolgrammarParser.DispatchContext context)
        {
            Expr      exp = (Expr)Visit(context.expr());
            Type_cool t   = null;

            if (context.TYPE() != null)
            {
                t = new Type_cool(context.TYPE().GetText());
            }
            Id  id   = new Id(context.ID().GetText());
            var list = new List <Expr>();

            foreach (var item in context.args_call().expr())
            {
                var v = Visit(item);
                list.Add((Expr)v);
            }

            return(new Dispatch(exp, t, new Call_Method(id, new Lista <Expr>(list))));
        }
Esempio n. 4
0
 public string Visit(Type_cool node)
 {
     throw new NotImplementedException();
 }
Esempio n. 5
0
 public IType Visit(Type_cool node)
 {
     return(Context.GetType(node.s));
 }
Esempio n. 6
0
 public bool Visit(Type_cool node)
 {
     throw new System.NotImplementedException();
 }