home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 11 / AUCD11B.iso / LANGUAGES / WraithSet / AwkStuff / MawkSrc / c / main < prev    next >
Text File  |  2000-01-22  |  2KB  |  87 lines

  1.  
  2. /********************************************
  3. main.c
  4. copyright 1991, Michael D. Brennan
  5.  
  6. This is a source file for mawk, an implementation of
  7. the AWK programming language.
  8.  
  9. Mawk is distributed without warranty under the terms of
  10. the GNU General Public License, version 2, 1991.
  11. ********************************************/
  12.  
  13. /* $Log: main.c,v $
  14.  * Revision 1.4  1995/06/09  22:57:19  mike
  15.  * parse() no longer returns on error
  16.  *
  17.  * Revision 1.3  1995/06/06  00:18:32  mike
  18.  * change mawk_exit(1) to mawk_exit(2)
  19.  *
  20.  * Revision 1.2  1993/07/17  00:45:19  mike
  21.  * indent
  22.  *
  23.  * Revision 1.1.1.1  1993/07/03     18:58:16  mike
  24.  * move source to cvs
  25.  *
  26.  * Revision 5.4     1993/02/13  21:57:27  mike
  27.  * merge patch3
  28.  *
  29.  * Revision 5.3     1993/01/07  02:50:33  mike
  30.  * relative vs absolute code
  31.  *
  32.  * Revision 5.2.1.1  1993/01/15     03:33:44  mike
  33.  * patch3: safer double to int conversion
  34.  *
  35.  * Revision 5.2     1992/12/17  02:48:01  mike
  36.  * 1.1.2d changes for DOS
  37.  *
  38.  * Revision 5.1     1991/12/05  07:56:14  brennan
  39.  * 1.1 pre-release
  40.  *
  41. */
  42.  
  43.  
  44.  
  45. /*  main.c  */
  46.  
  47. #include "mawk.h"
  48. #include "init.h"
  49. #include "code.h"
  50. #include "files.h"
  51.  
  52. int __uname_control = 1;
  53. int __riscosify_control = 0x300;
  54.  
  55. short mawk_state ;         /* 0 is compiling */
  56. int exit_code ;
  57.  
  58. int
  59. main(argc, argv)
  60. int argc ; char **argv ;
  61. {
  62.  
  63.    initialize(argc, argv) ;
  64.  
  65.    parse() ;
  66.  
  67.    mawk_state = EXECUTION ;
  68.    execute(execution_start, eval_stack - 1, 0) ;
  69.    /* never returns */
  70.    return 0 ;
  71. }
  72.  
  73. void
  74. mawk_exit(x)
  75.    int x ;
  76. {
  77. #if  HAVE_REAL_PIPES
  78.    close_out_pipes() ;         /* no effect, if no out pipes */
  79. #else
  80. #if  HAVE_FAKE_PIPES
  81.    close_fake_pipes() ;
  82. #endif
  83. #endif
  84.  
  85.    exit(x) ;
  86. }
  87.