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