From c1b5259cf7fcf2f1fdf6c7582563c2e366e97bde Mon Sep 17 00:00:00 2001 From: Wilson Lin Date: Thu, 5 Jul 2018 16:58:59 +1200 Subject: [PATCH] Create single rules initialiser --- src/main/c/main.c | 4 ++++ src/main/c/rule/init.c | 49 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 src/main/c/rule/init.c diff --git a/src/main/c/main.c b/src/main/c/main.c index 4e74879..0bb4c5e 100644 --- a/src/main/c/main.c +++ b/src/main/c/main.c @@ -2,11 +2,15 @@ #include #include #include "error/error.c" +#include "rule/init.c" #include "util/fstreamin.c" #include "util/fstreamout.c" #include "util/pipe.c" int main(int argc, char **argv) { + // Set up rules + hb_r_init(); + char *input_path = NULL; char *output_path = NULL; diff --git a/src/main/c/rule/init.c b/src/main/c/rule/init.c new file mode 100644 index 0000000..b8b0cf0 --- /dev/null +++ b/src/main/c/rule/init.c @@ -0,0 +1,49 @@ +#ifndef _HDR_HYPERBUILD_RULE_INIT +#define _HDR_HYPERBUILD_RULE_INIT + +#include "./char/attrname.c" +#include "./char/c0.c" +#include "./char/digit.c" +#include "./char/lcalpha.c" +#include "./char/tagname.c" +#include "./char/ucalpha.c" +#include "./char/unquotedattrval.c" +#include "./char/whitespace.c" +#include "./entity/entityrefs.c" +#include "./relation/blacklistchildren.c" +#include "./relation/blacklistparents.c" +#include "./relation/whitelistchildren.c" +#include "./relation/whitelistparents.c" +#include "./tag/formattingtags.c" +#include "./tag/tags.c" +#include "./tag/voidtags.c" + +void hb_r_init(void) { + // Core + hb_r_c0_init(); + hb_r_digit_init(); + hb_r_ucalpha_init(); + hb_r_lcalpha_init(); + hb_r_whitespace_init(); + + // Identifiers + hb_r_tagname_init(); + hb_r_attrname_init(); + + // Values + hb_r_unquotedattrval_init(); + hb_r_entityrefs_init(); + + // Types + hb_r_tags_init(); + hb_r_voidtags_init(); + hb_r_formattingtags_init(); + + // Relations + hb_r_whitelistparents_init(); + hb_r_blacklistparents_init(); + hb_r_whitelistchildren_init(); + hb_r_blacklistchildren_init(); +} + +#endif // _HDR_HYPERBUILD_RULE_INIT