You instantiate the parser array:
public static parserclass[] parser = new parserclass[1000];
but you never instantiate the items inside the class:
for (int i = 0; i < parser.Length; i++)
{
parser[i] = new parserclass()
}
A few other notes:
Your code would be much cleaner if you split the line parsing code from code that iterates over the file. (And break it down into sub-tasks generally.
You will also have cleaner code with a generic
List<string></string>
and
List<parserclass></parserclass>
, you can add items to these without declaring fixed sized arrays (that might be too small, and are almost definitely too large). The magic number guess [1000] and [7000] is likely to be wrong, unless you know there are 7000 words per line and 1000 lines exactly per file.
Even if you do not use List<t> you should change
string[] words=new string[7000];
words = input.Split(delimiter);
to
string[] words = input.Split(delimiter);
Namespaces and classnames should be in CamelCase in .net.