📄 ftnchek.h
字号:
/*Copyright (c) 2000, Red Hat, Inc.This file is part of Source-Navigator.Source-Navigator is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public License as publishedby the Free Software Foundation; either version 2, or (at your option)any later version.Source-Navigator 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 the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public License alongwith Source-Navigator; see the file COPYING. If not, write tothe Free Software Foundation, 59 Temple Place - Suite 330, Boston,MA 02111-1307, USA.*/#define LARGE_MACHINE 1/* ftnchek.h: Common definitions for Fortran Program Checker Copyright (C) 1993 by Robert K. Moniot. This program is free software. Permission is granted to modify it and/or redistribute it, retaining this notice. No guarantees accompany this software.*//* #define COPYRIGHT_DATE "Copyright (C) 1993 by Robert K. Moniot" */#define COPYRIGHT_DATE ""#define COPYRIGHT_NOTICE ""#define VERSION_NUMBER ""#define PATCHLEVEL ""#define PROJECT_VERSION "P1" /* Project file format version number */ /* The following system defines should be defined with the -D (for UNIX) or /DEFINE (for VMS) compiler options in the makefile, not here. They are shown here so you know what to define. *//*#define VMS*/ /* Set flag for VAX/VMS system-dependent defns. *//*#define UNIX*/ /* Set flag for UNIX (ATT or BSD) defns. */#ifdef __TURBOC__#define MSDOS /* Set flag for MSDOS (IBM PC) */#define T_ALLOC /* Specify workaround for malloc limits */#endif#ifdef UNIX /* For Unix systems, handle preprocessor directives unless NO_UNIX_CPP defined. */#ifndef NO_UNIX_CPP#define UNIX_CPP#endif#endif#ifdef VMS /* If VMS system, define flag for extra VMS-isms in iokeywds.h table unless NO_VMS_IO is defined. These can be independently enabled by defining VMS_IO. */#ifndef NO_VMS_IO#define VMS_IO#endif /*NO_VMS_IO*/ /* Likewise define flag for VMS behavior in INCLUDE stmt (defaulting extension, /NOLIST feature) unless NO_VMS_INCLUDE is defined. */#ifndef NO_VMS_INCLUDE#define VMS_INCLUDE#endif /*NO_VMS_INCLUDE*/ /* Flag for VMS style tab-formatting of source. Ugly as sin, but the customers want it! */#ifndef NO_VMS_TAB#define VMS_TAB#endif#endif /*VMS*/ /* set flag to allow options to start with '/' */#ifndef OPTION_PREFIX_SLASH#ifdef VMS#define OPTION_PREFIX_SLASH#endif#ifdef MSDOS#define OPTION_PREFIX_SLASH#endif#endif /* The following defines cause Ftnchek to permit various nonstandard things. Purists can remove these defines to disable them. Disable all by defining STRICT_SYNTAX. Allow specific ones by defining them in makefile OPTIONS. */#ifndef STRICT_SYNTAX#define ALLOW_UNDERSCORES 1 /* Underscores in variable names */#define ALLOW_DOLLARSIGNS 1 /* Some systems allow $ in identifiers too */#define INLINE_COMMENT_CHAR '!' /* Inline comments starting with '!' */#define TYPELESS_CONSTANTS /* Like Z'19AF' */#define ALLOW_INCLUDE 1 /* The INCLUDE statement */#define ALLOW_DO_ENDO 1 /* The various DO loop extensions (including WHILE) */ /* VMS style <integer_expr> for format repeat spec or field size */#define ALLOW_VARIABLE_FORMAT#endif /* If STANDARD_INTRINSICS is defined, only F77 standard intrinsic functions will be known to ftnchek. Otherwise there are three classes of nonstandard intrinsics: common, Unix flavor, and VMS flavor. The Unix or VMS flavor will be selected if UNIX or VMS rsptly is defined, unless suppressed with NO_UNIX_INTRINSICS or NO_VMS_INTRINSICS. */#ifndef STANDARD_INTRINSICS#define NONSTD_INTRINSICS /* Common nonstandard intrinsic functions */#ifdef UNIX#ifndef NO_UNIX_INTRINSICS#define UNIX_INTRINSICS /* UNIX intrinsic functions */#endif /* Note: RAND syntax varies. Define RAND_NO_ARG to make ftnchek expect X=RAND(). By default ftnchek expects X=RAND(ISEED). */#endif#ifdef VMS#ifndef NO_VMS_INTRINSICS#define VMS_INTRINSICS /* VMS intrinsic functions */#endif#endif#endif /* Define to tolerate embedded blanks in numeric consts unless feature turned off by defining NO_BLANKS_IN_NUMBERS. */#ifndef NO_BLANKS_IN_NUMBERS#define BLANKS_IN_NUMBERS#endif /* Define default source and output file extensions. These * can be overridden by defines on compiler commandline. */#ifndef DEF_SRC_EXTENSION#ifdef VMS#define DEF_SRC_EXTENSION ".for" /* VMS default extension */#endif#ifdef MSDOS#define DEF_SRC_EXTENSION ".for" /* IBM PC default extension */#endif#endif /* DEF_SRC_EXTENSION */#ifndef DEF_SRC_EXTENSION#define DEF_SRC_EXTENSION ".f" /* Unix and all others */#endif /* define default list-file extension */#ifndef DEF_LIST_EXTENSION#define DEF_LIST_EXTENSION ".lis"#endif /* define default project-file extension */#ifndef DEF_PROJ_EXTENSION#define DEF_PROJ_EXTENSION ".prj"#endif /* define project-file name for case of input from stdin */#ifndef STDIN_PROJ_FILENAME#define STDIN_PROJ_FILENAME "ftnchek.prj"#endif#ifndef ENV_PREFIX /* prefix for option environment variables */#define ENV_PREFIX "FTNCHEK_"#endif#ifndef MAXLINE#define MAXLINE 132 /* Maximum input line length. Ignores past this. */#endif#ifndef MAXSTR#define MAXSTR 200 /* Longest string constant allowed */#endif#ifndef MAXIDSIZE#define MAXIDSIZE 31 /* Longest identifier allowed */#endif#ifndef MAX_INCLUDE_DEPTH#define MAX_INCLUDE_DEPTH 16 /* Max nesting depth of include files */#endif#ifndef ENV_INCLUDE_VAR#define ENV_INCLUDE_VAR "INCLUDE" /* name of env variable for include dir */#endif#ifndef DEFAULT_INCLUDE_DIR#ifdef UNIX#define DEFAULT_INCLUDE_DIR "/usr/include"#endif#ifdef VMS#define DEFAULT_INCLUDE_DIR "SYS$LIBRARY:"#endif#ifdef MSDOS#define DEFAULT_INCLUDE_DIR "\\include"#endif#endif#define KEYHASHSZ 195 /* Size of keyword hashtable -- do not change */#define INTRINS_HASHSZ 326 /* Chosen to give few clashes -- change with care */#ifdef SMALL_MACHINE /* Use these for e.g. IBM PC */#ifndef HASHSZ /* Hint: pick one with no square factors */#define HASHSZ 798 /* SMALL_MACHINE Size of symbol hashtable */#endif#ifndef STRSPACESZ#define STRSPACESZ 2000 /* SMALL_MACHINE Size of identifier string space */#endif#ifndef LOCSYMTABSZ#define LOCSYMTABSZ 200 /* SMALL_MACHINE Size of local symbol table */#endif#ifndef GLOBSYMTABSZ#define GLOBSYMTABSZ 200 /* SMALL_MACHINE Size of global symbol table */#endif#ifndef TOKENSPACESZ#define TOKENSPACESZ 200 /* SMALL_MACHINE Max no. of tokens in token lists */#endif#ifndef ARGLISTHEADSZ#define ARGLISTHEADSZ 300 /* SMALL_MACHINE Max number of argument lists */#endif#ifndef ARGLISTELTSZ#define ARGLISTELTSZ 1000 /* SMALL_MACHINE Max number of arguments */#endif#ifndef COMLISTHEADSZ#define COMLISTHEADSZ 200 /* SMALL_MACHINE Max number of common lists */#endif#ifndef COMLISTELTSZ#define COMLISTELTSZ 1000 /* SMALL_MACHINE Max number of common elements */#endif#else /* end if SMALL_MACHINE */#ifdef LARGE_MACHINE /* use these if space is no problem */#ifndef HASHSZ /* must be <= max int */#define HASHSZ 20930 /* LARGE_MACHINE Size of symbol hashtable */#endif#ifndef STRSPACESZ#define STRSPACESZ 40000 /* LARGE_MACHINE Size of identifier string space */#endif#ifndef LOCSYMTABSZ#define LOCSYMTABSZ 6000 /* LARGE_MACHINE Size of local symbol table */#endif#ifndef GLOBSYMTABSZ#define GLOBSYMTABSZ 4000 /* LARGE_MACHINE Size of global symbol table */#endif#ifndef TOKENSPACESZ#define TOKENSPACESZ 10000 /* LARGE_MACHINE Max tokens in token lists */#endif#ifndef ARGLISTHEADSZ#define ARGLISTHEADSZ 15000 /* LARGE_MACHINE Max number of argument lists */#endif#ifndef ARGLISTELTSZ#define ARGLISTELTSZ 50000 /* LARGE_MACHINE Max number of arguments */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -