Esempio n. 1
0
        public override TypeLibrary Load(Platform platform)
        {
            this.platform = platform;
            var loader = new TypeLibraryLoader(platform, true);

            loader.SetModuleName(DefaultModuleName(filename));
            for (;;)
            {
                var tok = Get();
                switch (tok.Type)
                {
                case TokenType.EOF: return(loader.BuildLibrary());

                case TokenType.EXPORTS: ParseExports(loader); break;

                case TokenType.LIBRARY: ParseLibrary(loader); break;

                default: throw new NotImplementedException(
                              string.Format("Unknown token {0} ({1}) on line {2}.",
                                            tok.Type,
                                            tok.Text,
                                            tok.LineNumber));
                }
            }
        }
Esempio n. 2
0
 private void ParseLibrary(TypeLibraryLoader lib)
 {
     if (Peek().Type == TokenType.Id)
     {
         lib.SetModuleName(Get().Text);
     }
     if (PeekAndDiscard(TokenType.BASE))
     {
         throw new NotImplementedException();
     }
 }
Esempio n. 3
0
 public TypeLibrary Load(Platform platform, string module)
 {
     this.platform = platform;
     this.tlLoader = new TypeLibraryLoader(platform, true);
     tlLoader.SetModuleName(module);
     for (;;)
     {
         var tok = Peek();
         if (tok.Type == TokenType.EOF)
         {
             break;
         }
         if (PeekAndDiscard(TokenType.NL))
         {
             continue;
         }
         ParseLine();
     }
     return(tlLoader.BuildLibrary());
 }
Esempio n. 4
0
 public override TypeLibrary Load()
 {
     var loader = new TypeLibraryLoader(arch, true);
     loader.SetModuleName(DefaultModuleName(filename));
     for (; ; )
     {
         var tok = Get();
         switch (tok.Type)
         {
         case TokenType.EOF: return loader.BuildLibrary();
         case TokenType.EXPORTS: ParseExports(loader); break;
         case TokenType.LIBRARY: ParseLibrary(loader); break;
         default: throw new NotImplementedException(
             string.Format("Unknown token {0} ({1}) on line {2}.",
             tok.Type,
             tok.Text,
             tok.LineNumber));
         }
     }
 }
Esempio n. 5
0
 private void ParseLibrary(TypeLibraryLoader lib)
 {
     if (Peek().Type == TokenType.Id)
     {
         lib.SetModuleName(Get().Text);
     }
     if (PeekAndDiscard(TokenType.BASE))
     {
         throw new NotImplementedException();
     }
 }