/* * Parameters */ #define NSTACK 100 /* html grammar is not recursive, so 30 or so should do */ #define NHBUF 8192 /* Input buffer size */ #define NPEEKC 3 /* Maximum lookahead */ #define NTOKEN 65536 /* Maximum token length */ #define NATTR 512 /* Maximum number of attributes of a tag */ typedef struct Pair Pair; typedef struct Tag Tag; typedef struct Stack Stack; typedef struct Hglob Hglob; typedef struct Form Form; typedef struct Entity Entity; struct Pair{ char *name; char *value; }; struct Entity{ char *name; Rune value; }; struct Tag{ char *name; int action; }; struct Stack{ int tag; /* html tag being processed */ int pre; /* in preformatted text? */ int font; /* typeface */ int size; /* point size of text */ int sub; /* < 0 superscript, > 0 subscript */ int margin; /* left margin position */ int indent; /* extra indent at paragraph start */ int number; /* paragraph number */ int ismap; /* flag of */ int isscript; /* inside