home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / g77-0.5.15-src.tgz / tar.out / fsf / g77 / f / parse.c < prev    next >
C/C++ Source or Header  |  1996-09-28  |  2KB  |  90 lines

  1. /* GNU Fortran
  2.    Copyright (C) 1995 Free Software Foundation, Inc.
  3.    Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
  4.  
  5. This file is part of GNU Fortran.
  6.  
  7. GNU Fortran is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2, or (at your option)
  10. any later version.
  11.  
  12. GNU Fortran is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with GNU Fortran; see the file COPYING.  If not, write to
  19. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.     */
  20.  
  21. #include "proj.h"
  22. #include <ctype.h>
  23. #include <signal.h>
  24. #include "top.h"
  25. #include "com.h"
  26. #include "where.h"
  27. #include "zzz.h"
  28. #if FFECOM_targetCURRENT == FFECOM_targetGCC
  29. #include "flags.j"
  30. #endif
  31.  
  32. #define NAME_OF_STDIN "<stdin>"
  33.  
  34. #if FFECOM_targetCURRENT == FFECOM_targetFFE
  35. void
  36. main (int argc, char *argv[])
  37. #else
  38. #if FFECOM_targetCURRENT == FFECOM_targetGCC
  39. FILE *finput;
  40.  
  41. int
  42. yyparse ()
  43. #endif
  44. #endif
  45. {
  46.   ffewhereFile wf;
  47.  
  48.   if (ffe_is_version ())
  49.     fprintf (stderr, "GNU Fortran Front End version %s compiled: %s %s\n",
  50.          ffezzz_version_string,
  51.          ffezzz_date,
  52.          ffezzz_time);
  53.  
  54. #if FFECOM_targetCURRENT == FFECOM_targetFFE
  55.   ffe_init_0 ();
  56.  
  57.   for (--argc, ++argv; argc > 0; --argc, ++argv)
  58.     {
  59.       if (!ffe_decode_option (argv[0]))
  60.     fprintf (stderr, "Unrecognized option: %s\n", argv[0]);
  61.     }
  62. #else
  63. #if FFECOM_targetCURRENT == FFECOM_targetGCC
  64.   ffe_set_is_pedantic (pedantic);
  65. #endif
  66. #endif
  67.  
  68. #if FFECOM_targetCURRENT == FFECOM_targetFFE
  69.   wf = ffewhere_file_new (NAME_OF_STDIN, strlen (NAME_OF_STDIN));
  70.   ffecom_file (NAME_OF_STDIN);
  71.   ffe_file (wf, stdin);
  72. #else
  73. #if FFECOM_targetCURRENT == FFECOM_targetGCC
  74.   wf = ffewhere_file_new (main_input_filename, strlen (main_input_filename));
  75.   ffecom_file (main_input_filename);
  76.   ffe_file (wf, finput);
  77. #endif
  78. #endif
  79.  
  80. #if FFECOM_targetCURRENT == FFECOM_targetGCC
  81.   ffecom_finish_compile ();
  82.  
  83.   return 0;
  84. #else
  85.   ffe_terminate_0 ();
  86.  
  87.   exit (0);
  88. #endif
  89. }
  90.