1 /*
2 *   $Id: get.h 525 2007-05-28 01:50:41Z elliotth $
3 *
4 *   Copyright (c) 1998-2002, Darren Hiebert
5 *
6 *   This source code is released for free distribution under the terms of the
7 *   GNU General Public License.
8 *
9 *   External interface to get.c
10 */
11 #ifndef _GET_H
12 #define _GET_H
13 
14 /*
15 *   INCLUDE FILES
16 */
17 #include "general.h"  /* must always come first */
18 
19 #include "ctags.h"  /* to define langType */
20 
21 /*
22 *   MACROS
23 */
24 /*  Is the character valid as a character of a C identifier?
25  *  VMS allows '$' in identifiers.
26  */
27 #define isident(c)  (isalnum(c) || (c) == '_' || (c) == '$')
28 
29 /*  Is the character valid as the first character of a C identifier?
30  *  C++ allows '~' in destructors.
31  *  VMS allows '$' in identifiers.
32  */
33 #define isident1(c)  (isalpha(c) || (c) == '_' || (c) == '~' || (c) == '$')
34 
35 /*
36 *   FUNCTION PROTOTYPES
37 */
38 extern boolean isBraceFormat (void);
39 extern unsigned int getDirectiveNestLevel (void);
40 extern void cppInit (const boolean state, const boolean hasAtLiteralStrings);
41 extern void cppTerminate (void);
42 extern void cppBeginStatement (void);
43 extern void cppEndStatement (void);
44 extern void cppUngetc (const int c);
45 extern int cppGetc (void);
46 extern int skipOverCComment (void);
47 
48 #endif  /* _GET_H */
49 
50 /* vi:set tabstop=4 shiftwidth=4: */
51