当前位置: 首页>>代码示例>>C#>>正文


C# System.Windows.Forms.TreeNode.Expand方法代码示例

本文整理汇总了C#中System.Windows.Forms.TreeNode.Expand方法的典型用法代码示例。如果您正苦于以下问题:C# System.Windows.Forms.TreeNode.Expand方法的具体用法?C# System.Windows.Forms.TreeNode.Expand怎么用?C# System.Windows.Forms.TreeNode.Expand使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Windows.Forms.TreeNode的用法示例。


在下文中一共展示了System.Windows.Forms.TreeNode.Expand方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: MethodDecl

        //void Main() int x,i; {val = new Table;....}
        /* MethodDecl = ( Type | "void" ) ident "(" [ FormPars ] ")"
         *              { VarDecl } Block .
         */
        // First(MethodDecl)={ident, void}; Follow(MethodDecl)={"}"}
        static void MethodDecl(System.Windows.Forms.TreeNode padre)
        {
            /////// padre = "MethodDeclsOpc"
            System.Windows.Forms.TreeNode hijo1 = new System.Windows.Forms.TreeNode("MethodDecl"); //luego hay que sacarlo y modificar la rama del ident
            //padre.Nodes.Add(hijo1);
            ////////
            //MessageBoxCon3Preg();
            System.Windows.Forms.TreeNode methodDecl = new System.Windows.Forms.TreeNode("MethodDecl"); //cuelga ESTE NODO DESPUES DE pintar el void

            Struct type = new Struct(Struct.Kinds.None); //Pone por defecto void
            if (la == Token.VOID || la == Token.IDENT)
            {
            if (la == Token.VOID)
            {

                Check(Token.VOID); //token = void laToken = Main
                Code.coloreaConRojo("token");
                //Code.coloreaConRojo(true);  //pinta void //incluye if (muestraProducciones) MessageBoxCon3Preg();
                //Code.cargaProgDeLaGram("MethodDeclsOpc = MethodDecl MethodDeclsOpc.");

                //Una vez que encuentra "void", infiere que debe usar la opcion: methodDecl.... etc
                padre.Nodes.Add(methodDecl);
                padre.Expand();
                ////////
                if (muestraProducciones) MessageBoxCon3Preg();

                Code.seleccLaProdEnLaGram(8);  //MethodDecl = TypeOrVoid  ident "(" PossFormPars ")" Block.
                if (muestraProducciones) MessageBoxCon3Preg();

                System.Windows.Forms.TreeNode typeOrVoid = new System.Windows.Forms.TreeNode("TypeOrVoid"); //ya ha pintado el void
                methodDecl.Nodes.Add(typeOrVoid);
                methodDecl.Expand();
                if (muestraProducciones) MessageBoxCon3Preg();

                //Code.cargaProgDeLaGram("MethodDecl = TypeOrVoid ident '(' Pars ')' PosDeclars Block.");

                Code.seleccLaProdEnLaGram(9);  // 9.TypeOrVoid  = Type | "void“.
                if (muestraProducciones) MessageBoxCon3Preg();

                //como ya ha verificado "void",

                typeOrVoid.Nodes.Add("'void'");
                typeOrVoid.Expand();
                if (muestraProducciones) MessageBoxCon3Preg();

                type = Tab.noType; //  para void
            }
            else
                if (la == Token.IDENT)
                {
                    Type(out type);  //  token = UnTipo laToken = Main
                    Code.cargaProgDeLaGram("TypeOrVoid  = Type.");
                    Code.coloreaConRojo("token");
                    //Code.coloreaConRojo(true);
                    ///////////
                    //hay que cambiar hijo1 por methodDecl, e hijo2 por...
                    System.Windows.Forms.TreeNode hijo2 = new System.Windows.Forms.TreeNode("TypeOrVoid = Type");
                    hijo1.Nodes.Add(hijo2);
                    hijo2.Nodes.Add("Type= "+type.kind.ToString());
                    //////////
                }
            ///////
            methodDecl.Nodes.Add("ident");
            if (muestraProducciones) MessageBoxCon3Preg();

            Check(Token.IDENT);  //Main por ej.  //token = Main, laToken = "("
            Code.coloreaConRojo("token");
            //Code.coloreaConRojo(true);

            //hijo1.Nodes.Add("ident");
            //////
            curMethod = Tab.Insert(Symbol.Kinds.Meth, token.str, type);//inserta void Main
            // que pasa si hubieran parametros?
            Tab.OpenScope(curMethod);
            // tengo que insertar un método en la tabla de símbolo
            // todos los parámetros son locales
            //tipoSimbolo = Symbol.Kinds.Local;
            ////
            methodDecl.Nodes.Add("'('");
            if (muestraProducciones) MessageBoxCon3Preg();
            ////

            Check(Token.LPAR);  //Si Main() => no tiene FormPars
            Code.coloreaConRojo("token");
            //Code.coloreaConRojo(true);

            /////////
            System.Windows.Forms.TreeNode pars = new System.Windows.Forms.TreeNode("Pars");
            methodDecl.Nodes.Add(pars);
            if (muestraProducciones) MessageBoxCon3Preg();

            Code.seleccLaProdEnLaGram(10);  //10.Pars = . | FormPar CommaFormParsOpc.
            if (muestraProducciones) MessageBoxCon3Preg();

            if (la == Token.IDENT) //
//.........这里部分代码省略.........
开发者ID:MatiaseTudela,项目名称:compi-version-8-2013,代码行数:101,代码来源:Parser.cs


注:本文中的System.Windows.Forms.TreeNode.Expand方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。