]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | # ifndef CPP_H |
2 | # define CPP_H | |
3 | ||
4 | typedef struct cppBuffer cppBuffer; | |
5 | typedef struct cppOptions cppOptions; | |
885824d3 | 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 | ||
7272a1c1 | 44 | extern /*@only@*/ cstring cppReader_getIncludePath (void) ; |
45 | ||
885824d3 | 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 | ||
b072092f | 54 | extern fileloc cppReader_getLoc (cppReader *); |
885824d3 | 55 | extern void cppReader_initialize (void); |
56 | ||
57 | # else | |
58 | # error "Multiple include" | |
59 | # endif |