1 /*
2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2003.
3 ** See ../LICENSE for license information.
4 **
5 */
6 
7 # ifndef READER_H
8 # define READER_H
9 
10 extern /*@null@*/ char *reader_readLine (FILE *p_f, /*@returned@*/ /*@out@*/ char *p_s, int p_max)
11    /*@modifies *p_f, p_s@*/ ;
12 
13 extern int reader_getInt (char **p_s) /*@modifies *p_s@*/ ;
14 extern char reader_loadChar (char **p_s) /*@modifies *p_s@*/ ;
15 extern double reader_getDouble (char **p_s) /*@modifies *p_s@*/ ;
16 
17 extern void reader_doCheckChar (char ** p_s, char p_c, char *p_file, int p_line)
18    /*@modifies *p_s;@*/;
19 
20 extern bool reader_optCheckChar (char **p_s, char p_c) /*@modifies *p_s;@*/ ;
21 extern void reader_checkChar (char **p_s, char p_c) /*@modifies *p_s;@*/ ;
22 # define reader_checkChar(s,c)  (reader_doCheckChar (s, c, __FILE__, __LINE__))
23 extern /*@only@*/ /*@null@*/ char *reader_getWord (char **p_s) /*@modifies *p_s@*/ ;
24 
25 extern cstring reader_getStringWord (char **p_s) /*@modifies *p_s@*/ ;
26 # define reader_getStringWord(s)     (cstring_fromChars(reader_getWord(s)))
27 
28 extern cstring reader_readUntil (char **p_s, char p_x) /*@modifies *p_s@*/ ;
29 extern cstring reader_readUntilOne (char **p_s, char *p_x) /*@modifies *p_s@*/ ;
30 
31 extern void reader_checkUngetc (int p_c, FILE *p_f) /*@modifies *p_f@*/ ;
32 
33 # else
34 # error "Multiple include"
35 # endif
36 
37 
38 
39 
40 
41 
42