internal PipelineNode NormilizeToPipeline()
        {
            if (ErrorString != null)
            {
                return(null);
            }

            if (SyntaxTree == null)
            {
                return(PipelineNode.GetPipeline(m_parser));
            }

            ASTNode rootNode = SyntaxTree;

            if (rootNode is PipelineNode)
            {
                return(rootNode as PipelineNode);
            }

            PipelineNode pipeline = PipelineNode.GetPipeline(null);

            if (rootNode is AssignmentNode)
            {
                pipeline.AddItem(rootNode);
            }
            else
            {
                CmdletNode cmdlet = rootNode as CmdletNode;

                if (cmdlet == null)
                {
                    cmdlet = new CmdletNode(null, rootNode as AnyWordNode);
                }

                pipeline.AddItem(cmdlet);
            }

            return(pipeline);

            //parser.SyntaxTree.Execute(runtime);
        }
 // <pipelineRule> ::= <cmdletCall> | <pipelineRule>
 partial void CreateRule_Rule_Pipelinerule_Pipe(Parser theParser, ASTNodeContainer astNode)
 {
     astNode.Node = PipelineNode.GetPipeline(theParser);
 }