public static GATNode _funDeclaration(this LL1Processor ll1)
        {
            var node          = new GATNode();
            var typeSpecifier = ll1._typeSpecifier();
            var id            = WordContainer.Advance(WordType.ID);

            WordContainer.Advance(WordType.BRACKET_L);
            var param = ll1._params();

            WordContainer.Advance(WordType.BRACKET_R);
            var compoundStmt = ll1._compoundStmt();

            //
            node.name = id.value;
            //
            node.generator = FunDeclaration;
            node.AddChild(typeSpecifier);       //0
            node.AddChild(id);                  //1
            node.AddChild(param);               //2
            node.AddChild(GATNode.LabelNode()); //3
            node.AddChild(compoundStmt);        //4

            return(node);
        }