public FuncionDef(SimboloAbstracto nombre, ListaParamFormal parametros, int linea, int columna, Action<Emit.ILGenerator, ListaParametros> cuerpoDelMetodo) : base(linea, columna) { this.nombre = nombre; this.parametros = parametros; this.cuerpoDelMetodo = cuerpoDelMetodo; }
//Se inicializa la lista de funciones basicas incluyendo la definicion en Intermediate Language de la funcion [FuncionesEstandar.x] private void agregarFuncBasicas() { ListaParamFormal formal; FuncionDef f; formal = new ListaParamFormal(); formal.agregarElemento(new ParamFormal(tipoEntero, new SimboloId("x", 0, 0), true, 0, 0)); f = new FuncionDef(idRead, formal, 0, 0, FuncionesEstandar.metodoFuncionRead); funcBasicas.Add(f); formal = new ListaParamFormal(); formal.agregarElemento(new ParamFormal(tipoEntero, new SimboloId("x", 0, 0), 0, 0)); f = new FuncionDef(idWrite, formal, 0, 0, FuncionesEstandar.metodoFuncionWrite); funcBasicas.Add(f); }