void IParserPostProcessor.Postprocess(ParserPostProcessParams postProcessorParams) { context_ = new TreeContext(postProcessorParams); string outDir = PUtils.MakeFileName("", context_.generatorParams_.outputDirectory_, "DefiniteLengthForm"); if (!Directory.Exists(outDir)) { Directory.CreateDirectory(outDir); } string outFile = PUtils.MakeFileName(context_.generatorParams_.sourceFileTitle_, outDir); using (BinaryWriter rw = new BinaryWriter(File.Open(outFile, FileMode.Create))) { WriteDefinite(rw, context_.generatorParams_.root_); context_.generatorParams_.errOut_.WriteLine("INFO from <BER_DEFINITE_ENCODER> {0} bytes written to '{1}'", rw.BaseStream.Position, outFile); } }