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