private static bool NewDeclaration() { 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.NewObj(); } Tokens.NextToken(); return(true); } else if (Tokens.GetToken().lexeme == "[") { if (semanticPass) { SemanticActions.oPush(Tokens.GetToken()); } Tokens.NextToken(); if (!Expression()) { SyntaxError(Tokens.GetToken(), "expression"); } if (Tokens.GetToken().lexeme != "]") { SyntaxError(Tokens.GetToken(), "]"); } if (semanticPass) { SemanticActions.ShuntYardAll(); SemanticActions.new_arr(); } Tokens.NextToken(); return(true); } return(false); }