コード例 #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));
                }
            }
        }
コード例 #2
0
ファイル: WineSpecFileLoader.cs プロジェクト: feelworld/reko
 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());
 }
コード例 #3
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));
         }
     }
 }