コード例 #1
0
        private static void AnalizarMetodos(ParseTreeNode root)
        {
            //METODO.Rule = id + TIPODATO + LISTAPARAMETROS + SENTENCIAS
            //            | rmain + TIPODATO + LISTAPARAMETROS + SENTENCIAS;
            string nombre = root.ChildNodes[0].Token.ValueString;
            string tipo   = ObtenerTipoDato(root.ChildNodes[1]);

            SingletonListas s = SingletonListas.GetInstance();
            Ambito          a = new Ambito()
            {
                Id     = nombre,
                Nombre = nombre,
                Tipo   = tipo
            };

            s.Ambitos.Add(a);

            List <Variable> pars = DeclaracionParametros(root.ChildNodes[2], nombre);

            s.AlmacenarParametros(pars, nombre);
            s.AlmacenarVariable(pars, nombre);

            AnalizarSentencias(root.ChildNodes[3], tipo, nombre);
        }