public static GATNode _declaration(this LL1Processor ll1) { var node = new GATNode(); var offset = 2; // node.name = "global"; CodeGenerator.AddLabel("global", 0); // switch (WordContainer.GetWordType(offset)) { case WordType.SEMICOLON: { var varDeclaration = ll1._varDeclaration(); node.AddChild(varDeclaration); node.generator = Declaration1; break; } case WordType.BRACKET_L: { var funDeclaration = ll1._funDeclaration(); node.AddChild(funDeclaration); node.generator = Declaration2; break; } default: { throw new BNFException(); } } return(node); }