charptr.h
上传用户:itx_2006
上传日期:2007-01-06
资源大小:493k
文件大小:2k
源码类别:

编译器/解释器

开发平台:

Others

  1. /*
  2.  *
  3.  * SOFTWARE RIGHTS
  4.  *
  5.  * We reserve no LEGAL rights to the Purdue Compiler Construction Tool
  6.  * Set (PCCTS) -- PCCTS is in the public domain.  An individual or
  7.  * company may do whatever they wish with source code distributed with
  8.  * PCCTS or the code generated by PCCTS, including the incorporation of
  9.  * PCCTS, or its output, into commerical software.
  10.  *
  11.  * We encourage users to develop software with PCCTS.  However, we do ask
  12.  * that credit is given to us for developing PCCTS.  By "credit",
  13.  * we mean that if you incorporate our source code into one of your
  14.  * programs (commercial product, research project, or otherwise) that you
  15.  * acknowledge this fact somewhere in the documentation, research report,
  16.  * etc...  If you like PCCTS and have developed a nice tool with the
  17.  * output, please mention that you developed it using PCCTS.  In
  18.  * addition, we ask that this header remain intact in our source code.
  19.  * As long as these guidelines are kept, we expect to continue enhancing
  20.  * this system and expect to make other tools available as they are
  21.  * completed.
  22.  *
  23.  * ANTLR 1.33
  24.  * Terence Parr
  25.  * Parr Research Corporation
  26.  * with Purdue University and AHPCRC, University of Minnesota
  27.  * 1989-1998
  28.  */
  29. /*
  30.  * WARNING!!!!: charptr.h does NOT make copies and the
  31.  * memory is freed after the attribute scope exits.
  32.  */
  33. #ifndef ZZCHARPTR_H
  34. #define ZZCHARPTR_H
  35. typedef char *Attrib;
  36. #define zzdef0(a) {*(a)=NULL;}
  37. /* MR8  Jens Tingleff (jensting@imaginet.fr)                                */
  38. /*          Set memory pointer to null after free()                         */
  39. #define zzd_attr(a) {if ( *(a)!=NULL ) {free(*(a)); *(a)=NULL; }; }
  40. #ifdef __STDC__
  41. extern zzcr_attr(Attrib *,int,char *);
  42. #endif
  43. #endif