2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
10 # ifndef CSCANNERHELP_H
11 # define CSCANNERHELP_H
13 extern void cscannerHelp_swallowMacro (void) ;
14 extern bool cscannerHelp_processMacro (void) ;
15 extern void cscannerHelp_handleMacro (void) ;
17 extern void cscannerHelp_exitSpecPart (void) /*@modifies internalState@*/ ;
19 extern void cscannerHelp_setContinueLine (void) /*@modifies internalState@*/ ;
21 extern int cscannerHelp_returnToken (int p_t
)
22 /*@modifies g_currentloc, internalState@*/ ;
24 extern int cscannerHelp_returnTokenLength (int p_t
, int p_length
)
25 /*@modifies g_currentloc, internalState@*/ ;
27 extern int cscannerHelp_returnString (/*@only@*/ cstring p_s
)
28 /*@modifies g_currentloc, internalState@*/ ;
30 extern int cscannerHelp_returnInt (ctype p_ct
, long p_val
)
31 /*@modifies g_currentloc, internalState@*/ ;
33 extern int cscannerHelp_returnFloat (ctype p_ct
, double p_f
)
34 /*@modifies g_currentloc, internalState@*/ ;
36 extern int cscannerHelp_returnChar (char p_c
)
37 /*@modifies g_currentloc, internalState@*/ ;
39 extern int cscannerHelp_returnType (int p_tok
, ctype p_ct
)
40 /*@modifies g_currentloc, internalState@*/ ;
42 extern int cscannerHelp_returnExpr (/*@only@*/ exprNode p_e
)
43 /*@modifies g_currentloc, internalState@*/ ;
45 extern void cscannerHelp_setTokLength (int) /*@modifies g_currentloc, internalState@*/ ;
46 extern void cscannerHelp_setTokLengthT (size_t) /*@modifies g_currentloc, internalState@*/ ;
48 extern /*@observer@*/ cstring
cscannerHelp_observeLastIdentifier (void) ;
49 extern int cscannerHelp_handleLlSpecial (void) /*@modifies g_currentloc, internalState@*/ ;
50 extern bool cscannerHelp_handleSpecial (char *) /*@modifies g_currentloc, internalState@*/ ;
51 extern /*@only@*/ cstring
cscannerHelp_makeIdentifier (char *);
53 extern int cscannerHelp_handleNewLine (void) /*@modifies g_currentloc, internalState@*/ ;
55 extern int cscannerHelp_processTextIdentifier (char *) /*@modifies internalState@*/ ;
56 extern bool cscannerHelp_processHashIdentifier (/*@only@*/ cstring
) /*@modifies internalState@*/ ;
58 extern int cscannerHelp_processSpec (int p_tok
) /*@modifies internalState@*/ ;
59 extern char cscannerHelp_processChar (void) /*@modifies internalState@*/ ;
60 extern double cscannerHelp_processFloat (void) /*@modifies internalState@*/ ;
61 extern /*@only@*/ exprNode
cscannerHelp_processString (void) /*@modifies internalState@*/ ;
62 extern /*@only@*/ exprNode
cscannerHelp_processWideString (void) /*@modifies internalState@*/ ;
63 extern long cscannerHelp_processDec (void) /*@modifies internalState@*/ ;
64 extern long cscannerHelp_processHex (void) /*@modifies internalState@*/ ;
65 extern long cscannerHelp_processOctal (void) /*@modifies internalState@*/ ;
67 extern void cscannerHelp_expectingMetaStateName (void)
68 /*@modifies internalState@*/ ;
70 extern void cscannerHelp_clearExpectingMetaStateName (void)
71 /*@modifies internalState@*/ ;
73 extern /*@observer@*/ uentry
cscannerHelp_coerceId (cstring p_cn
);
74 extern /*@observer@*/ uentry
cscannerHelp_coerceIterId (cstring p_cn
);
76 extern void cscannerHelp_setExpectingTypeName (void) /*@modifies internalState@*/ ;
77 extern void cscannerHelp_clearExpectingTypeName (void) /*@modifies internalState@*/ ;
79 extern int cscannerHelp_ninput (void) /*@modifies internalState, g_currentloc@*/;
82 # error "Multiple include."