Blame WWW/Library/Implementation/HTLex.h

Packit f574b8
/*                         LEXICAL ANALYSOR (MAINLY FOR CONFIG FILES)
Packit f574b8
Packit f574b8
 */
Packit f574b8
Packit f574b8
#ifndef HTLEX_H
Packit f574b8
#define HTLEX_H
Packit f574b8
Packit f574b8
#ifndef HTUTILS_H
Packit f574b8
#include <HTUtils.h>
Packit f574b8
#endif
Packit f574b8
Packit f574b8
#ifdef __cplusplus
Packit f574b8
extern "C" {
Packit f574b8
#endif
Packit f574b8
    typedef enum {
Packit f574b8
	LEX_NONE,		/* Internally used      */
Packit f574b8
	LEX_EOF,		/* End of file          */
Packit f574b8
	LEX_REC_SEP,		/* Record separator     */
Packit f574b8
	LEX_FIELD_SEP,		/* Field separator      */
Packit f574b8
	LEX_ITEM_SEP,		/* List item separator  */
Packit f574b8
	LEX_OPEN_PAREN,		/* Group start tag      */
Packit f574b8
	LEX_CLOSE_PAREN,	/* Group end tag        */
Packit f574b8
	LEX_AT_SIGN,		/* Address qualifier    */
Packit f574b8
	LEX_ALPH_STR,		/* Alphanumeric string  */
Packit f574b8
	LEX_TMPL_STR		/* Template string      */
Packit f574b8
    } LexItem;
Packit f574b8
Packit f574b8
    extern char HTlex_buffer[];	/* Read lexical string          */
Packit f574b8
    extern int HTlex_line;	/* Line number in source file   */
Packit f574b8
Packit f574b8
/*
Packit f574b8
Packit f574b8
Get Next Lexical Item
Packit f574b8
Packit f574b8
   If returns LEX_ALPH_STR or LEX_TMPL_STR the string is in global buffer lex_buffer.
Packit f574b8
Packit f574b8
 */
Packit f574b8
Packit f574b8
    extern LexItem lex(FILE *fp);
Packit f574b8
Packit f574b8
/*
Packit f574b8
Packit f574b8
Push Back Latest Item
Packit f574b8
Packit f574b8
 */
Packit f574b8
Packit f574b8
    extern void unlex(LexItem lex_item);
Packit f574b8
Packit f574b8
/*
Packit f574b8
Packit f574b8
Get the Name for Lexical Item
Packit f574b8
Packit f574b8
 */
Packit f574b8
Packit f574b8
    extern const char *lex_verbose(LexItem lex_item);
Packit f574b8
Packit f574b8
/*
Packit f574b8
Packit f574b8
 */
Packit f574b8
Packit f574b8
#ifdef __cplusplus
Packit f574b8
}
Packit f574b8
#endif
Packit f574b8
#endif				/* not HTLEX_H */