/*
* 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