27 #ifndef _GFSM_SCANNER_H
28 #define _GFSM_SCANNER_H
97 gboolean emit_warnings;
124 extern const char *gfsmScannerDefaultName;
127 extern const char *gfsmScannerDefaultFilename;
140 #define gfsm_scanner_init(scanner,name,PREFIX) \
141 gfsm_scanner_init_full((scanner), \
143 (gfsmFlexScannerInitFunc) ( PREFIX ## lex_init ), \
144 (gfsmFlexScannerFreeFunc) ( PREFIX ## lex_destroy ), \
145 (gfsmFlexScannerScanFileFunc) ( PREFIX ## restart ), \
146 (gfsmFlexScannerScanBytesFunc) ( PREFIX ## _scan_bytes ), \
147 (gfsmFlexScannerScanPopFunc) ( PREFIX ## pop_buffer_state ), \
148 (gfsmFlexScannerGetTextFunc) ( PREFIX ## get_text ), \
149 (gfsmFlexScannerGetPosFunc) ( PREFIX ## get_lineno ), \
150 (gfsmFlexScannerSetPosFunc) ( PREFIX ## set_lineno ), \
151 (gfsmFlexScannerSetExtraFunc) ( PREFIX ## set_extra ) )
156 #define gfsm_scanner_new(name,PREFIX) \
157 gfsm_scanner_init( gfsm_slice_new0(gfsmScanner), (name), PREFIX )
163 gfsmScanner *gfsm_scanner_new_full(
const char *name,
177 gfsmScanner *gfsm_scanner_init_full(gfsmScanner *scanner,
192 void gfsm_scanner_free(gfsmScanner *scanner);
203 void gfsm_scanner_close(gfsmScanner *scanner);
206 void gfsm_scanner_scan_file(gfsmScanner *scanner, FILE *f);
209 void gfsm_scanner_scan_filename(gfsmScanner *scanner,
const char *filename);
212 void gfsm_scanner_scan_bytes(gfsmScanner *scanner,
const char *bytes,
int len);
215 void gfsm_scanner_scan_gstring(gfsmScanner *scanner, GString *gstr);
218 void gfsm_scanner_scan_string(gfsmScanner *scanner,
const char *str);
229 int gfsm_scanner_yywrap(gfsmScanner *scanner);
232 #define GFSM_SCANNER_YYWRAP(PREFIX) \
233 int PREFIX ## wrap(gfsmFlexScanner yyscanner) \
234 { return gfsm_scanner_yywrap( yyscanner ); }
245 void gfsm_scanner_carp(gfsmScanner *scanner,
const char *fmt, ...);
248 void gfsm_scanner_carp_full(gfsmScanner *scanner,
255 void gfsm_scanner_carp_full_v(gfsmScanner *scanner,