]> andersk Git - splint.git/blob - src/Headers/cpp.h
*** empty log message ***
[splint.git] / src / Headers / cpp.h
1 # ifndef CPP_H
2 # define CPP_H
3
4 typedef struct cppBuffer cppBuffer;
5 typedef struct cppOptions cppOptions;
6
7 enum cpp_token {
8   CPP_EOF = -1,
9   CPP_OTHER = 0,
10   CPP_COMMENT = 1,
11   CPP_HSPACE,
12   CPP_VSPACE, /* newlines and #line directives */
13   CPP_NAME,
14   CPP_NUMBER,
15   CPP_CHAR,
16   CPP_STRING,
17   CPP_DIRECTIVE,
18   CPP_LPAREN,   /* "(" */
19   CPP_RPAREN,   /* ")" */
20   CPP_LBRACE,   /* "{" */
21   CPP_RBRACE,   /* "}" */
22   CPP_COMMA,    /* "," */
23   CPP_SEMICOLON,/* ";" */
24   CPP_3DOTS,    /* "..." */
25 #if 0
26   CPP_ANDAND, /* "&&" */
27   CPP_OROR,   /* "||" */
28   CPP_LSH,    /* "<<" */
29   CPP_RSH,    /* ">>" */
30   CPP_EQL,    /* "==" */
31   CPP_NEQ,    /* "!=" */
32   CPP_LEQ,    /* "<=" */
33   CPP_GEQ,    /* ">=" */
34   CPP_PLPL,   /* "++" */
35   CPP_MINMIN, /* "--" */
36 #endif
37   /* POP_TOKEN is returned when we've popped a cppBuffer. */
38   CPP_POP
39 };
40
41 typedef struct cppReader cppReader;
42 extern cppReader g_cppState;
43
44 extern /*@only@*/ cstring cppReader_getIncludePath (void) ;
45
46 extern int cppProcess (/*@dependent@*/ cstring p_infile,
47                        /*@dependent@*/ cstring p_outfile);
48 extern void cppAddIncludeDir (cstring);
49 extern void cppReader_initMod (void);
50 extern void cppDoDefine (cstring);
51 extern void cppDoUndefine (cstring);
52 extern void cppReader_saveDefinitions (void);
53
54 extern fileloc cppReader_getLoc (cppReader *);
55 extern void cppReader_initialize (void);
56
57 # else 
58 # error "Multiple include"
59 # endif
This page took 0.055255 seconds and 5 git commands to generate.