예제 #1
0
 void CommonArrayExpression(FunctionCallPart part)
 {
     Expect(53);
     part.SetStartPoint(t, false);
     if (StartOf(4))
     {
         FunctionCallPart elementPart = new FunctionCallPart();
         CommonExpression(elementPart);
         part.AddArgumentPart(elementPart);
         while (la.kind == 54)
         {
             Get();
             elementPart = new FunctionCallPart();
             CommonExpression(elementPart);
             part.AddArgumentPart(elementPart);
         }
     }
     Expect(55);
     part.SetEndPoint(t, true);
 }
예제 #2
0
        void CommonArguments(FunctionCallPart part)
        {
            Expect(9);
            part.SetStartPoint(t, false);
            part.SetEndPoint(la, true);
            System.Drawing.Point openBracket = PointFromToken(t, false);

            if (StartOf(4))
            {
                FunctionCallPart parentCallPart = part;
                part = new FunctionCallPart();
                part.SetStartPoint(t, false);

                CommonExpression(part);
                part.SetEndPoint(t, false);
                parentCallPart.AddArgumentPart(part);
                part = parentCallPart;

                while (WeakSeparator(54, 4, 5))
                {
                    parentCallPart = part;
                    part           = new FunctionCallPart();
                    part.SetStartPoint(t, false);

                    CommonExpression(part);
                    part.SetEndPoint(la, true);
                    parentCallPart.AddArgumentPart(part);
                    part = parentCallPart;
                }
            }
            if (part.HasArgument == false)
            {
                // See "AddDefaultArgument" for details.
                System.Drawing.Point closeBracket = PointFromToken(la, true);
                part.AddDefaultArgument(openBracket, closeBracket);
            }

            Expect(10);
            part.SetEndPoint(t, true);
        }