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)))); }
public string Visit(Type_cool node) { throw new NotImplementedException(); }
public IType Visit(Type_cool node) { return(Context.GetType(node.s)); }
public bool Visit(Type_cool node) { throw new System.NotImplementedException(); }