MSTParser.DependencyPipe.CreateInstances C# (CSharp) Method

CreateInstances() public method

public CreateInstances ( string fileName, string featFileName ) : DependencyInstance[]
fileName string
featFileName string
return DependencyInstance[]
        public DependencyInstance[] CreateInstances(string fileName,
                                                    string featFileName)
        {
            CreateAlphabet(fileName);

            Console.WriteLine("Num Features: " + DataAlphabet.Count);

            var reader =
                new StreamReader(new FileStream(fileName, FileMode.Open), Encoding.UTF8);
            string[][] lines = ReadLines(reader);

            var lt = new List<object>();

            BinaryWriter bWriter = CreateForest
                                    ? new BinaryWriter(new FileStream(featFileName, FileMode.Create)) //In doubt
                                    : null;

            int num1 = 0;
            while (lines != null)
            {
              //      Console.WriteLine("Creating Feature Vector Instance: " + num1);

                string[] toks = lines[0];
                string[] pos = lines[1];
                string[] labs = lines[2];
                string[] deps = lines[3];

                var deps1 = new int[deps.Length];
                for (int i = 0; i < deps.Length; i++)
                    deps1[i] = int.Parse(deps[i]);

                FeatureVector fv = CreateFeatureVector(toks, pos, labs, deps1);

                var pti_ = new DependencyInstance(toks, pos, labs, fv);

                string spans = "";
                for (int i = 1; i < deps.Length; i++)
                {
                    spans += deps[i] + "|" + i + ":" + TypeAlphabet.LookupIndex(labs[i]) + " ";
                }
                pti_.ActParseTree = spans.Trim();

                if (CreateForest)
                    WritePossibleFeatures(pti_, bWriter);
                pti_ = null;

                lt.Add(new DependencyInstance(toks.Length));

                lines = ReadLines(reader);
                num1++;
            }

            CloseAlphabets();

            var pti = new DependencyInstance[lt.Count];
            for (int i = 0; i < pti.Length; i++)
            {
                pti[i] = (DependencyInstance) lt[i];
            }

            if (CreateForest)
                bWriter.Close();

            reader.Close();

            return pti;
        }