All tags known by KHTML are listed in khtmltags.in.
The maketags script generates a header file from this list.
It also makes a gperf input file. gperf is than used to create
the khtmltags.c file which contains a (almost) perfect hash 
function for recognizing HTML-tags.

The HTML-tokenizer converts during parsing all tags to numeric
tag-IDs. These IDs can then be used to select functions fast and
to look up relevant CSS data.

khtmlparser.cpp contains a jump-table which indexes from tag-ID
to the relevant tag-open and tag-close functions. A 0-entry means
that no function should be called for this tag. 

ADDING NEW TAGS
===============

If you want to add a new tag, you can do so in the file "khtmltags.in".
Please keep this file sorted. You then have to run ./maketags to 
generate a new khtmltags.h and a new hash-function so that the new tag
will be recognized. Then you should manually update the jumptable in
"khtmlparer.cpp". If you do not want to implement the tag you can add
an entry for the tag at the right position and fill it with two zeros.

