private static bool Fn_Arr_Member() { if (Tokens.GetToken().lexeme == "(") { if (semanticPass) { SemanticActions.oPush(Tokens.GetToken()); SemanticActions.BAL(); } Tokens.NextToken(); Argument_List(); if (Tokens.GetToken().lexeme != ")") { SyntaxError(Tokens.GetToken(), ")"); } if (semanticPass) { SemanticActions.ShuntYardAll(); SemanticActions.EAL(); SemanticActions.func(); } Tokens.NextToken(); return(true); } else if (Tokens.GetToken().lexeme == "[") { if (semanticPass) { SemanticActions.oPush(Tokens.GetToken()); } currentType = "@" + currentType; Tokens.NextToken(); if (!Expression()) { SyntaxError(Tokens.GetToken(), "an expression"); } if (Tokens.GetToken().lexeme != "]") { SyntaxError(Tokens.GetToken(), "]"); } if (semanticPass) { SemanticActions.ShuntYardAll(); SemanticActions.arr(); } Tokens.NextToken(); return(true); } return(false); }