home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / n / nuweb / Source / src / pass1_c < prev    next >
Encoding:
Text File  |  1997-03-13  |  2.2 KB  |  94 lines

  1.  
  2. #line 607 "nuweb.w"
  3. #include "global.h"
  4.  
  5. #line 993 "nuweb.w"
  6. void pass1(char *file_name)
  7. {
  8.   if (verbose_flag)
  9.     fprintf(stderr, "reading %s\n", file_name);
  10.   source_open(file_name);
  11.   init_scraps();
  12.   macro_names = NULL;
  13.   file_names = NULL;
  14.   user_names = NULL;
  15.   
  16. #line 1014 "nuweb.w"
  17.   {
  18.     int c = source_get();
  19.     while (c != EOF) {
  20.       if (c == '@')
  21.         
  22. #line 1029 "nuweb.w"
  23.         {
  24.           c = source_get();
  25.           switch (c) {
  26.             case 'O':
  27.             case 'o': 
  28. #line 1055 "nuweb.w"
  29.                       {
  30.                         Name *name = collect_file_name(); /* returns a pointer to the name entry */
  31.                         int scrap = collect_scrap();      /* returns an index to the scrap */
  32.                         
  33. #line 1077 "nuweb.w"
  34.                         {
  35.                           Scrap_Node *def = (Scrap_Node *) arena_getmem(sizeof(Scrap_Node));
  36.                           def->scrap = scrap;
  37.                           def->next = name->defs;
  38.                           name->defs = def;
  39.                         }
  40.                         
  41. #line 1058 "nuweb.w"
  42.                       
  43.                       }
  44.                       
  45. #line 1033 "nuweb.w"
  46.         
  47.                       break;
  48.             case 'D':
  49.             case 'd': 
  50. #line 1064 "nuweb.w"
  51.                       {
  52.                         Name *name = collect_macro_name();
  53.                         int scrap = collect_scrap();
  54.                         
  55. #line 1077 "nuweb.w"
  56.                         {
  57.                           Scrap_Node *def = (Scrap_Node *) arena_getmem(sizeof(Scrap_Node));
  58.                           def->scrap = scrap;
  59.                           def->next = name->defs;
  60.                           name->defs = def;
  61.                         }
  62.                         
  63. #line 1067 "nuweb.w"
  64.                       
  65.                       }
  66.                       
  67. #line 1036 "nuweb.w"
  68.         
  69.                       break;
  70.           }
  71.         }
  72.         
  73. #line 1018 "nuweb.w"
  74.   
  75.       c = source_get();
  76.     }
  77.   }
  78.   
  79. #line 1002 "nuweb.w"
  80.  
  81.   if (tex_flag)
  82.     search();
  83.   
  84. #line 1095 "nuweb.w"
  85.   {
  86.     reverse_lists(file_names);
  87.     reverse_lists(macro_names);
  88.     reverse_lists(user_names);
  89.   }
  90.   
  91. #line 1005 "nuweb.w"
  92.  
  93. }
  94.