|
|
1.1 ! root 1: #ifndef MKINPUT_H ! 2: #define MKINPUT_H ! 3: ! 4: /* ! 5: *-IMPORTS: ! 6: * <sys/compat.h> ! 7: * EXTERN_C_BEGIN ! 8: * EXTERN_C_END ! 9: * CONST ! 10: * VOID ! 11: * PROTO () ! 12: * <stdio.h> ! 13: * FILE ! 14: */ ! 15: ! 16: #include <sys/compat.h> ! 17: #include <stdio.h> ! 18: ! 19: ! 20: /* ! 21: * Structure of an input source. ! 22: */ ! 23: ! 24: #ifndef INPUT_T ! 25: #define INPUT_T ! 26: typedef struct input input_t; ! 27: #endif ! 28: ! 29: /* ! 30: * Pass this rather than a character to make_filter () if you don't want ! 31: * support for commentary in input text. Comments in file input simply throw ! 32: * away all text from the comment character (which may appear anywhere) to the ! 33: * end of the line. It's just a hack, but handy nonetheless, since sometimes ! 34: * adding comment facilities to an ad-hoc input grammar properly would just ! 35: * be over the top... now, I *really* want an LL(1) parser generator, but ! 36: * without one I'd rather hand-code than use YACC, which bites when you have ! 37: * a lot of little grammars. ! 38: */ ! 39: ! 40: enum { ! 41: NO_COMMENT = -1 ! 42: }; ! 43: ! 44: ! 45: EXTERN_C_BEGIN ! 46: ! 47: input_t * make_filter PROTO ((FILE * _infile, CONST char * _inname, ! 48: int _inclose, int _comment, ! 49: FILE * _outfile, int _outclose)); ! 50: input_t * make_string_input PROTO ((CONST unsigned char * _str, ! 51: int _copy)); ! 52: ! 53: EXTERN_C_END ! 54: ! 55: #endif /* ! defined (MKINPUT_H) */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.