Rename hb_r_* to hbr_* for consistency

This commit is contained in:
Wilson Lin 2018-07-06 16:11:02 +12:00
parent 95d7404a2e
commit fcf065f1db
33 changed files with 2463 additions and 2463 deletions

View File

@ -15,7 +15,7 @@
int main(int argc, char **argv) {
// Set up rules
hb_r_init();
hbr_init();
// Prepare config
char *input_path = NULL;

View File

@ -5,22 +5,22 @@
#include "../../util/hbchar.h"
#include "./c0.c"
static nh_set_int32_t hb_r_attrname_blacklist;
static nh_set_int32_t hbr_attrname_blacklist;
void hb_r_attrname_init(void) {
hb_r_attrname_blacklist = nh_set_int32_create();
hb_r_c0_add_elems(hb_r_attrname_blacklist);
nh_set_int32_add(hb_r_attrname_blacklist, ' ');
nh_set_int32_add(hb_r_attrname_blacklist, '"');
nh_set_int32_add(hb_r_attrname_blacklist, '\'');
nh_set_int32_add(hb_r_attrname_blacklist, '>');
nh_set_int32_add(hb_r_attrname_blacklist, '/');
nh_set_int32_add(hb_r_attrname_blacklist, '=');
void hbr_attrname_init(void) {
hbr_attrname_blacklist = nh_set_int32_create();
hbr_c0_add_elems(hbr_attrname_blacklist);
nh_set_int32_add(hbr_attrname_blacklist, ' ');
nh_set_int32_add(hbr_attrname_blacklist, '"');
nh_set_int32_add(hbr_attrname_blacklist, '\'');
nh_set_int32_add(hbr_attrname_blacklist, '>');
nh_set_int32_add(hbr_attrname_blacklist, '/');
nh_set_int32_add(hbr_attrname_blacklist, '=');
// NOTE: Unicode noncharacters not tested (https://html.spec.whatwg.org/multipage/syntax.html#syntax-attribute-name)
}
int hb_r_attrname_check(hb_char_t c) {
return !nh_set_int32_has(hb_r_attrname_blacklist, c);
int hbr_attrname_check(hb_char_t c) {
return !nh_set_int32_has(hbr_attrname_blacklist, c);
}
#endif // _HDR_HYPERBUILD_RULE_ATTRNAME

View File

@ -5,16 +5,16 @@
#include "../../util/hbchar.h"
#include "./c0.c"
static nh_set_int32_t hb_r_attrvalquote_set;
static nh_set_int32_t hbr_attrvalquote_set;
void hb_r_attrvalquote_init(void) {
hb_r_attrvalquote_set = nh_set_int32_create();
nh_set_int32_add(hb_r_attrvalquote_set, '\'');
nh_set_int32_add(hb_r_attrvalquote_set, '"');
void hbr_attrvalquote_init(void) {
hbr_attrvalquote_set = nh_set_int32_create();
nh_set_int32_add(hbr_attrvalquote_set, '\'');
nh_set_int32_add(hbr_attrvalquote_set, '"');
}
int hb_r_attrvalquote_check(hb_char_t c) {
return !nh_set_int32_has(hb_r_attrvalquote_set, c);
int hbr_attrvalquote_check(hb_char_t c) {
return !nh_set_int32_has(hbr_attrvalquote_set, c);
}
#endif // _HDR_HYPERBUILD_RULE_ATTRVALQUOTE

View File

@ -4,21 +4,21 @@
#include "../../ext/nicehash/set/int32.h"
#include "../../util/hbchar.h"
static nh_set_int32_t hb_r_c0_set;
static nh_set_int32_t hbr_c0_set;
void hb_r_c0_add_elems(nh_set_int32_t set) {
void hbr_c0_add_elems(nh_set_int32_t set) {
for (char c = 0x0; c <= 0x1F; c++) {
nh_set_int32_add(set, c);
}
}
void hb_r_c0_init(void) {
hb_r_c0_set = nh_set_int32_create();
hb_r_c0_add_elems(hb_r_c0_set);
void hbr_c0_init(void) {
hbr_c0_set = nh_set_int32_create();
hbr_c0_add_elems(hbr_c0_set);
}
int hb_r_c0_check(hb_char_t c) {
return nh_set_int32_has(hb_r_c0_set, c);
int hbr_c0_check(hb_char_t c) {
return nh_set_int32_has(hbr_c0_set, c);
}
#endif // _HDR_HYPERBUILD_RULE_C0

View File

@ -4,21 +4,21 @@
#include "../../ext/nicehash/set/int32.h"
#include "../../util/hbchar.h"
static nh_set_int32_t hb_r_digit_set;
static nh_set_int32_t hbr_digit_set;
void hb_r_digit_add_elems(nh_set_int32_t set) {
void hbr_digit_add_elems(nh_set_int32_t set) {
for (char c = 0x30; c <= 0x39; c++) {
nh_set_int32_add(set, c);
}
}
void hb_r_digit_init(void) {
hb_r_digit_set = nh_set_int32_create();
hb_r_digit_add_elems(hb_r_digit_set);
void hbr_digit_init(void) {
hbr_digit_set = nh_set_int32_create();
hbr_digit_add_elems(hbr_digit_set);
}
int hb_r_digit_check(hb_char_t c) {
return nh_set_int32_has(hb_r_digit_set, c);
int hbr_digit_check(hb_char_t c) {
return nh_set_int32_has(hbr_digit_set, c);
}
#endif // _HDR_HYPERBUILD_RULE_DIGIT

View File

@ -4,21 +4,21 @@
#include "../../ext/nicehash/set/int32.h"
#include "../../util/hbchar.h"
static nh_set_int32_t hb_r_lcalpha_set;
static nh_set_int32_t hbr_lcalpha_set;
void hb_r_lcalpha_add_elems(nh_set_int32_t set) {
void hbr_lcalpha_add_elems(nh_set_int32_t set) {
for (char c = 0x61; c <= 0x7A; c++) {
nh_set_int32_add(set, c);
}
}
void hb_r_lcalpha_init(void) {
hb_r_lcalpha_set = nh_set_int32_create();
hb_r_lcalpha_add_elems(hb_r_lcalpha_set);
void hbr_lcalpha_init(void) {
hbr_lcalpha_set = nh_set_int32_create();
hbr_lcalpha_add_elems(hbr_lcalpha_set);
}
int hb_r_lcalpha_check(hb_char_t c) {
return nh_set_int32_has(hb_r_lcalpha_set, c);
int hbr_lcalpha_check(hb_char_t c) {
return nh_set_int32_has(hbr_lcalpha_set, c);
}
#endif // _HDR_HYPERBUILD_RULE_LCALPHA

View File

@ -7,17 +7,17 @@
#include "./ucalpha.c"
#include "./digit.c"
static nh_set_int32_t hb_r_tagname_set;
static nh_set_int32_t hbr_tagname_set;
void hb_r_tagname_init(void) {
hb_r_tagname_set = nh_set_int32_create();
hb_r_lcalpha_add_elems(hb_r_tagname_set);
hb_r_ucalpha_add_elems(hb_r_tagname_set);
hb_r_digit_add_elems(hb_r_tagname_set);
void hbr_tagname_init(void) {
hbr_tagname_set = nh_set_int32_create();
hbr_lcalpha_add_elems(hbr_tagname_set);
hbr_ucalpha_add_elems(hbr_tagname_set);
hbr_digit_add_elems(hbr_tagname_set);
}
int hb_r_tagname_check(hb_char_t c) {
return nh_set_int32_has(hb_r_tagname_set, c);
int hbr_tagname_check(hb_char_t c) {
return nh_set_int32_has(hbr_tagname_set, c);
}
#endif // _HDR_HYPERBUILD_RULE_TAGNAME

View File

@ -4,21 +4,21 @@
#include "../../ext/nicehash/set/int32.h"
#include "../../util/hbchar.h"
static nh_set_int32_t hb_r_ucalpha_set;
static nh_set_int32_t hbr_ucalpha_set;
void hb_r_ucalpha_add_elems(nh_set_int32_t set) {
void hbr_ucalpha_add_elems(nh_set_int32_t set) {
for (char c = 0x41; c <= 0x5A; c++) {
nh_set_int32_add(set, c);
}
}
void hb_r_ucalpha_init(void) {
hb_r_ucalpha_set = nh_set_int32_create();
hb_r_ucalpha_add_elems(hb_r_ucalpha_set);
void hbr_ucalpha_init(void) {
hbr_ucalpha_set = nh_set_int32_create();
hbr_ucalpha_add_elems(hbr_ucalpha_set);
}
int hb_r_ucalpha_check(hb_char_t c) {
return nh_set_int32_has(hb_r_ucalpha_set, c);
int hbr_ucalpha_check(hb_char_t c) {
return nh_set_int32_has(hbr_ucalpha_set, c);
}
#endif // _HDR_HYPERBUILD_RULE_UCALPHA

View File

@ -5,21 +5,21 @@
#include "../../util/hbchar.h"
#include "./whitespace.c"
static nh_set_int32_t hb_r_unquotedattrval_blacklist;
static nh_set_int32_t hbr_unquotedattrval_blacklist;
void hb_r_unquotedattrval_init(void) {
hb_r_unquotedattrval_blacklist = nh_set_int32_create();
hb_r_whitespace_add_elems(hb_r_unquotedattrval_blacklist);
nh_set_int32_add(hb_r_unquotedattrval_blacklist, '"');
nh_set_int32_add(hb_r_unquotedattrval_blacklist, '\'');
nh_set_int32_add(hb_r_unquotedattrval_blacklist, '`');
nh_set_int32_add(hb_r_unquotedattrval_blacklist, '=');
nh_set_int32_add(hb_r_unquotedattrval_blacklist, '<');
nh_set_int32_add(hb_r_unquotedattrval_blacklist, '>');
void hbr_unquotedattrval_init(void) {
hbr_unquotedattrval_blacklist = nh_set_int32_create();
hbr_whitespace_add_elems(hbr_unquotedattrval_blacklist);
nh_set_int32_add(hbr_unquotedattrval_blacklist, '"');
nh_set_int32_add(hbr_unquotedattrval_blacklist, '\'');
nh_set_int32_add(hbr_unquotedattrval_blacklist, '`');
nh_set_int32_add(hbr_unquotedattrval_blacklist, '=');
nh_set_int32_add(hbr_unquotedattrval_blacklist, '<');
nh_set_int32_add(hbr_unquotedattrval_blacklist, '>');
}
int hb_r_unquotedattrval_check(hb_char_t c) {
return !nh_set_int32_has(hb_r_unquotedattrval_blacklist, c);
int hbr_unquotedattrval_check(hb_char_t c) {
return !nh_set_int32_has(hbr_unquotedattrval_blacklist, c);
}
#endif // _HDR_HYPERBUILD_RULE_UNQUOTEDATTRVAL

View File

@ -4,9 +4,9 @@
#include "../../ext/nicehash/set/int32.h"
#include "../../util/hbchar.h"
static nh_set_int32_t hb_r_whitespace_set;
static nh_set_int32_t hbr_whitespace_set;
void hb_r_whitespace_add_elems(nh_set_int32_t set) {
void hbr_whitespace_add_elems(nh_set_int32_t set) {
nh_set_int32_add(set, 0x09); // TAB
nh_set_int32_add(set, 0x0A); // LF
nh_set_int32_add(set, 0x0C); // FF
@ -14,13 +14,13 @@ void hb_r_whitespace_add_elems(nh_set_int32_t set) {
nh_set_int32_add(set, 0x20); // SPACE
}
void hb_r_whitespace_init(void) {
hb_r_whitespace_set = nh_set_int32_create();
hb_r_whitespace_add_elems(hb_r_whitespace_set);
void hbr_whitespace_init(void) {
hbr_whitespace_set = nh_set_int32_create();
hbr_whitespace_add_elems(hbr_whitespace_set);
}
int hb_r_whitespace_check(hb_char_t c) {
return nh_set_int32_has(hb_r_whitespace_set, c);
int hbr_whitespace_check(hb_char_t c) {
return nh_set_int32_has(hbr_whitespace_set, c);
}
#endif // _HDR_HYPERBUILD_RULE_WHITESPACE

File diff suppressed because it is too large Load Diff

View File

@ -30,45 +30,45 @@
#include "./tag/voidtags.c"
#include "./tag/wsstags.c"
void hb_r_init(void) {
void hbr_init(void) {
// Core
hb_r_c0_init();
hb_r_digit_init();
hb_r_ucalpha_init();
hb_r_lcalpha_init();
hb_r_whitespace_init();
hbr_c0_init();
hbr_digit_init();
hbr_ucalpha_init();
hbr_lcalpha_init();
hbr_whitespace_init();
// Identifiers
hb_r_tagname_init();
hb_r_attrname_init();
hbr_tagname_init();
hbr_attrname_init();
// Values
hb_r_attrvalquote_init();
hb_r_unquotedattrval_init();
hb_r_entityrefs_init();
hbr_attrvalquote_init();
hbr_unquotedattrval_init();
hbr_entityrefs_init();
// Specification tag categories
hb_r_headingtags_init();
hb_r_mediatags_init();
hb_r_sectioningtags_init();
hb_r_voidtags_init();
hb_r_wsstags_init();
hbr_headingtags_init();
hbr_mediatags_init();
hbr_sectioningtags_init();
hb_r_tags_init();
hbr_voidtags_init();
hbr_wsstags_init();
hbr_tags_init();
// Hyperbuild tag categories
hb_r_contentfirsttags_init();
hb_r_contenttags_init();
hb_r_formattingtags_init();
hb_r_layouttags_init();
hb_r_specifictags_init();
hbr_contentfirsttags_init();
hbr_contenttags_init();
hbr_formattingtags_init();
hbr_layouttags_init();
hbr_specifictags_init();
// Relations
hb_r_whitelistparents_init();
hb_r_blacklistparents_init();
hb_r_whitelistchildren_init();
hb_r_blacklistchildren_init();
hbr_whitelistparents_init();
hbr_blacklistparents_init();
hbr_whitelistchildren_init();
hbr_blacklistchildren_init();
}
#endif // _HDR_HYPERBUILD_RULE_INIT

View File

@ -7,85 +7,85 @@
#include "../tag/mediatags.c"
#include "../tag/sectioningtags.c"
static nh_map_str_strset_t hb_r_blacklistchildren_map;
static nh_map_str_strset_t hbr_blacklistchildren_map;
void hb_r_blacklistchildren_init(void) {
hb_r_blacklistchildren_map = nh_map_str_strset_create();
void hbr_blacklistchildren_init(void) {
hbr_blacklistchildren_map = nh_map_str_strset_create();
// <address>
nh_set_str_t address = nh_set_str_create();
hb_r_headingtags_add_elems(address);
hb_r_sectioningtags_add_elems(address);
hbr_headingtags_add_elems(address);
hbr_sectioningtags_add_elems(address);
nh_set_str_add(address, "address");
nh_set_str_add(address, "header");
nh_set_str_add(address, "footer");
nh_map_str_strset_set(hb_r_blacklistchildren_map, "address", address);
nh_map_str_strset_set(hbr_blacklistchildren_map, "address", address);
// <audio>
nh_set_str_t audio = nh_set_str_create();
hb_r_mediatags_add_elems(audio);
nh_map_str_strset_set(hb_r_blacklistchildren_map, "audio", audio);
hbr_mediatags_add_elems(audio);
nh_map_str_strset_set(hbr_blacklistchildren_map, "audio", audio);
// <dfn>
nh_set_str_t dfn = nh_set_str_create();
nh_set_str_add(dfn, "dfn");
nh_map_str_strset_set(hb_r_blacklistchildren_map, "dfn", dfn);
nh_map_str_strset_set(hbr_blacklistchildren_map, "dfn", dfn);
// <dt>
nh_set_str_t dt = nh_set_str_create();
hb_r_headingtags_add_elems(dt);
hb_r_sectioningtags_add_elems(dt);
hbr_headingtags_add_elems(dt);
hbr_sectioningtags_add_elems(dt);
nh_set_str_add(dt, "header");
nh_set_str_add(dt, "footer");
nh_map_str_strset_set(hb_r_blacklistchildren_map, "dt", dt);
nh_map_str_strset_set(hbr_blacklistchildren_map, "dt", dt);
// <footer>
nh_set_str_t footer = nh_set_str_create();
nh_set_str_add(footer, "header");
nh_set_str_add(footer, "footer");
nh_map_str_strset_set(hb_r_blacklistchildren_map, "footer", footer);
nh_map_str_strset_set(hbr_blacklistchildren_map, "footer", footer);
// <form>
nh_set_str_t form = nh_set_str_create();
nh_set_str_add(form, "form");
nh_map_str_strset_set(hb_r_blacklistchildren_map, "form", form);
nh_map_str_strset_set(hbr_blacklistchildren_map, "form", form);
// <header>
nh_set_str_t header = nh_set_str_create();
nh_set_str_add(header, "header");
nh_set_str_add(header, "footer");
nh_map_str_strset_set(hb_r_blacklistchildren_map, "header", header);
nh_map_str_strset_set(hbr_blacklistchildren_map, "header", header);
// <label>
nh_set_str_t label = nh_set_str_create();
nh_set_str_add(label, "label");
nh_map_str_strset_set(hb_r_blacklistchildren_map, "label", label);
nh_map_str_strset_set(hbr_blacklistchildren_map, "label", label);
// <progress>
nh_set_str_t progress = nh_set_str_create();
nh_set_str_add(progress, "progress");
nh_map_str_strset_set(hb_r_blacklistchildren_map, "progress", progress);
nh_map_str_strset_set(hbr_blacklistchildren_map, "progress", progress);
// <th>
nh_set_str_t th = nh_set_str_create();
hb_r_headingtags_add_elems(th);
hb_r_sectioningtags_add_elems(th);
hbr_headingtags_add_elems(th);
hbr_sectioningtags_add_elems(th);
nh_set_str_add(th, "header");
nh_set_str_add(th, "footer");
nh_map_str_strset_set(hb_r_blacklistchildren_map, "th", th);
nh_map_str_strset_set(hbr_blacklistchildren_map, "th", th);
// <video>
nh_set_str_t video = nh_set_str_create();
hb_r_mediatags_add_elems(video);
nh_map_str_strset_set(hb_r_blacklistchildren_map, "video", video);
hbr_mediatags_add_elems(video);
nh_map_str_strset_set(hbr_blacklistchildren_map, "video", video);
}
int hb_r_blacklistchildren_check(hb_char_t *parent) {
return nh_map_str_strset_has(hb_r_blacklistchildren_map, (char *) parent);
int hbr_blacklistchildren_check(hb_char_t *parent) {
return nh_map_str_strset_has(hbr_blacklistchildren_map, (char *) parent);
}
int hb_r_blacklistchildren_has(hb_char_t *parent, hb_char_t *child) {
nh_set_str_t set = nh_map_str_strset_get(hb_r_blacklistchildren_map, (char *) parent, NULL);
int hbr_blacklistchildren_has(hb_char_t *parent, hb_char_t *child) {
nh_set_str_t set = nh_map_str_strset_get(hbr_blacklistchildren_map, (char *) parent, NULL);
return nh_set_str_has(set, (char *) child);
}

View File

@ -4,18 +4,18 @@
#include "../../datastructure/map/str-strset.h"
#include "../../util/hbchar.h"
static nh_map_str_strset_t hb_r_blacklistparents_map;
static nh_map_str_strset_t hbr_blacklistparents_map;
void hb_r_blacklistparents_init(void) {
hb_r_blacklistparents_map = nh_map_str_strset_create();
void hbr_blacklistparents_init(void) {
hbr_blacklistparents_map = nh_map_str_strset_create();
}
int hb_r_blacklistparents_check(hb_char_t *child) {
return nh_map_str_strset_has(hb_r_blacklistparents_map, (char *) child);
int hbr_blacklistparents_check(hb_char_t *child) {
return nh_map_str_strset_has(hbr_blacklistparents_map, (char *) child);
}
int hb_r_blacklistparents_has(hb_char_t *child, hb_char_t *parent) {
nh_set_str_t set = nh_map_str_strset_get(hb_r_blacklistparents_map, (char *) child, NULL);
int hbr_blacklistparents_has(hb_char_t *child, hb_char_t *parent) {
nh_set_str_t set = nh_map_str_strset_get(hbr_blacklistparents_map, (char *) child, NULL);
return nh_set_str_has(set, (char *) parent);
}

View File

@ -5,53 +5,53 @@
#include "../../util/hbchar.h"
#include "../tag/headingtags.c"
static nh_map_str_strset_t hb_r_whitelistchildren_map;
static nh_map_str_strset_t hbr_whitelistchildren_map;
void hb_r_whitelistchildren_init(void) {
hb_r_whitelistchildren_map = nh_map_str_strset_create();
void hbr_whitelistchildren_init(void) {
hbr_whitelistchildren_map = nh_map_str_strset_create();
// <colgroup>
nh_set_str_t colgroup = nh_set_str_create();
nh_set_str_add(colgroup, "col");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "colgroup", colgroup);
nh_map_str_strset_set(hbr_whitelistchildren_map, "colgroup", colgroup);
// <datalist>
nh_set_str_t datalist = nh_set_str_create();
nh_set_str_add(datalist, "option");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "datalist", datalist);
nh_map_str_strset_set(hbr_whitelistchildren_map, "datalist", datalist);
// <dl>
nh_set_str_t dl = nh_set_str_create();
nh_set_str_add(dl, "dt");
nh_set_str_add(dl, "dd");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "dl", dl);
nh_map_str_strset_set(hbr_whitelistchildren_map, "dl", dl);
// <hgroup>
nh_set_str_t hgroup = nh_set_str_create();
hb_r_headingtags_add_elems(hgroup);
nh_map_str_strset_set(hb_r_whitelistchildren_map, "hgroup", hgroup);
hbr_headingtags_add_elems(hgroup);
nh_map_str_strset_set(hbr_whitelistchildren_map, "hgroup", hgroup);
// <ol>
nh_set_str_t ol = nh_set_str_create();
nh_set_str_add(ol, "li");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "ol", ol);
nh_map_str_strset_set(hbr_whitelistchildren_map, "ol", ol);
// <optgroup>
nh_set_str_t optgroup = nh_set_str_create();
nh_set_str_add(optgroup, "option");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "optgroup", optgroup);
nh_map_str_strset_set(hbr_whitelistchildren_map, "optgroup", optgroup);
// <picture>
nh_set_str_t picture = nh_set_str_create();
nh_set_str_add(picture, "source");
nh_set_str_add(picture, "img");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "picture", picture);
nh_map_str_strset_set(hbr_whitelistchildren_map, "picture", picture);
// <select>
nh_set_str_t select = nh_set_str_create();
nh_set_str_add(select, "optgroup");
nh_set_str_add(select, "option");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "select", select);
nh_map_str_strset_set(hbr_whitelistchildren_map, "select", select);
// <table>
nh_set_str_t table = nh_set_str_create();
@ -62,22 +62,22 @@ void hb_r_whitelistchildren_init(void) {
nh_set_str_add(table, "tbody");
nh_set_str_add(table, "tfoot");
nh_set_str_add(table, "tr");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "table", table);
nh_map_str_strset_set(hbr_whitelistchildren_map, "table", table);
// <tbody>
nh_set_str_t tbody = nh_set_str_create();
nh_set_str_add(tbody, "tr");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "tbody", tbody);
nh_map_str_strset_set(hbr_whitelistchildren_map, "tbody", tbody);
// <tfoot>
nh_set_str_t tfoot = nh_set_str_create();
nh_set_str_add(tfoot, "tr");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "tfoot", tfoot);
nh_map_str_strset_set(hbr_whitelistchildren_map, "tfoot", tfoot);
// <thead>
nh_set_str_t thead = nh_set_str_create();
nh_set_str_add(thead, "tr");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "thead", thead);
nh_map_str_strset_set(hbr_whitelistchildren_map, "thead", thead);
// <tr>
nh_set_str_t tr = nh_set_str_create();
@ -85,20 +85,20 @@ void hb_r_whitelistchildren_init(void) {
nh_set_str_add(tr, "th");
nh_set_str_add(tr, "template");
nh_set_str_add(tr, "script");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "tr", tr);
nh_map_str_strset_set(hbr_whitelistchildren_map, "tr", tr);
// <ul>
nh_set_str_t ul = nh_set_str_create();
nh_set_str_add(ul, "li");
nh_map_str_strset_set(hb_r_whitelistchildren_map, "ul", ul);
nh_map_str_strset_set(hbr_whitelistchildren_map, "ul", ul);
}
int hb_r_whitelistchildren_check(hb_char_t *parent) {
return nh_map_str_strset_has(hb_r_whitelistchildren_map, (char *) parent);
int hbr_whitelistchildren_check(hb_char_t *parent) {
return nh_map_str_strset_has(hbr_whitelistchildren_map, (char *) parent);
}
int hb_r_whitelistchildren_has(hb_char_t *parent, hb_char_t *child) {
nh_set_str_t set = nh_map_str_strset_get(hb_r_whitelistchildren_map, (char *) parent, NULL);
int hbr_whitelistchildren_has(hb_char_t *parent, hb_char_t *child) {
nh_set_str_t set = nh_map_str_strset_get(hbr_whitelistchildren_map, (char *) parent, NULL);
return nh_set_str_has(set, (char *) child);
}

View File

@ -5,126 +5,126 @@
#include "../../util/hbchar.h"
#include "../tag/mediatags.c"
static nh_map_str_strset_t hb_r_whitelistparents_map;
static nh_map_str_strset_t hbr_whitelistparents_map;
void hb_r_whitelistparents_init(void) {
hb_r_whitelistparents_map = nh_map_str_strset_create();
void hbr_whitelistparents_init(void) {
hbr_whitelistparents_map = nh_map_str_strset_create();
// <caption>
nh_set_str_t caption = nh_set_str_create();
nh_set_str_add(caption, "table");
nh_map_str_strset_set(hb_r_whitelistparents_map, "caption", caption);
nh_map_str_strset_set(hbr_whitelistparents_map, "caption", caption);
// <col>
nh_set_str_t col = nh_set_str_create();
nh_set_str_add(col, "table");
nh_set_str_add(col, "colgroup");
nh_map_str_strset_set(hb_r_whitelistparents_map, "col", col);
nh_map_str_strset_set(hbr_whitelistparents_map, "col", col);
// <colgroup>
nh_set_str_t colgroup = nh_set_str_create();
nh_set_str_add(colgroup, "table");
nh_map_str_strset_set(hb_r_whitelistparents_map, "colgroup", colgroup);
nh_map_str_strset_set(hbr_whitelistparents_map, "colgroup", colgroup);
// <dd>
nh_set_str_t dd = nh_set_str_create();
nh_set_str_add(dd, "dl");
nh_map_str_strset_set(hb_r_whitelistparents_map, "dd", dd);
nh_map_str_strset_set(hbr_whitelistparents_map, "dd", dd);
// <dt>
nh_set_str_t dt = nh_set_str_create();
nh_set_str_add(dt, "dl");
nh_map_str_strset_set(hb_r_whitelistparents_map, "dt", dt);
nh_map_str_strset_set(hbr_whitelistparents_map, "dt", dt);
// <figcaption>
nh_set_str_t figcaption = nh_set_str_create();
nh_set_str_add(figcaption, "figure");
nh_map_str_strset_set(hb_r_whitelistparents_map, "figcaption", figcaption);
nh_map_str_strset_set(hbr_whitelistparents_map, "figcaption", figcaption);
// <legend>
nh_set_str_t legend = nh_set_str_create();
nh_set_str_add(legend, "fieldset");
nh_map_str_strset_set(hb_r_whitelistparents_map, "legend", legend);
nh_map_str_strset_set(hbr_whitelistparents_map, "legend", legend);
// <li>
nh_set_str_t li = nh_set_str_create();
nh_set_str_add(li, "ul");
nh_set_str_add(li, "ol");
nh_set_str_add(li, "menu");
nh_map_str_strset_set(hb_r_whitelistparents_map, "li", li);
nh_map_str_strset_set(hbr_whitelistparents_map, "li", li);
// <optgroup>
nh_set_str_t optgroup = nh_set_str_create();
nh_set_str_add(optgroup, "select");
nh_map_str_strset_set(hb_r_whitelistparents_map, "optgroup", optgroup);
nh_map_str_strset_set(hbr_whitelistparents_map, "optgroup", optgroup);
// <option>
nh_set_str_t option = nh_set_str_create();
nh_set_str_add(option, "select");
nh_set_str_add(option, "optgroup");
nh_set_str_add(option, "datalist");
nh_map_str_strset_set(hb_r_whitelistparents_map, "option", option);
nh_map_str_strset_set(hbr_whitelistparents_map, "option", option);
// <param>
nh_set_str_t param = nh_set_str_create();
nh_set_str_add(param, "object");
nh_map_str_strset_set(hb_r_whitelistparents_map, "param", param);
nh_map_str_strset_set(hbr_whitelistparents_map, "param", param);
// <rp>
nh_set_str_t rp = nh_set_str_create();
nh_set_str_add(rp, "ruby");
nh_map_str_strset_set(hb_r_whitelistparents_map, "rp", rp);
nh_map_str_strset_set(hbr_whitelistparents_map, "rp", rp);
// <rt>
nh_set_str_t rt = nh_set_str_create();
nh_set_str_add(rt, "ruby");
nh_map_str_strset_set(hb_r_whitelistparents_map, "rt", rt);
nh_map_str_strset_set(hbr_whitelistparents_map, "rt", rt);
// <rtc>
nh_set_str_t rtc = nh_set_str_create();
nh_set_str_add(rtc, "ruby");
nh_map_str_strset_set(hb_r_whitelistparents_map, "rtc", rtc);
nh_map_str_strset_set(hbr_whitelistparents_map, "rtc", rtc);
// <summary>
nh_set_str_t summary = nh_set_str_create();
nh_set_str_add(summary, "details");
nh_map_str_strset_set(hb_r_whitelistparents_map, "summary", summary);
nh_map_str_strset_set(hbr_whitelistparents_map, "summary", summary);
// <source>
nh_set_str_t source = nh_set_str_create();
hb_r_mediatags_add_elems(source);
hbr_mediatags_add_elems(source);
nh_set_str_add(source, "picture");
nh_map_str_strset_set(hb_r_whitelistparents_map, "source", source);
nh_map_str_strset_set(hbr_whitelistparents_map, "source", source);
// <track>
nh_set_str_t track = nh_set_str_create();
hb_r_mediatags_add_elems(track);
nh_map_str_strset_set(hb_r_whitelistparents_map, "track", track);
hbr_mediatags_add_elems(track);
nh_map_str_strset_set(hbr_whitelistparents_map, "track", track);
// <tbody>
nh_set_str_t tbody = nh_set_str_create();
nh_set_str_add(tbody, "table");
nh_map_str_strset_set(hb_r_whitelistparents_map, "tbody", tbody);
nh_map_str_strset_set(hbr_whitelistparents_map, "tbody", tbody);
// <td>
nh_set_str_t td = nh_set_str_create();
nh_set_str_add(td, "tr");
nh_map_str_strset_set(hb_r_whitelistparents_map, "td", td);
nh_map_str_strset_set(hbr_whitelistparents_map, "td", td);
// <tfoot>
nh_set_str_t tfoot = nh_set_str_create();
nh_set_str_add(tfoot, "table");
nh_map_str_strset_set(hb_r_whitelistparents_map, "tfoot", tfoot);
nh_map_str_strset_set(hbr_whitelistparents_map, "tfoot", tfoot);
// <th>
nh_set_str_t th = nh_set_str_create();
nh_set_str_add(th, "tr");
nh_map_str_strset_set(hb_r_whitelistparents_map, "th", th);
nh_map_str_strset_set(hbr_whitelistparents_map, "th", th);
// <thead>
nh_set_str_t thead = nh_set_str_create();
nh_set_str_add(thead, "table");
nh_map_str_strset_set(hb_r_whitelistparents_map, "thead", thead);
nh_map_str_strset_set(hbr_whitelistparents_map, "thead", thead);
// <tr>
nh_set_str_t tr = nh_set_str_create();
@ -132,18 +132,18 @@ void hb_r_whitelistparents_init(void) {
nh_set_str_add(tr, "thead");
nh_set_str_add(tr, "tbody");
nh_set_str_add(tr, "tfoot");
nh_map_str_strset_set(hb_r_whitelistparents_map, "tr", tr);
nh_map_str_strset_set(hbr_whitelistparents_map, "tr", tr);
// <template>
// Should be <body>, <frameset>, <head>, <dl>, <colgroup>, but ignoring
}
int hb_r_whitelistparents_check(hb_char_t *child) {
return nh_map_str_strset_has(hb_r_whitelistparents_map, (char *) child);
int hbr_whitelistparents_check(hb_char_t *child) {
return nh_map_str_strset_has(hbr_whitelistparents_map, (char *) child);
}
int hb_r_whitelistparents_has(hb_char_t *child, hb_char_t *parent) {
nh_set_str_t set = nh_map_str_strset_get(hb_r_whitelistparents_map, (char *) child, NULL);
int hbr_whitelistparents_has(hb_char_t *child, hb_char_t *parent) {
nh_set_str_t set = nh_map_str_strset_get(hbr_whitelistparents_map, (char *) child, NULL);
return nh_set_str_has(set, (char *) parent);
}

View File

@ -4,9 +4,9 @@
#include "../../ext/nicehash/set/str.h"
#include "../../util/hbchar.h"
static nh_set_str_t hb_r_contentfirsttags_set;
static nh_set_str_t hbr_contentfirsttags_set;
void hb_r_contentfirsttags_add_elems(nh_set_str_t set) {
void hbr_contentfirsttags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "dd");
nh_set_str_add(set, "details");
nh_set_str_add(set, "dt");
@ -22,13 +22,13 @@ void hb_r_contentfirsttags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "th");
}
void hb_r_contentfirsttags_init(void) {
hb_r_contentfirsttags_set = nh_set_str_create();
hb_r_contentfirsttags_add_elems(hb_r_contentfirsttags_set);
void hbr_contentfirsttags_init(void) {
hbr_contentfirsttags_set = nh_set_str_create();
hbr_contentfirsttags_add_elems(hbr_contentfirsttags_set);
}
int hb_r_contentfirsttags_check(hb_char_t *tag) {
return nh_set_str_has(hb_r_contentfirsttags_set, (char *) tag);
int hbr_contentfirsttags_check(hb_char_t *tag) {
return nh_set_str_has(hbr_contentfirsttags_set, (char *) tag);
}
#endif // _HDR_HYPERBUILD_RULE_CONTENTFIRSTTAGS

View File

@ -4,9 +4,9 @@
#include "../../ext/nicehash/set/str.h"
#include "../../util/hbchar.h"
static nh_set_str_t hb_r_contenttags_set;
static nh_set_str_t hbr_contenttags_set;
void hb_r_contenttags_add_elems(nh_set_str_t set) {
void hbr_contenttags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "address");
nh_set_str_add(set, "audio");
nh_set_str_add(set, "button");
@ -29,13 +29,13 @@ void hb_r_contenttags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "video");
}
void hb_r_contenttags_init(void) {
hb_r_contenttags_set = nh_set_str_create();
hb_r_contenttags_add_elems(hb_r_contenttags_set);
void hbr_contenttags_init(void) {
hbr_contenttags_set = nh_set_str_create();
hbr_contenttags_add_elems(hbr_contenttags_set);
}
int hb_r_contenttags_check(hb_char_t *tag) {
return nh_set_str_has(hb_r_contenttags_set, (char *) tag);
int hbr_contenttags_check(hb_char_t *tag) {
return nh_set_str_has(hbr_contenttags_set, (char *) tag);
}
#endif // _HDR_HYPERBUILD_RULE_CONTENTTAGS

View File

@ -4,9 +4,9 @@
#include "../../ext/nicehash/set/str.h"
#include "../../util/hbchar.h"
static nh_set_str_t hb_r_formattingtags_set;
static nh_set_str_t hbr_formattingtags_set;
void hb_r_formattingtags_add_elems(nh_set_str_t set) {
void hbr_formattingtags_add_elems(nh_set_str_t set) {
// Difference to MDN's inline text semantics list: -br, +del, +ins
nh_set_str_add(set, "a");
nh_set_str_add(set, "abbr");
@ -41,13 +41,13 @@ void hb_r_formattingtags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "wbr");
}
void hb_r_formattingtags_init(void) {
hb_r_formattingtags_set = nh_set_str_create();
hb_r_formattingtags_add_elems(hb_r_formattingtags_set);
void hbr_formattingtags_init(void) {
hbr_formattingtags_set = nh_set_str_create();
hbr_formattingtags_add_elems(hbr_formattingtags_set);
}
int hb_r_formattingtags_check(hb_char_t *tag) {
return nh_set_str_has(hb_r_formattingtags_set, (char *) tag);
int hbr_formattingtags_check(hb_char_t *tag) {
return nh_set_str_has(hbr_formattingtags_set, (char *) tag);
}
#endif // _HDR_HYPERBUILD_RULE_FORMATTINGTAGS

View File

@ -4,9 +4,9 @@
#include "../../ext/nicehash/set/str.h"
#include "../../util/hbchar.h"
static nh_set_str_t hb_r_headingtags_set;
static nh_set_str_t hbr_headingtags_set;
void hb_r_headingtags_add_elems(nh_set_str_t set) {
void hbr_headingtags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "hgroup");
nh_set_str_add(set, "h1");
nh_set_str_add(set, "h2");
@ -16,13 +16,13 @@ void hb_r_headingtags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "h6");
}
void hb_r_headingtags_init(void) {
hb_r_headingtags_set = nh_set_str_create();
hb_r_headingtags_add_elems(hb_r_headingtags_set);
void hbr_headingtags_init(void) {
hbr_headingtags_set = nh_set_str_create();
hbr_headingtags_add_elems(hbr_headingtags_set);
}
int hb_r_headingtags_check(hb_char_t *tag) {
return nh_set_str_has(hb_r_headingtags_set, (char *) tag);
int hbr_headingtags_check(hb_char_t *tag) {
return nh_set_str_has(hbr_headingtags_set, (char *) tag);
}
#endif // _HDR_HYPERBUILD_RULE_HEADINGTAGS

View File

@ -5,10 +5,10 @@
#include "../../util/hbchar.h"
#include "./sectioningtags.c"
static nh_set_str_t hb_r_layouttags_set;
static nh_set_str_t hbr_layouttags_set;
void hb_r_layouttags_add_elems(nh_set_str_t set) {
hb_r_sectioningtags_add_elems(set);
void hbr_layouttags_add_elems(nh_set_str_t set) {
hbr_sectioningtags_add_elems(set);
nh_set_str_add(set, "blockquote");
nh_set_str_add(set, "body");
nh_set_str_add(set, "colgroup");
@ -41,13 +41,13 @@ void hb_r_layouttags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "ul");
}
void hb_r_layouttags_init(void) {
hb_r_layouttags_set = nh_set_str_create();
hb_r_layouttags_add_elems(hb_r_layouttags_set);
void hbr_layouttags_init(void) {
hbr_layouttags_set = nh_set_str_create();
hbr_layouttags_add_elems(hbr_layouttags_set);
}
int hb_r_layouttags_check(hb_char_t *tag) {
return nh_set_str_has(hb_r_layouttags_set, (char *) tag);
int hbr_layouttags_check(hb_char_t *tag) {
return nh_set_str_has(hbr_layouttags_set, (char *) tag);
}
#endif // _HDR_HYPERBUILD_RULE_LAYOUTTAGS

View File

@ -4,20 +4,20 @@
#include "../../ext/nicehash/set/str.h"
#include "../../util/hbchar.h"
static nh_set_str_t hb_r_mediatags_set;
static nh_set_str_t hbr_mediatags_set;
void hb_r_mediatags_add_elems(nh_set_str_t set) {
void hbr_mediatags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "audio");
nh_set_str_add(set, "video");
}
void hb_r_mediatags_init(void) {
hb_r_mediatags_set = nh_set_str_create();
hb_r_mediatags_add_elems(hb_r_mediatags_set);
void hbr_mediatags_init(void) {
hbr_mediatags_set = nh_set_str_create();
hbr_mediatags_add_elems(hbr_mediatags_set);
}
int hb_r_mediatags_check(hb_char_t *tag) {
return nh_set_str_has(hb_r_mediatags_set, (char *) tag);
int hbr_mediatags_check(hb_char_t *tag) {
return nh_set_str_has(hbr_mediatags_set, (char *) tag);
}
#endif // _HDR_HYPERBUILD_RULE_MEDIATAGS

View File

@ -4,22 +4,22 @@
#include "../../ext/nicehash/set/str.h"
#include "../../util/hbchar.h"
static nh_set_str_t hb_r_sectioningtags_set;
static nh_set_str_t hbr_sectioningtags_set;
void hb_r_sectioningtags_add_elems(nh_set_str_t set) {
void hbr_sectioningtags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "article");
nh_set_str_add(set, "aside");
nh_set_str_add(set, "nav");
nh_set_str_add(set, "section");
}
void hb_r_sectioningtags_init(void) {
hb_r_sectioningtags_set = nh_set_str_create();
hb_r_sectioningtags_add_elems(hb_r_sectioningtags_set);
void hbr_sectioningtags_init(void) {
hbr_sectioningtags_set = nh_set_str_create();
hbr_sectioningtags_add_elems(hbr_sectioningtags_set);
}
int hb_r_sectioningtags_check(hb_char_t *tag) {
return nh_set_str_has(hb_r_sectioningtags_set, (char *) tag);
int hbr_sectioningtags_check(hb_char_t *tag) {
return nh_set_str_has(hbr_sectioningtags_set, (char *) tag);
}
#endif // _HDR_HYPERBUILD_RULE_SECTIONINGTAGS

View File

@ -5,9 +5,9 @@
#include "../../util/hbchar.h"
#include "./sectioningtags.c"
static nh_set_str_t hb_r_specifictags_set;
static nh_set_str_t hbr_specifictags_set;
void hb_r_specifictags_add_elems(nh_set_str_t set) {
void hbr_specifictags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "area");
nh_set_str_add(set, "br");
nh_set_str_add(set, "col");
@ -22,13 +22,13 @@ void hb_r_specifictags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "track");
}
void hb_r_specifictags_init(void) {
hb_r_specifictags_set = nh_set_str_create();
hb_r_specifictags_add_elems(hb_r_specifictags_set);
void hbr_specifictags_init(void) {
hbr_specifictags_set = nh_set_str_create();
hbr_specifictags_add_elems(hbr_specifictags_set);
}
int hb_r_specifictags_check(hb_char_t *tag) {
return nh_set_str_has(hb_r_specifictags_set, (char *) tag);
int hbr_specifictags_check(hb_char_t *tag) {
return nh_set_str_has(hbr_specifictags_set, (char *) tag);
}
#endif // _HDR_HYPERBUILD_RULE_SPECIFICTAGS

View File

@ -6,164 +6,164 @@
// Sourced from https://developer.mozilla.org/en-US/docs/Web/HTML/Element at 2018-07-01T05:55:00Z
static nh_set_str_t hb_r_tags_set;
static nh_set_str_t hbr_tags_set;
void hb_r_tags_init(void) {
hb_r_tags_set = nh_set_str_create();
nh_set_str_add(hb_r_tags_set, "a");
nh_set_str_add(hb_r_tags_set, "abbr");
nh_set_str_add(hb_r_tags_set, "acronym");
nh_set_str_add(hb_r_tags_set, "address");
nh_set_str_add(hb_r_tags_set, "applet");
nh_set_str_add(hb_r_tags_set, "applet");
nh_set_str_add(hb_r_tags_set, "area");
nh_set_str_add(hb_r_tags_set, "article");
nh_set_str_add(hb_r_tags_set, "aside");
nh_set_str_add(hb_r_tags_set, "audio");
nh_set_str_add(hb_r_tags_set, "b");
nh_set_str_add(hb_r_tags_set, "basefont");
nh_set_str_add(hb_r_tags_set, "bdi");
nh_set_str_add(hb_r_tags_set, "bdo");
nh_set_str_add(hb_r_tags_set, "bgsound");
nh_set_str_add(hb_r_tags_set, "big");
nh_set_str_add(hb_r_tags_set, "blink");
nh_set_str_add(hb_r_tags_set, "blockquote");
nh_set_str_add(hb_r_tags_set, "body");
nh_set_str_add(hb_r_tags_set, "br");
nh_set_str_add(hb_r_tags_set, "button");
nh_set_str_add(hb_r_tags_set, "canvas");
nh_set_str_add(hb_r_tags_set, "caption");
nh_set_str_add(hb_r_tags_set, "center");
nh_set_str_add(hb_r_tags_set, "cite");
nh_set_str_add(hb_r_tags_set, "code");
nh_set_str_add(hb_r_tags_set, "col");
nh_set_str_add(hb_r_tags_set, "colgroup");
nh_set_str_add(hb_r_tags_set, "command");
nh_set_str_add(hb_r_tags_set, "content");
nh_set_str_add(hb_r_tags_set, "content");
nh_set_str_add(hb_r_tags_set, "data");
nh_set_str_add(hb_r_tags_set, "datalist");
nh_set_str_add(hb_r_tags_set, "dd");
nh_set_str_add(hb_r_tags_set, "del");
nh_set_str_add(hb_r_tags_set, "details");
nh_set_str_add(hb_r_tags_set, "dfn");
nh_set_str_add(hb_r_tags_set, "dialog");
nh_set_str_add(hb_r_tags_set, "dir");
nh_set_str_add(hb_r_tags_set, "dir");
nh_set_str_add(hb_r_tags_set, "div");
nh_set_str_add(hb_r_tags_set, "dl");
nh_set_str_add(hb_r_tags_set, "dt");
nh_set_str_add(hb_r_tags_set, "element");
nh_set_str_add(hb_r_tags_set, "element");
nh_set_str_add(hb_r_tags_set, "em");
nh_set_str_add(hb_r_tags_set, "embed");
nh_set_str_add(hb_r_tags_set, "fieldset");
nh_set_str_add(hb_r_tags_set, "figcaption");
nh_set_str_add(hb_r_tags_set, "figure");
nh_set_str_add(hb_r_tags_set, "font");
nh_set_str_add(hb_r_tags_set, "footer");
nh_set_str_add(hb_r_tags_set, "form");
nh_set_str_add(hb_r_tags_set, "frame");
nh_set_str_add(hb_r_tags_set, "frameset");
nh_set_str_add(hb_r_tags_set, "h1");
nh_set_str_add(hb_r_tags_set, "h2");
nh_set_str_add(hb_r_tags_set, "h3");
nh_set_str_add(hb_r_tags_set, "h4");
nh_set_str_add(hb_r_tags_set, "h5");
nh_set_str_add(hb_r_tags_set, "h6");
nh_set_str_add(hb_r_tags_set, "header");
nh_set_str_add(hb_r_tags_set, "hgroup");
nh_set_str_add(hb_r_tags_set, "hr");
nh_set_str_add(hb_r_tags_set, "html");
nh_set_str_add(hb_r_tags_set, "i");
nh_set_str_add(hb_r_tags_set, "iframe");
nh_set_str_add(hb_r_tags_set, "image");
nh_set_str_add(hb_r_tags_set, "img");
nh_set_str_add(hb_r_tags_set, "input");
nh_set_str_add(hb_r_tags_set, "ins");
nh_set_str_add(hb_r_tags_set, "isindex");
nh_set_str_add(hb_r_tags_set, "kbd");
nh_set_str_add(hb_r_tags_set, "keygen");
nh_set_str_add(hb_r_tags_set, "label");
nh_set_str_add(hb_r_tags_set, "legend");
nh_set_str_add(hb_r_tags_set, "li");
nh_set_str_add(hb_r_tags_set, "link");
nh_set_str_add(hb_r_tags_set, "listing");
nh_set_str_add(hb_r_tags_set, "main");
nh_set_str_add(hb_r_tags_set, "map");
nh_set_str_add(hb_r_tags_set, "mark");
nh_set_str_add(hb_r_tags_set, "marquee");
nh_set_str_add(hb_r_tags_set, "menu");
nh_set_str_add(hb_r_tags_set, "menuitem");
nh_set_str_add(hb_r_tags_set, "menuitem");
nh_set_str_add(hb_r_tags_set, "meta");
nh_set_str_add(hb_r_tags_set, "meter");
nh_set_str_add(hb_r_tags_set, "multicol");
nh_set_str_add(hb_r_tags_set, "nav");
nh_set_str_add(hb_r_tags_set, "nextid");
nh_set_str_add(hb_r_tags_set, "nobr");
nh_set_str_add(hb_r_tags_set, "noembed");
nh_set_str_add(hb_r_tags_set, "noembed");
nh_set_str_add(hb_r_tags_set, "noframes");
nh_set_str_add(hb_r_tags_set, "noscript");
nh_set_str_add(hb_r_tags_set, "object");
nh_set_str_add(hb_r_tags_set, "ol");
nh_set_str_add(hb_r_tags_set, "optgroup");
nh_set_str_add(hb_r_tags_set, "option");
nh_set_str_add(hb_r_tags_set, "output");
nh_set_str_add(hb_r_tags_set, "p");
nh_set_str_add(hb_r_tags_set, "param");
nh_set_str_add(hb_r_tags_set, "picture");
nh_set_str_add(hb_r_tags_set, "plaintext");
nh_set_str_add(hb_r_tags_set, "pre");
nh_set_str_add(hb_r_tags_set, "progress");
nh_set_str_add(hb_r_tags_set, "q");
nh_set_str_add(hb_r_tags_set, "rp");
nh_set_str_add(hb_r_tags_set, "rt");
nh_set_str_add(hb_r_tags_set, "rtc");
nh_set_str_add(hb_r_tags_set, "ruby");
nh_set_str_add(hb_r_tags_set, "s");
nh_set_str_add(hb_r_tags_set, "samp");
nh_set_str_add(hb_r_tags_set, "script");
nh_set_str_add(hb_r_tags_set, "section");
nh_set_str_add(hb_r_tags_set, "select");
nh_set_str_add(hb_r_tags_set, "shadow");
nh_set_str_add(hb_r_tags_set, "shadow");
nh_set_str_add(hb_r_tags_set, "slot");
nh_set_str_add(hb_r_tags_set, "small");
nh_set_str_add(hb_r_tags_set, "source");
nh_set_str_add(hb_r_tags_set, "spacer");
nh_set_str_add(hb_r_tags_set, "span");
nh_set_str_add(hb_r_tags_set, "strike");
nh_set_str_add(hb_r_tags_set, "strong");
nh_set_str_add(hb_r_tags_set, "style");
nh_set_str_add(hb_r_tags_set, "sub");
nh_set_str_add(hb_r_tags_set, "summary");
nh_set_str_add(hb_r_tags_set, "sup");
nh_set_str_add(hb_r_tags_set, "table");
nh_set_str_add(hb_r_tags_set, "tbody");
nh_set_str_add(hb_r_tags_set, "td");
nh_set_str_add(hb_r_tags_set, "template");
nh_set_str_add(hb_r_tags_set, "textarea");
nh_set_str_add(hb_r_tags_set, "tfoot");
nh_set_str_add(hb_r_tags_set, "th");
nh_set_str_add(hb_r_tags_set, "thead");
nh_set_str_add(hb_r_tags_set, "time");
nh_set_str_add(hb_r_tags_set, "title");
nh_set_str_add(hb_r_tags_set, "tr");
nh_set_str_add(hb_r_tags_set, "track");
nh_set_str_add(hb_r_tags_set, "tt");
nh_set_str_add(hb_r_tags_set, "tt");
nh_set_str_add(hb_r_tags_set, "u");
nh_set_str_add(hb_r_tags_set, "ul");
nh_set_str_add(hb_r_tags_set, "var");
nh_set_str_add(hb_r_tags_set, "video");
nh_set_str_add(hb_r_tags_set, "wbr");
nh_set_str_add(hb_r_tags_set, "xmp");
void hbr_tags_init(void) {
hbr_tags_set = nh_set_str_create();
nh_set_str_add(hbr_tags_set, "a");
nh_set_str_add(hbr_tags_set, "abbr");
nh_set_str_add(hbr_tags_set, "acronym");
nh_set_str_add(hbr_tags_set, "address");
nh_set_str_add(hbr_tags_set, "applet");
nh_set_str_add(hbr_tags_set, "applet");
nh_set_str_add(hbr_tags_set, "area");
nh_set_str_add(hbr_tags_set, "article");
nh_set_str_add(hbr_tags_set, "aside");
nh_set_str_add(hbr_tags_set, "audio");
nh_set_str_add(hbr_tags_set, "b");
nh_set_str_add(hbr_tags_set, "basefont");
nh_set_str_add(hbr_tags_set, "bdi");
nh_set_str_add(hbr_tags_set, "bdo");
nh_set_str_add(hbr_tags_set, "bgsound");
nh_set_str_add(hbr_tags_set, "big");
nh_set_str_add(hbr_tags_set, "blink");
nh_set_str_add(hbr_tags_set, "blockquote");
nh_set_str_add(hbr_tags_set, "body");
nh_set_str_add(hbr_tags_set, "br");
nh_set_str_add(hbr_tags_set, "button");
nh_set_str_add(hbr_tags_set, "canvas");
nh_set_str_add(hbr_tags_set, "caption");
nh_set_str_add(hbr_tags_set, "center");
nh_set_str_add(hbr_tags_set, "cite");
nh_set_str_add(hbr_tags_set, "code");
nh_set_str_add(hbr_tags_set, "col");
nh_set_str_add(hbr_tags_set, "colgroup");
nh_set_str_add(hbr_tags_set, "command");
nh_set_str_add(hbr_tags_set, "content");
nh_set_str_add(hbr_tags_set, "content");
nh_set_str_add(hbr_tags_set, "data");
nh_set_str_add(hbr_tags_set, "datalist");
nh_set_str_add(hbr_tags_set, "dd");
nh_set_str_add(hbr_tags_set, "del");
nh_set_str_add(hbr_tags_set, "details");
nh_set_str_add(hbr_tags_set, "dfn");
nh_set_str_add(hbr_tags_set, "dialog");
nh_set_str_add(hbr_tags_set, "dir");
nh_set_str_add(hbr_tags_set, "dir");
nh_set_str_add(hbr_tags_set, "div");
nh_set_str_add(hbr_tags_set, "dl");
nh_set_str_add(hbr_tags_set, "dt");
nh_set_str_add(hbr_tags_set, "element");
nh_set_str_add(hbr_tags_set, "element");
nh_set_str_add(hbr_tags_set, "em");
nh_set_str_add(hbr_tags_set, "embed");
nh_set_str_add(hbr_tags_set, "fieldset");
nh_set_str_add(hbr_tags_set, "figcaption");
nh_set_str_add(hbr_tags_set, "figure");
nh_set_str_add(hbr_tags_set, "font");
nh_set_str_add(hbr_tags_set, "footer");
nh_set_str_add(hbr_tags_set, "form");
nh_set_str_add(hbr_tags_set, "frame");
nh_set_str_add(hbr_tags_set, "frameset");
nh_set_str_add(hbr_tags_set, "h1");
nh_set_str_add(hbr_tags_set, "h2");
nh_set_str_add(hbr_tags_set, "h3");
nh_set_str_add(hbr_tags_set, "h4");
nh_set_str_add(hbr_tags_set, "h5");
nh_set_str_add(hbr_tags_set, "h6");
nh_set_str_add(hbr_tags_set, "header");
nh_set_str_add(hbr_tags_set, "hgroup");
nh_set_str_add(hbr_tags_set, "hr");
nh_set_str_add(hbr_tags_set, "html");
nh_set_str_add(hbr_tags_set, "i");
nh_set_str_add(hbr_tags_set, "iframe");
nh_set_str_add(hbr_tags_set, "image");
nh_set_str_add(hbr_tags_set, "img");
nh_set_str_add(hbr_tags_set, "input");
nh_set_str_add(hbr_tags_set, "ins");
nh_set_str_add(hbr_tags_set, "isindex");
nh_set_str_add(hbr_tags_set, "kbd");
nh_set_str_add(hbr_tags_set, "keygen");
nh_set_str_add(hbr_tags_set, "label");
nh_set_str_add(hbr_tags_set, "legend");
nh_set_str_add(hbr_tags_set, "li");
nh_set_str_add(hbr_tags_set, "link");
nh_set_str_add(hbr_tags_set, "listing");
nh_set_str_add(hbr_tags_set, "main");
nh_set_str_add(hbr_tags_set, "map");
nh_set_str_add(hbr_tags_set, "mark");
nh_set_str_add(hbr_tags_set, "marquee");
nh_set_str_add(hbr_tags_set, "menu");
nh_set_str_add(hbr_tags_set, "menuitem");
nh_set_str_add(hbr_tags_set, "menuitem");
nh_set_str_add(hbr_tags_set, "meta");
nh_set_str_add(hbr_tags_set, "meter");
nh_set_str_add(hbr_tags_set, "multicol");
nh_set_str_add(hbr_tags_set, "nav");
nh_set_str_add(hbr_tags_set, "nextid");
nh_set_str_add(hbr_tags_set, "nobr");
nh_set_str_add(hbr_tags_set, "noembed");
nh_set_str_add(hbr_tags_set, "noembed");
nh_set_str_add(hbr_tags_set, "noframes");
nh_set_str_add(hbr_tags_set, "noscript");
nh_set_str_add(hbr_tags_set, "object");
nh_set_str_add(hbr_tags_set, "ol");
nh_set_str_add(hbr_tags_set, "optgroup");
nh_set_str_add(hbr_tags_set, "option");
nh_set_str_add(hbr_tags_set, "output");
nh_set_str_add(hbr_tags_set, "p");
nh_set_str_add(hbr_tags_set, "param");
nh_set_str_add(hbr_tags_set, "picture");
nh_set_str_add(hbr_tags_set, "plaintext");
nh_set_str_add(hbr_tags_set, "pre");
nh_set_str_add(hbr_tags_set, "progress");
nh_set_str_add(hbr_tags_set, "q");
nh_set_str_add(hbr_tags_set, "rp");
nh_set_str_add(hbr_tags_set, "rt");
nh_set_str_add(hbr_tags_set, "rtc");
nh_set_str_add(hbr_tags_set, "ruby");
nh_set_str_add(hbr_tags_set, "s");
nh_set_str_add(hbr_tags_set, "samp");
nh_set_str_add(hbr_tags_set, "script");
nh_set_str_add(hbr_tags_set, "section");
nh_set_str_add(hbr_tags_set, "select");
nh_set_str_add(hbr_tags_set, "shadow");
nh_set_str_add(hbr_tags_set, "shadow");
nh_set_str_add(hbr_tags_set, "slot");
nh_set_str_add(hbr_tags_set, "small");
nh_set_str_add(hbr_tags_set, "source");
nh_set_str_add(hbr_tags_set, "spacer");
nh_set_str_add(hbr_tags_set, "span");
nh_set_str_add(hbr_tags_set, "strike");
nh_set_str_add(hbr_tags_set, "strong");
nh_set_str_add(hbr_tags_set, "style");
nh_set_str_add(hbr_tags_set, "sub");
nh_set_str_add(hbr_tags_set, "summary");
nh_set_str_add(hbr_tags_set, "sup");
nh_set_str_add(hbr_tags_set, "table");
nh_set_str_add(hbr_tags_set, "tbody");
nh_set_str_add(hbr_tags_set, "td");
nh_set_str_add(hbr_tags_set, "template");
nh_set_str_add(hbr_tags_set, "textarea");
nh_set_str_add(hbr_tags_set, "tfoot");
nh_set_str_add(hbr_tags_set, "th");
nh_set_str_add(hbr_tags_set, "thead");
nh_set_str_add(hbr_tags_set, "time");
nh_set_str_add(hbr_tags_set, "title");
nh_set_str_add(hbr_tags_set, "tr");
nh_set_str_add(hbr_tags_set, "track");
nh_set_str_add(hbr_tags_set, "tt");
nh_set_str_add(hbr_tags_set, "tt");
nh_set_str_add(hbr_tags_set, "u");
nh_set_str_add(hbr_tags_set, "ul");
nh_set_str_add(hbr_tags_set, "var");
nh_set_str_add(hbr_tags_set, "video");
nh_set_str_add(hbr_tags_set, "wbr");
nh_set_str_add(hbr_tags_set, "xmp");
}
int hb_r_tags_check(hb_char_t *tag) {
return nh_set_str_has(hb_r_tags_set, (char *) tag);
int hbr_tags_check(hb_char_t *tag) {
return nh_set_str_has(hbr_tags_set, (char *) tag);
}
#endif // _HDR_HYPERBUILD_RULE_TAGS

View File

@ -4,9 +4,9 @@
#include "../../ext/nicehash/set/str.h"
#include "../../util/hbchar.h"
static nh_set_str_t hb_r_voidtags_set;
static nh_set_str_t hbr_voidtags_set;
void hb_r_voidtags_add_elems(nh_set_str_t set) {
void hbr_voidtags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "area");
nh_set_str_add(set, "base");
nh_set_str_add(set, "br");
@ -24,13 +24,13 @@ void hb_r_voidtags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "wbr");
}
void hb_r_voidtags_init(void) {
hb_r_voidtags_set = nh_set_str_create();
hb_r_voidtags_add_elems(hb_r_voidtags_set);
void hbr_voidtags_init(void) {
hbr_voidtags_set = nh_set_str_create();
hbr_voidtags_add_elems(hbr_voidtags_set);
}
int hb_r_voidtags_check(hb_char_t *tag) {
return nh_set_str_has(hb_r_voidtags_set, (char *) tag);
int hbr_voidtags_check(hb_char_t *tag) {
return nh_set_str_has(hbr_voidtags_set, (char *) tag);
}
#endif // _HDR_HYPERBUILD_RULE_VOIDTAGS

View File

@ -4,20 +4,20 @@
#include "../../ext/nicehash/set/str.h"
#include "../../util/hbchar.h"
static nh_set_str_t hb_r_wsstags_set;
static nh_set_str_t hbr_wsstags_set;
void hb_r_wsstags_add_elems(nh_set_str_t set) {
void hbr_wsstags_add_elems(nh_set_str_t set) {
nh_set_str_add(set, "code");
nh_set_str_add(set, "pre");
}
void hb_r_wsstags_init(void) {
hb_r_wsstags_set = nh_set_str_create();
hb_r_wsstags_add_elems(hb_r_wsstags_set);
void hbr_wsstags_init(void) {
hbr_wsstags_set = nh_set_str_create();
hbr_wsstags_add_elems(hbr_wsstags_set);
}
int hb_r_wsstags_check(hb_char_t *tag) {
return nh_set_str_has(hb_r_wsstags_set, (char *) tag);
int hbr_wsstags_check(hb_char_t *tag) {
return nh_set_str_has(hbr_wsstags_set, (char *) tag);
}
#endif // _HDR_HYPERBUILD_RULE_WSSTAGS

View File

@ -12,19 +12,19 @@
void hbsh_attr(hbu_pipe_t pipe) {
while (1) {
// Char matched by $attrname required at least once
hbu_pipe_require_predicate(pipe, &hb_r_attrname_check, "attribute name");
hbu_pipe_require_predicate(pipe, &hbr_attrname_check, "attribute name");
// Don't use hbu_pipe_accept_while_predicate as advanced checks might be needed
hb_char_t n = hbu_pipe_peek(pipe);
// TODO Check against UCASEATTR
if (!hb_r_attrname_check(n)) {
if (!hbr_attrname_check(n)) {
break;
}
}
if (hbu_pipe_accept_if(pipe, '=')) {
if (hb_r_attrvalquote_check(hbu_pipe_peek(pipe))) {
if (hbr_attrvalquote_check(hbu_pipe_peek(pipe))) {
// Quoted attribute value
hbsh_quoteattrval(pipe);
} else {

View File

@ -7,7 +7,7 @@
#include "../../util/pipe.c"
void hbsh_quoteattrval(hbu_pipe_t pipe) {
hb_char_t quote_char = hbu_pipe_require_predicate(pipe, &hb_r_attrvalquote_check, "attribute value quote");
hb_char_t quote_char = hbu_pipe_require_predicate(pipe, &hbr_attrvalquote_check, "attribute value quote");
while (hbu_pipe_peek(pipe) != quote_char) {
hbu_pipe_accept(pipe);

View File

@ -12,7 +12,7 @@ hbu_buffer_t hbsh_tagname(hbu_pipe_t pipe) {
while (1) {
hb_char_t c = hbu_pipe_peek(pipe);
if (!hb_r_tagname_check(c)) {
if (!hbr_tagname_check(c)) {
break;
}

View File

@ -6,7 +6,7 @@
#include "../../util/pipe.c"
void hbsh_unquoteattrval(hbu_pipe_t pipe) {
hbu_pipe_accept_while_predicate(pipe, &hb_r_unquotedattrval_check);
hbu_pipe_accept_while_predicate(pipe, &hbr_unquotedattrval_check);
}
#endif // _HDR_HYPERBUILD_STREAM_HELPER_UNQUOTEATTRVAL

View File

@ -21,14 +21,14 @@ void hbs_tag(hbu_pipe_t pipe) {
hbu_pipe_require(pipe, '<');
hbu_buffer_t opening_name = hbsh_tagname(pipe);
while (hbu_pipe_peek(pipe) != '>') {
hbu_pipe_require_predicate(pipe, &hb_r_whitespace_check, "whitespace between attributes");
hbu_pipe_skip_while_predicate(pipe, &hb_r_whitespace_check);
hbu_pipe_require_predicate(pipe, &hbr_whitespace_check, "whitespace between attributes");
hbu_pipe_skip_while_predicate(pipe, &hbr_whitespace_check);
hbsh_attr(pipe);
}
hbu_pipe_require(pipe, '>');
if (hb_r_voidtags_check(hbu_buffer_underlying(opening_name))) {
if (hbr_voidtags_check(hbu_buffer_underlying(opening_name))) {
return;
}

View File

@ -11,6 +11,6 @@
});
console.log(lines.map(l => {
return `nh_map_str_int32_set(hb_r_entityrefs_map, "${l[0]}", 0x${l[1].toString(16)});`
return `nh_map_str_int32_set(hbr_entityrefs_map, "${l[0]}", 0x${l[1].toString(16)});`
}).sort().join("\n"));
})();