public static void Encode(string dump_file, string data_name, string h_file) { PagedTableEncoder.IData data; using (TextReader r = new StreamReader(dump_file)) data = ParseDump(r); Language l = Language.C; if (h_file.EndsWith(".cs")) { l = Language.CSharp; } PagedTableEncoder pte = new PagedTableEncoder(8, 8, 16, true, "DISABLE_ASTRAL", l); pte.Process(data, "astral_index"); using (TextWriter w = new StreamWriter(h_file)) { w.WriteLine("/*"); w.WriteLine(" * The {0}* tables below are automatically generated", data_name); w.WriteLine(" * by create-category-table(.cs), available in the mcs"); w.WriteLine(" * sources. DO NOT EDIT!"); w.WriteLine(" */"); w.WriteLine(); pte.WriteDefinitions(l, data_name, w); } }
public static void Encode (string dump_file, string data_name, string h_file) { PagedTableEncoder.IData data; using (TextReader r = new StreamReader (dump_file)) data = ParseDump (r); PagedTableEncoder pte = new PagedTableEncoder (8, 8, 16, true, "DISABLE_ASTRAL"); pte.Process (data, "astral_index"); using (TextWriter w = new StreamWriter (h_file)) { w.WriteLine ("/*"); w.WriteLine (" * The {0}* tables below are automatically generated", data_name); w.WriteLine (" * by create-category-table(.cs), available in the mcs"); w.WriteLine (" * sources. DO NOT EDIT!"); w.WriteLine (" */"); w.WriteLine (); pte.WriteDefinitions (Language.C, data_name, w); } }
public static void Dump (PagedTableEncoder.IData source, TextWriter w) { w.WriteLine ("{0}", source.Count); for (int cp = 0; cp <= MaxCodePoint; cp++) { byte cc = (byte) source [cp]; if (cc != 0) w.WriteLine ("{0} {1}", cp, cc); } }