#ifndef STDPCCTS_H #define STDPCCTS_H /* * stdpccts.h -- P C C T S I n c l u d e * * Terence Parr, Will Cohen, and Hank Dietz: 1989-1999 * Purdue University Electrical Engineering * With AHPCRC, University of Minnesota * ANTLR Version 1.33MR22 */ #ifndef ANTLR_VERSION #define ANTLR_VERSION 13322 #endif #include "pcctscfg.h" #include "pccts_stdio.h" /******************************************************************** * Copyright (c) 1995 - 2004, EMBL, Peter Keller * * CCIF: a library to access and output data conforming to the * CIF (Crystallographic Information File) and mmCIF (Macromolecular * CIF) specifications, and other related specifications. * * This library is free software: you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * version 3, modified in accordance with the provisions of the * license to address the requirements of UK law. * * You should have received a copy of the modified GNU Lesser General * Public License along with this library. If not, copies may be * downloaded from http://www.ccp4.ac.uk/ccp4license.php * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * ********************************************************************/ #include "library.h" #include "import_export.h" #include #include #include #include /* Allow disabling of mapping with -D_USE_MMAP=0, but not enabling if we really don't have it */ #if !defined (_USE_MMAP) && defined (HAVE_MMAP) #define _USE_MMAP 1 #endif #if !defined (HAVE_MMAP) #define _USE_MMAP 0 #endif /* In practice, every supported system has the newer mechanism... */ #include #ifdef HAVE_REGEX_H #include #else #include /* from rxdispencer */ #include #endif #define zzAST_DOUBLE /* At the moment, we only set the up/left pointers * for AST's of writeable CIF's */ #include "ccif_malloc.h" #include "rb.h" #include "ccif_defines.h" #include "charstru.h" #include #ifndef errno /* Some implementations might have already declared this */ extern int errno; /* as a macro. For those which haven't, a second, consistent */ #endif /* extern declaration won't cause any problems */ /* NEVER use assert for "normal" ccif stuff. Use the mechanism in condition.c/condition.list instead !!! */ #if defined (HAVE_ASSERT_H) && (defined(DEBUG) || defined(SQL_OUT) || defined (PTRS_OUT)) #include #endif /* Need this for errno stuff on ESV */ #ifdef ESV /* #include */ #endif #if 0 /* Allow use of malloc(3X) as opposed to the default malloc(3C) * Link with -lmalloc */ #ifdef sgi #include #endif #endif /* 0 */ #ifdef VMS #include rms #include starlet #include secdef #include ssdef #include stsdef #include psldef #include lnmdef #include dvidef #include descrip #include stat #include fibdef #include iodef #include atrdef #include "fatdef.h" #include file #include unixio #include unixlib #define O_MODE 0 /* Default protection on open/create */ #else #include #include #include #define O_MODE 0666 /* rw-rw-rw protection on open/create, subject to umask(2) */ #endif /* Really need these now, since other files need the AST typedef. Use ptr to point at other AST data required by context. Sigh, PCCTS could do with 'smart' nodes.... */ #define AST_FIELDS Attrib a; int token; void *ptr; typedef enum _rwstat { u=0, r=1, w=2 } ccif_rwstat; #include "ast.h" /* Need typedef of AST for sym.h */ #ifndef CASTBase_h /* Allow sorcerer files to use identical AST */ typedef AST SORAST; #define CASTBase_h #endif /* Why do we need these here? */ #include "sym.h" #include "context.h" #include "value_manip.h" #include "astlib.h" #include "smart_node.h" #include "sort.h" #include "condition.h" #include "exit_handler.h" __import__ int ccif_exit_status; /* Defined and set in condition.c */ #include "data_block_list.h" #include "f_interface.h" extern char * ccif_file_name(const int unit); extern char * ccif_file_io_name(const int unit); extern ccif_rwstat ccif_block_status(const int block); extern char * ccif_file_lookup (const int block); extern AST * ccif_data_heading_lookup (const int block); extern char * ccif_strdup(const char *); #ifdef VMS /* Stuff from ccif_vms.c */ extern void ccif_exit_vms_error(char *, int, int); extern char * ccif_logname2filename(const char * const); extern int truncate ( const char *, long int); extern int unlink ( const char *); extern int ccif_get_nameblock(const char * const filename, struct NAM *retnam); extern int ccif_setup_output_file(const char * const filename); #else #ifdef _MSC_VER extern int wintruncate ( const char *, long int ); #define ccif_logname2filename(s) getenv(s) #else #define ccif_logname2filename(s) getenv(s) #endif #endif /* Set/unset operation of fillAttr() */ extern void set_lex_act(const int func); extern AST *zzmk_ast(AST *node, Attrib a, int t); #define GENAST #define EXCEPTION_HANDLING #define NUM_SIGNALS 3 #define zzSET_SIZE 4 #include "antlr.h" #include "ast.h" #include "tokens.h" #include "dlgdef.h" #include "mode.h" #endif