本文整理汇总了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) //
//.........这里部分代码省略.........