📄 stv.h
字号:
/* stv.h -- Private #include File (module.h template V1.0) Copyright (C) 1995 Free Software Foundation, Inc. Contributed by James Craig Burley.This file is part of GNU Fortran.GNU Fortran is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version.GNU Fortran is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Fortran; see the file COPYING. If not, write tothe Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA02111-1307, USA. Owning Modules: stv.c Modifications:*//* Allow multiple inclusion to work. */#ifndef _H_f_stv#define _H_f_stv/* Simple definitions and enumerations. */typedef enum { FFESTV_accessstateNONE, /* Haven't seen PUBLIC or PRIVATE yet. */ FFESTV_accessstatePUBLIC, /* Seen PUBLIC stmt w/o args. */ FFESTV_accessstatePRIVATE, /* Seen PRIVATE stmt w/o args. */ FFESTV_accessstateANY, /* Conflict seen and reported, so stop whining. */ FFESTV_accessstate } ffestvAccessstate;typedef enum { /* Format specifier in an I/O statement. */ FFESTV_formatNONE, /* None. */ FFESTV_formatLABEL, /* Label (normal format). */ FFESTV_formatCHAREXPR, /* Character expression (normal format). */ FFESTV_formatASTERISK, /* Asterisk (list-directed). */ FFESTV_formatINTEXPR, /* Integer expression (assigned label). */ FFESTV_formatNAMELIST, /* Namelist (namelist-directed). */ FFESTV_format } ffestvFormat;typedef enum { FFESTV_savestateNONE, /* Haven't seen SAVE stmt or attribute yet. */ FFESTV_savestateSPECIFIC, /* Seen SAVE stmt w/args or SAVE attr. */ FFESTV_savestateALL, /* Seen SAVE stmt w/o args. */ FFESTV_savestateANY, /* Conflict seen and reported, so stop whining. */ FFESTV_savestate } ffestvSavestate;typedef enum { FFESTV_stateNIL, /* Initial state, and after end of outer prog unit. */ FFESTV_statePROGRAM0, /* After PROGRAM. */ FFESTV_statePROGRAM1, /* Before first non-USE statement. */ FFESTV_statePROGRAM2, /* After IMPLICIT NONE. */ FFESTV_statePROGRAM3, /* After IMPLICIT, PARAMETER, FORMAT. */ FFESTV_statePROGRAM4, /* Before executable stmt or CONTAINS. */ FFESTV_statePROGRAM5, /* After CONTAINS. */ FFESTV_stateSUBROUTINE0, /* After SUBROUTINE. */ FFESTV_stateSUBROUTINE1, /* Before first non-USE statement. */ FFESTV_stateSUBROUTINE2, /* After IMPLICIT NONE. */ FFESTV_stateSUBROUTINE3, /* After IMPLICIT, PARAMETER, FORMAT, ENTRY. */ FFESTV_stateSUBROUTINE4, /* Before executable stmt or CONTAINS. */ FFESTV_stateSUBROUTINE5, /* After CONTAINS. */ FFESTV_stateFUNCTION0, /* After FUNCTION. */ FFESTV_stateFUNCTION1, /* Before first non-USE statement. */ FFESTV_stateFUNCTION2, /* After IMPLICIT NONE. */ FFESTV_stateFUNCTION3, /* After IMPLICIT, PARAMETER, FORMAT, ENTRY. */ FFESTV_stateFUNCTION4, /* Before executable stmt or CONTAINS. */ FFESTV_stateFUNCTION5, /* After CONTAINS. */ FFESTV_stateMODULE0, /* After MODULE. */ FFESTV_stateMODULE1, /* Before first non-USE statement. */ FFESTV_stateMODULE2, /* After IMPLICIT NONE. */ FFESTV_stateMODULE3, /* After IMPLICIT, PARAMETER, FORMAT, ENTRY. */ FFESTV_stateMODULE4, /* Before executable stmt or CONTAINS. */ FFESTV_stateMODULE5, /* After CONTAINS. */ FFESTV_stateBLOCKDATA0, /* After BLOCKDATA. */ FFESTV_stateBLOCKDATA1, /* Before first non-USE statement. */ FFESTV_stateBLOCKDATA2, /* After IMPLICIT NONE. */ FFESTV_stateBLOCKDATA3, /* After IMPLICIT, PARAMETER, FORMAT, ENTRY. */ FFESTV_stateBLOCKDATA4, /* Before executable stmt or CONTAINS. */ FFESTV_stateBLOCKDATA5, /* After CONTAINS. */ FFESTV_stateUSE, /* Before first USE thru last USE. */ FFESTV_stateTYPE, /* After TYPE thru END TYPE. */ FFESTV_stateINTERFACE0, /* After INTERFACE thru MODULE PROCEDURE. */ FFESTV_stateINTERFACE1, /* After MODULE PROCEDURE thru END INTERFACE. */ FFESTV_stateSTRUCTURE, /* After STRUCTURE thru END STRUCTURE. */ FFESTV_stateUNION, /* After UNION thru END UNION. */ FFESTV_stateMAP, /* After MAP thru END MAP. */ FFESTV_stateWHERETHEN, /* After WHERE-construct thru END WHERE. */ FFESTV_stateWHERE, /* After WHERE-stmt thru next stmt. */ FFESTV_stateIFTHEN, /* After IF THEN thru END IF. */ FFESTV_stateIF, /* After IF thru next stmt. */ FFESTV_stateDO, /* After DO thru END DO or terminating label. */ FFESTV_stateSELECT0, /* After SELECT to before first CASE. */ FFESTV_stateSELECT1, /* First CASE in SELECT thru END SELECT. */ FFESTV_state } ffestvState;typedef enum { /* Unit specifier. */ FFESTV_unitNONE, /* None. */ FFESTV_unitINTEXPR, /* Integer expression (external file unit). */ FFESTV_unitASTERISK, /* Default unit. */ FFESTV_unitCHAREXPR, /* Character expression (internal file unit). */ FFESTV_unit } ffestvUnit;/* Typedefs. *//* Include files needed by this one. */#include "lab.h"#include "where.h"/* Structure definitions. *//* Global objects accessed by users of this module. */extern ffestvSavestate ffestv_save_state_;extern ffewhereLine ffestv_save_line_;extern ffewhereColumn ffestv_save_col_;extern ffestvAccessstate ffestv_access_state_;extern ffewhereLine ffestv_access_line_;extern ffewhereColumn ffestv_access_col_;extern ffelabNumber ffestv_num_label_defines_;/* Declare functions with prototypes. *//* Define macros. */#define ffestv_init_0()#define ffestv_init_1()#define ffestv_init_2()#define ffestv_init_3()#define ffestv_init_4()#define ffestv_terminate_0()#define ffestv_terminate_1()#define ffestv_terminate_2()#define ffestv_terminate_3()#define ffestv_terminate_4()/* End of #include file. */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -