Quick Search:

Mode

Context

Displaying 3 lines of context. None | Less | More | Full

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.43
 
1.44
 
MAIN:ragge:20110109152539
 
cpp.h
_>11 /*      $Id$    */
 22 
 33 /*
<>4 - * Copyright (c) 2004 Anders Magnusson (ragge@ludd.luth.se).
  4+ * Copyright (c) 2004,2010 Anders Magnusson (ragge@ludd.luth.se).
55  * All rights reserved.
 66  *
 77  * Redistribution and use in source and binary forms, with or without
     
 !
1212  * 2. Redistributions in binary form must reproduce the above copyright
 1313  *    notice, this list of conditions and the following disclaimer in the
 1414  *    documentation and/or other materials provided with the distribution.
<>15 - * 3. The name of the author may not be used to endorse or promote products
 16 - *    derived from this software without specific prior written permission
1715  *
 1816  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 1917  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     
 !
6563 #endif
 6664 #endif
 6765 
<> 66+#define MAXARGS 128     /* Max # of args to a macro. Should be enouth */
  67+
6868 #define NAMEMAX CPPBUF  /* currently pushbackbuffer */
 6969 
<> 70+#define GCCARG  0xfd    /* has gcc varargs that may be replaced with 0 */
  71+#define VARG    0xfe    /* has varargs */
  72+#define OBJCT   0xff
  73+#define WARN    1       /* SOH, not legal char */
  74+#define CONC    2       /* STX, not legal char */
  75+#define SNUFF   3       /* ETX, not legal char */
  76+#define NEX     4       /* EOT, not legal char */
  77+#define EXP     5       /* ENQ, not legal char */
  78+#define PRAGS   6       /* start of converted pragma */
  79+#define PRAGE   14      /* end of converted pragma */
  80+
  81+/* Used in macro expansion */
  82+#define RECMAX  250                     /* max # of recursive macros */
  83+extern struct symtab *norep[RECMAX];
  84+extern int norepptr;
  85+extern unsigned char bptr[RECMAX];
  86+extern int bidx;
  87+
  88+/* quick checks for some characters */
  89+#define C_SPEC  001
  90+#define C_EP    002
  91+#define C_ID    004
  92+#define C_I     (C_SPEC|C_ID)           
  93+#define C_2     010             /* for yylex() tokenizing */
  94+#define C_WSNL  020             /* ' ','\t','\r','\n' */
  95+#define iswsnl(x) (spechr[x] & C_WSNL)
  96+extern char spechr[];
  97+
7098 /* definition for include file info */
 7199 struct includ {
 72100         struct includ *next;
     
 !
115143 #define nd_val n.val
 116144 #define nd_uval n.uval
 117145 
<>118 -struct recur;   /* not used outside cpp.c */
 119 -int subst(struct symtab *, struct recur *);
120146 struct symtab *lookup(const usch *namep, int enterf);
 121147 usch *gotident(struct symtab *nl);
 122148 int slow;       /* scan slowly for new tokens */
<> 149+int submac(struct symtab *nl, int);
  150+int kfind(struct symtab *nl);
  151+int doexp(void);
  152+int donex(void);
123153 
 124154 int pushfile(const usch *fname, const usch *fn, int idx, void *incs);
 125155 void popfile(void);
     
 !
150180 #define warning printf
 151181 #define error printf
 152182 #endif
<>153 -void expmac(struct recur *);
<_154183 int cinput(void);
 155184 void getcmnt(void);
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-09-19 23:55 +0200