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 / sta.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  4KB  |  115 lines

  1. /* sta.h -- Private #include File (module.h template V1.0)
  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.    Owning Modules:
  22.       sta.c
  23.  
  24.    Modifications:
  25. */
  26.  
  27. /* Allow multiple inclusion to work. */
  28.  
  29. #ifndef _H_f_sta
  30. #define _H_f_sta
  31.  
  32. /* Simple definitions and enumerations. */
  33.  
  34. typedef enum
  35.   {
  36.     FFESTA_pooldispDISCARD,    /* Default state. */
  37.     FFESTA_pooldispPRESERVE,    /* Preserve through end of program unit. */
  38.     FFESTA_pooldisp
  39.   } ffestaPooldisp;
  40.  
  41. #define FFESTA_tokensMAX 10    /* Max # tokens in fixed positions. */
  42.  
  43. /* Typedefs. */
  44.  
  45. /* Include files needed by this one. */
  46.  
  47. #include "bad.h"
  48. #include "lex.h"
  49. #include "malloc.h"
  50. #include "str.h"
  51. #include "symbol.h"
  52.  
  53. typedef mallocPool ffestaPool;    /* No need for use count yet. */
  54.  
  55. /* Structure definitions. */
  56.  
  57.  
  58. /* Global objects accessed by users of this module. */
  59.  
  60. extern ffelexToken ffesta_tokens[FFESTA_tokensMAX];
  61. extern ffestrFirst ffesta_first_kw;
  62. extern ffestrSecond ffesta_second_kw;
  63. extern mallocPool ffesta_output_pool;
  64. extern mallocPool ffesta_scratch_pool;
  65. extern ffelexToken ffesta_construct_name;
  66. extern ffelexToken ffesta_label_token;
  67. extern bool ffesta_seen_first_exec;
  68. extern bool ffesta_is_entry_valid;
  69. extern bool ffesta_line_has_semicolons;
  70.  
  71. /* Declare functions with prototypes. */
  72.  
  73. void ffesta_confirmed (void);
  74. void ffesta_eof (void);
  75. bool ffesta_ffebad_start (ffebad errnum);
  76. void ffesta_ffebad_here_current_stmt (ffebadIndex i);
  77. ffelexHandler ffesta_first (ffelexToken t);
  78. void ffesta_init_0 (void);
  79. void ffesta_init_3 (void);
  80. bool ffesta_is_inhibited (void);
  81. void ffesta_terminate_0 (void);
  82. void ffesta_terminate_1 (void);
  83. void ffesta_terminate_2 (void);
  84. void ffesta_terminate_3 (void);
  85. void ffesta_terminate_4 (void);
  86. void ffesta_ffebad_here_doiter (ffebadIndex i, ffesymbol s);
  87. ffesymbol ffesta_sym_end_transition (ffesymbol s);
  88. ffesymbol ffesta_sym_exec_transition (ffesymbol s);
  89. void ffesta_ffebad_1p (ffebad msg, ffelexToken names_token,
  90.                ffeTokenLength index, ffelexToken next_token);
  91. void ffesta_ffebad_1sp (ffebad msg, char *s, ffelexToken names_token,
  92.             ffeTokenLength index, ffelexToken next_token);
  93. void ffesta_ffebad_1st (ffebad msg, char *s, ffelexToken t);
  94. void ffesta_ffebad_1t (ffebad msg, ffelexToken t);
  95. void ffesta_ffebad_2st (ffebad msg, char *s, ffelexToken t1, ffelexToken t2);
  96. void ffesta_ffebad_2t (ffebad msg, ffelexToken t1, ffelexToken t2);
  97. ffelexHandler ffesta_zero (ffelexToken t);
  98. ffelexHandler ffesta_two (ffelexToken first, ffelexToken second);
  99. void ffesta_set_outpooldisp (ffestaPooldisp d);
  100.  
  101. /* Define macros. */
  102.  
  103. #define ffesta_init_1()
  104. #define ffesta_init_2()
  105. #define ffesta_init_4()
  106. #define ffesta_terminate_0()
  107. #define ffesta_terminate_1()
  108. #define ffesta_terminate_2()
  109. #define ffesta_terminate_3()
  110. #define ffesta_terminate_4()
  111.  
  112. /* End of #include file. */
  113.  
  114. #endif
  115.