Example #1
0
        public override TypeLibrary Load(IPlatform platform, TypeLibrary dstLib)
        {
            var ser    = SerializedLibrary.CreateSerializer();
            var slib   = (SerializedLibrary)ser.Deserialize(stream);
            var tldser = new TypeLibraryDeserializer(platform, true, dstLib);
            var tlib   = tldser.Load(slib);

            return(tlib);
        }
Example #2
0
        public override TypeLibrary Load(IPlatform platform, TypeLibrary dstLib)
        {
            var rdr          = new StreamReader(stream);
            var parser       = platform.CreateCParser(rdr);
            var symbolTable  = CreateSymbolTable(platform, dstLib);
            var declarations = parser.Parse();

            foreach (var decl in declarations)
            {
                symbolTable.AddDeclaration(decl);
            }
            var slib = new SerializedLibrary
            {
                Types      = symbolTable.Types.ToArray(),
                Procedures = symbolTable.Procedures.ToList(),
            };
            var tldser = new TypeLibraryDeserializer(platform, true, dstLib);
            var tlib   = tldser.Load(slib);

            return(tlib);
        }