예제 #1
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); 
	}
예제 #2
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);                              
	}