C#/.NET implementation

It's rough, and it doesn't have your latest changes in (negatives, multi-typed arrays, etc), but it parses the original sample file.