コード例 #1
0
ファイル: CmdletNode.cs プロジェクト: JamesTryand/pash
        public CmdletNode(Parser theParser, AnyWordNode anyWord)
            : base(theParser)
        {
            CmdletName = anyWord.Text;

            Params = ParamsListNode.GetParamsList(theParser);
        }
コード例 #2
0
ファイル: ParamsListNode.cs プロジェクト: JamesTryand/pash
        public static ParamsListNode GetParamsList(Parser theParser)
        {
            ParamsListNode paramsList = null;

            if (theParser != null)
            {
                object objLeft = theParser.GetReductionSyntaxNode(0);
                object objRight = theParser.GetReductionSyntaxNode(1);

                if (objLeft is ParamsListNode)
                {
                    paramsList = (ParamsListNode)objLeft;
                    paramsList.AddParam(objRight);
                }
                else if (objRight is ParamsListNode)
                {
                    paramsList = (ParamsListNode)objRight;
                    paramsList.Insert(0, objLeft);
                }
            }

            if (paramsList == null)
            {
                paramsList = new ParamsListNode(theParser);

                if (theParser != null)
                {
                    paramsList.AddParamFromParser(theParser, 0);
                    paramsList.AddParamFromParser(theParser, 1);
                }
            }

            return paramsList;
        }
コード例 #3
0
ファイル: ParamsListNode.cs プロジェクト: JamesTryand/pash
        public static ParamsListNode GetParamsList(Parser theParser)
        {
            ParamsListNode paramsList = null;

            if (theParser != null)
            {
                object objLeft  = theParser.GetReductionSyntaxNode(0);
                object objRight = theParser.GetReductionSyntaxNode(1);

                if (objLeft is ParamsListNode)
                {
                    paramsList = (ParamsListNode)objLeft;
                    paramsList.AddParam(objRight);
                }
                else if (objRight is ParamsListNode)
                {
                    paramsList = (ParamsListNode)objRight;
                    paramsList.Insert(0, objLeft);
                }
            }

            if (paramsList == null)
            {
                paramsList = new ParamsListNode(theParser);

                if (theParser != null)
                {
                    paramsList.AddParamFromParser(theParser, 0);
                    paramsList.AddParamFromParser(theParser, 1);
                }
            }

            return(paramsList);
        }
コード例 #4
0
ファイル: CmdletNode.cs プロジェクト: JamesTryand/pash
        public CmdletNode(Parser theParser)
            : base(theParser)
        {
            if (Token(theParser, 0) is AnyWordNode)
            {
                CmdletName = ((AnyWordNode)Token(theParser, 0)).Text;
            }

            Params = ParamsListNode.GetParamsListFromRight(theParser);
        }
コード例 #5
0
ファイル: ParamsListNode.cs プロジェクト: JamesTryand/pash
        public static ParamsListNode GetParamsListFromRight(Parser theParser)
        {
            object objRight = theParser.GetReductionSyntaxNode(1);

            ParamsListNode paramsList = null;
            if (objRight is ParamsListNode)
            {
                paramsList = (ParamsListNode)objRight;
            }
            else
            {
                paramsList = new ParamsListNode(theParser);
                paramsList.AddParamFromParser(theParser, 1);
            }

            return paramsList;
        }
コード例 #6
0
ファイル: ParamsListNode.cs プロジェクト: JamesTryand/pash
        public static ParamsListNode GetParamsListFromRight(Parser theParser)
        {
            object objRight = theParser.GetReductionSyntaxNode(1);

            ParamsListNode paramsList = null;

            if (objRight is ParamsListNode)
            {
                paramsList = (ParamsListNode)objRight;
            }
            else
            {
                paramsList = new ParamsListNode(theParser);
                paramsList.AddParamFromParser(theParser, 1);
            }

            return(paramsList);
        }
コード例 #7
0
 // <cmletParamsList> ::= <ParameterArgumentToken> <cmletParamsList>
 partial void CreateRule_Rule_Cmletparamslist(Parser theParser, ASTNodeContainer astNode)
 {
     astNode.Node = ParamsListNode.GetParamsList(theParser);
 }
コード例 #8
0
 // <ParameterArgumentToken> ::= <valueRule>
 partial void CreateRule_Rule_Parameterargumenttoken(Parser theParser, ASTNodeContainer astNode)
 {
     astNode.Node = ParamsListNode.GetParamsList(theParser);
 }