diff options
Diffstat (limited to 'hc.l')
-rw-r--r-- | hc.l | 243 |
1 files changed, 243 insertions, 0 deletions
@@ -0,0 +1,243 @@ +/* This flex scanner is intended to be compliled case insensitive. */ + +%{ + +#include <stdio.h> +#include <string.h> +#include "hc.h" + +%} + +wsp [ \t\n\r\v\t] +notwsp [^ \t\n\r\v\t] +ctrl [\x0-\x1f] +notctrl [^\x0-\x1f] +special ["'<>/=&] +notspecial [^"'<>/=&] +elname [A-Za-z0-9]+ +attrname [^"'<>/=&\x0-\x1f\t\n\r\v\t ] +endnm [^A-Za-z_\-0-9] +%x ELM ATT + +%% + +[<] { BEGIN(ELM); + return '<'; } +{notspecial}+ { return tok_text; } +<ELM>a/{endnm} { BEGIN(ATT); return tok_el_a; } +<ELM>abbr/{endnm} { BEGIN(ATT); return tok_el_abbr; } +<ELM>acronym/{endnm} { BEGIN(ATT); return tok_el_acronym; } +<ELM>address/{endnm} { BEGIN(ATT); return tok_el_address; } +<ELM>applet/{endnm} { BEGIN(ATT); return tok_el_applet; } +<ELM>area/{endnm} { BEGIN(ATT); return tok_el_area; } +<ELM>b/{endnm} { BEGIN(ATT); return tok_el_b; } +<ELM>base/{endnm} { BEGIN(ATT); return tok_el_base; } +<ELM>basefont/{endnm} { BEGIN(ATT); return tok_el_basefont; } +<ELM>bdo/{endnm} { BEGIN(ATT); return tok_el_bdo; } +<ELM>big/{endnm} { BEGIN(ATT); return tok_el_big; } +<ELM>blockquote/{endnm} { BEGIN(ATT); return tok_el_blockquote; } +<ELM>body/{endnm} { BEGIN(ATT); return tok_el_body; } +<ELM>br/{endnm} { BEGIN(ATT); return tok_el_br; } +<ELM>button/{endnm} { BEGIN(ATT); return tok_el_button; } +<ELM>caption/{endnm} { BEGIN(ATT); return tok_el_caption; } +<ELM>center/{endnm} { BEGIN(ATT); return tok_el_center; } +<ELM>cite/{endnm} { BEGIN(ATT); return tok_el_cite; } +<ELM>code/{endnm} { BEGIN(ATT); return tok_el_code; } +<ELM>col/{endnm} { BEGIN(ATT); return tok_el_col; } +<ELM>colgroup/{endnm} { BEGIN(ATT); return tok_el_colgroup; } +<ELM>dd/{endnm} { BEGIN(ATT); return tok_el_dd; } +<ELM>del/{endnm} { BEGIN(ATT); return tok_el_del; } +<ELM>dfn/{endnm} { BEGIN(ATT); return tok_el_dfn; } +<ELM>dir/{endnm} { BEGIN(ATT); return tok_el_dir; } +<ELM>div/{endnm} { BEGIN(ATT); return tok_el_div; } +<ELM>dl/{endnm} { BEGIN(ATT); return tok_el_dl; } +<ELM>dt/{endnm} { BEGIN(ATT); return tok_el_dt; } +<ELM>em/{endnm} { BEGIN(ATT); return tok_el_em; } +<ELM>fieldset/{endnm} { BEGIN(ATT); return tok_el_fieldset; } +<ELM>font/{endnm} { BEGIN(ATT); return tok_el_font; } +<ELM>form/{endnm} { BEGIN(ATT); return tok_el_form; } +<ELM>frame/{endnm} { BEGIN(ATT); return tok_el_frame; } +<ELM>frameset/{endnm} { BEGIN(ATT); return tok_el_frameset; } +<ELM>h1/{endnm} { BEGIN(ATT); return tok_el_h1; } +<ELM>h2/{endnm} { BEGIN(ATT); return tok_el_h2; } +<ELM>h3/{endnm} { BEGIN(ATT); return tok_el_h3; } +<ELM>h4/{endnm} { BEGIN(ATT); return tok_el_h4; } +<ELM>h5/{endnm} { BEGIN(ATT); return tok_el_h5; } +<ELM>h6/{endnm} { BEGIN(ATT); return tok_el_h5; } +<ELM>head/{endnm} { BEGIN(ATT); return tok_el_head; } +<ELM>hr/{endnm} { BEGIN(ATT); return tok_el_hr; } +<ELM>html/{endnm} { BEGIN(ATT); return tok_el_html; } +<ELM>i/{endnm} { BEGIN(ATT); return tok_el_i; } +<ELM>iframe/{endnm} { BEGIN(ATT); return tok_el_iframe; } +<ELM>img/{endnm} { BEGIN(ATT); return tok_el_img; } +<ELM>input/{endnm} { BEGIN(ATT); return tok_el_input; } +<ELM>ins/{endnm} { BEGIN(ATT); return tok_el_ins; } +<ELM>kbd/{endnm} { BEGIN(ATT); return tok_el_kbd; } +<ELM>label/{endnm} { BEGIN(ATT); return tok_el_label; } +<ELM>legend/{endnm} { BEGIN(ATT); return tok_el_legend; } +<ELM>li/{endnm} { BEGIN(ATT); return tok_el_li; } +<ELM>link/{endnm} { BEGIN(ATT); return tok_el_link; } +<ELM>map/{endnm} { BEGIN(ATT); return tok_el_map; } +<ELM>menu/{endnm} { BEGIN(ATT); return tok_el_menu; } +<ELM>meta/{endnm} { BEGIN(ATT); return tok_el_meta; } +<ELM>noframes/{endnm} { BEGIN(ATT); return tok_el_noframes; } +<ELM>noscript/{endnm} { BEGIN(ATT); return tok_el_noscript; } +<ELM>object/{endnm} { BEGIN(ATT); return tok_el_object; } +<ELM>ol/{endnm} { BEGIN(ATT); return tok_el_ol; } +<ELM>optgroup/{endnm} { BEGIN(ATT); return tok_el_optgroup; } +<ELM>option/{endnm} { BEGIN(ATT); return tok_el_option; } +<ELM>p/{endnm} { BEGIN(ATT); return tok_el_p; } +<ELM>param/{endnm} { BEGIN(ATT); return tok_el_param; } +<ELM>pre/{endnm} { BEGIN(ATT); return tok_el_pre; } +<ELM>q/{endnm} { BEGIN(ATT); return tok_el_q; } +<ELM>samp/{endnm} { BEGIN(ATT); return tok_el_samp; } +<ELM>script/{endnm} { BEGIN(ATT); return tok_el_script; } +<ELM>select/{endnm} { BEGIN(ATT); return tok_el_select; } +<ELM>small/{endnm} { BEGIN(ATT); return tok_el_small; } +<ELM>span/{endnm} { BEGIN(ATT); return tok_el_span; } +<ELM>strike/{endnm} { BEGIN(ATT); return tok_el_strike; } +<ELM>strong/{endnm} { BEGIN(ATT); return tok_el_strong; } +<ELM>style/{endnm} { BEGIN(ATT); return tok_el_style; } +<ELM>sub/{endnm} { BEGIN(ATT); return tok_el_sub; } +<ELM>sup/{endnm} { BEGIN(ATT); return tok_el_sup; } +<ELM>table/{endnm} { BEGIN(ATT); return tok_el_table; } +<ELM>tbody/{endnm} { BEGIN(ATT); return tok_el_tbody; } +<ELM>td/{endnm} { BEGIN(ATT); return tok_el_td; } +<ELM>textarea/{endnm} { BEGIN(ATT); return tok_el_textarea; } +<ELM>tfoot/{endnm} { BEGIN(ATT); return tok_el_tfoot; } +<ELM>th/{endnm} { BEGIN(ATT); return tok_el_th; } +<ELM>thead/{endnm} { BEGIN(ATT); return tok_el_thead; } +<ELM>title/{endnm} { BEGIN(ATT); return tok_el_title; } +<ELM>tr/{endnm} { BEGIN(ATT); return tok_el_tr; } +<ELM>tt/{endnm} { BEGIN(ATT); return tok_el_tt; } +<ELM>u/{endnm} { BEGIN(ATT); return tok_el_u; } +<ELM>ul/{endnm} { BEGIN(ATT); return tok_el_ul; } +<ELM>var/{endnm} { BEGIN(ATT); return tok_el_var; } +<ELM>{elname} { BEGIN(ATT); return tok_el_unknown; } +<ELM>. { return yytext[0]; } + +<ATT>accept/{endnm} { return tok_at_accept; } +<ATT>accept-charset/{endnm} { return tok_at_accept_charset; } +<ATT>accesskey/{endnm} { return tok_at_accesskey; } +<ATT>action/{endnm} { return tok_at_action; } +<ATT>align/{endnm} { return tok_at_align; } +<ATT>alink/{endnm} { return tok_at_alink; } +<ATT>alt/{endnm} { return tok_at_alt; } +<ATT>archive/{endnm} { return tok_at_archive; } +<ATT>axis/{endnm} { return tok_at_axis; } +<ATT>background/{endnm} { return tok_at_background; } +<ATT>bbr/{endnm} { return tok_at_bbr; } +<ATT>bgcolor/{endnm} { return tok_at_bgcolor; } +<ATT>border/{endnm} { return tok_at_border; } +<ATT>cellpadding/{endnm} { return tok_at_cellpadding; } +<ATT>cellspacing/{endnm} { return tok_at_cellspacing; } +<ATT>char/{endnm} { return tok_at_char; } +<ATT>charoff/{endnm} { return tok_at_charoff; } +<ATT>charset/{endnm} { return tok_at_charset; } +<ATT>checked/{endnm} { return tok_at_checked; } +<ATT>cite/{endnm} { return tok_at_cite; } +<ATT>class/{endnm} { return tok_at_class; } +<ATT>classid/{endnm} { return tok_at_classid; } +<ATT>clear/{endnm} { return tok_at_clear; } +<ATT>code/{endnm} { return tok_at_code; } +<ATT>codebase/{endnm} { return tok_at_codebase; } +<ATT>codetype/{endnm} { return tok_at_codetype; } +<ATT>color/{endnm} { return tok_at_color; } +<ATT>cols/{endnm} { return tok_at_cols; } +<ATT>colspan/{endnm} { return tok_at_colspan; } +<ATT>compact/{endnm} { return tok_at_compact; } +<ATT>content/{endnm} { return tok_at_content; } +<ATT>coords/{endnm} { return tok_at_coords; } +<ATT>data/{endnm} { return tok_at_data; } +<ATT>datetime/{endnm} { return tok_at_datetime; } +<ATT>declare/{endnm} { return tok_at_declare; } +<ATT>defer/{endnm} { return tok_at_defer; } +<ATT>dir/{endnm} { return tok_at_dir; } +<ATT>disabled/{endnm} { return tok_at_disabled; } +<ATT>enctype/{endnm} { return tok_at_enctype; } +<ATT>face/{endnm} { return tok_at_face; } +<ATT>for/{endnm} { return tok_at_for; } +<ATT>frame/{endnm} { return tok_at_frame; } +<ATT>frameborder/{endnm} { return tok_at_frameborder; } +<ATT>headers/{endnm} { return tok_at_headers; } +<ATT>height/{endnm} { return tok_at_height; } +<ATT>href/{endnm} { return tok_at_href; } +<ATT>hreflang/{endnm} { return tok_at_hreflang; } +<ATT>hspace/{endnm} { return tok_at_hspace; } +<ATT>http-equiv/{endnm} { return tok_at_http_equiv; } +<ATT>id/{endnm} { return tok_at_id; } +<ATT>ismap/{endnm} { return tok_at_ismap; } +<ATT>label/{endnm} { return tok_at_label; } +<ATT>lang/{endnm} { return tok_at_lang; } +<ATT>language/{endnm} { return tok_at_language; } +<ATT>link/{endnm} { return tok_at_link; } +<ATT>longdesc/{endnm} { return tok_at_longdesc; } +<ATT>marginheight/{endnm} { return tok_at_marginheight; } +<ATT>marginwidth/{endnm} { return tok_at_marginwidth; } +<ATT>maxlength/{endnm} { return tok_at_maxlength; } +<ATT>media/{endnm} { return tok_at_media; } +<ATT>method/{endnm} { return tok_at_method; } +<ATT>multiple/{endnm} { return tok_at_multiple; } +<ATT>name/{endnm} { return tok_at_name; } +<ATT>nohref/{endnm} { return tok_at_nohref; } +<ATT>noresize/{endnm} { return tok_at_noresize; } +<ATT>noshade/{endnm} { return tok_at_noshade; } +<ATT>nowrap/{endnm} { return tok_at_nowrap; } +<ATT>object/{endnm} { return tok_at_object; } +<ATT>onblur/{endnm} { return tok_at_onblur; } +<ATT>onchange/{endnm} { return tok_at_onchange; } +<ATT>onclick/{endnm} { return tok_at_onclick; } +<ATT>ondblclick/{endnm} { return tok_at_ondblclick; } +<ATT>onfocus/{endnm} { return tok_at_onfocus; } +<ATT>onkeydown/{endnm} { return tok_at_onkeydown; } +<ATT>onkeypress/{endnm} { return tok_at_onkeypress; } +<ATT>onkeyup/{endnm} { return tok_at_onkeyup; } +<ATT>onload/{endnm} { return tok_at_onload; } +<ATT>onmousedown/{endnm} { return tok_at_onmousedown; } +<ATT>onmousemove/{endnm} { return tok_at_onmousemove; } +<ATT>onmouseout/{endnm} { return tok_at_onmouseout; } +<ATT>onmouseover/{endnm} { return tok_at_onmouseover; } +<ATT>onmouseup/{endnm} { return tok_at_onmouseup; } +<ATT>onreset/{endnm} { return tok_at_onreset; } +<ATT>onselect/{endnm} { return tok_at_onselect; } +<ATT>onsubmit/{endnm} { return tok_at_onsubmit; } +<ATT>onunload/{endnm} { return tok_at_onunload; } +<ATT>profile/{endnm} { return tok_at_profile; } +<ATT>prompt/{endnm} { return tok_at_prompt; } +<ATT>readonly/{endnm} { return tok_at_readonly; } +<ATT>rel/{endnm} { return tok_at_rel; } +<ATT>rev/{endnm} { return tok_at_rev; } +<ATT>rows/{endnm} { return tok_at_rows; } +<ATT>rowspan/{endnm} { return tok_at_rowspan; } +<ATT>rules/{endnm} { return tok_at_rules; } +<ATT>scheme/{endnm} { return tok_at_scheme; } +<ATT>scope/{endnm} { return tok_at_scope; } +<ATT>scrolling/{endnm} { return tok_at_scrolling; } +<ATT>selected/{endnm} { return tok_at_selected; } +<ATT>shape/{endnm} { return tok_at_shape; } +<ATT>size/{endnm} { return tok_at_size; } +<ATT>span/{endnm} { return tok_at_span; } +<ATT>src/{endnm} { return tok_at_src; } +<ATT>standby/{endnm} { return tok_at_standby; } +<ATT>start/{endnm} { return tok_at_start; } +<ATT>style/{endnm} { return tok_at_style; } +<ATT>summary/{endnm} { return tok_at_summary; } +<ATT>tabindex/{endnm} { return tok_at_tabindex; } +<ATT>target/{endnm} { return tok_at_target; } +<ATT>text/{endnm} { return tok_at_text; } +<ATT>title/{endnm} { return tok_at_title; } +<ATT>type/{endnm} { return tok_at_type; } +<ATT>usemap/{endnm} { return tok_at_usemap; } +<ATT>valign/{endnm} { return tok_at_valign; } +<ATT>value/{endnm} { return tok_at_value; } +<ATT>valuetype/{endnm} { return tok_at_valuetype; } +<ATT>version/{endnm} { return tok_at_version; } +<ATT>vlink/{endnm} { return tok_at_vlink; } +<ATT>vspace/{endnm} { return tok_at_vspace; } +<ATT>width/{endnm} { return tok_at_width; } +<ATT>{attrname} { return tok_at_unknown; } + +<ATT>[>] { BEGIN(INITIAL); return yytext[0]; } +<ATT>. { return yytext[0]; } + +%% |