2 * Copyright (c) 1998-2002, Darren Hiebert
4 * This source code is released for free distribution under the terms of the
5 * GNU General Public License.
7 * External interface to get.c
15 #include "general.h" /* must always come first */
17 #include "ctags.h" /* to define langType */
22 /* Is the character valid as a character of a C identifier?
23 * VMS allows '$' in identifiers.
25 #define isident(c) (isalnum(c) || (c) == '_' || (c) == '$')
27 /* Is the character valid as the first character of a C identifier?
28 * C++ allows '~' in destructors.
29 * VMS allows '$' in identifiers.
30 * Vala allows '@' in identifiers.
32 #define isident1(c) (isalpha(c) || (c) == '_' || (c) == '~' || (c) == '$' || (c) == '@')
37 extern boolean
isBraceFormat (void);
38 extern unsigned int getDirectiveNestLevel (void);
39 extern void cppInit (const boolean state
, const boolean hasAtLiteralStrings
);
40 extern void cppTerminate (void);
41 extern void cppBeginStatement (void);
42 extern void cppEndStatement (void);
43 extern void cppUngetc (const int c
);
44 extern int cppGetc (void);
45 extern int skipOverCComment (void);
46 extern char *getArglistFromFilePos(MIOPos startPosition
, const char *tokenName
);
47 extern char *getArglistFromStr(char *buf
, const char *name
);
51 /* vi:set tabstop=4 shiftwidth=4: */