summaryrefslogtreecommitdiff
path: root/tools/make_entities_h.py
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2015-06-17 08:05:57 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2015-06-17 08:05:57 -0700
commit2fa54428e2910d4f8d96e6a548db650d50613535 (patch)
treeaaff50e600236216843928fd8073b319760049e4 /tools/make_entities_h.py
parent027a3153256fe9647bf13e28f1faa9ee8806f942 (diff)
Renamed entities.h -> entities.inc.
Also tools/make_entities_h.py -> tools/make_entitis_inc.py.
Diffstat (limited to 'tools/make_entities_h.py')
-rw-r--r--tools/make_entities_h.py45
1 files changed, 0 insertions, 45 deletions
diff --git a/tools/make_entities_h.py b/tools/make_entities_h.py
deleted file mode 100644
index 48492c7..0000000
--- a/tools/make_entities_h.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# Creates C data structures for binary lookup table of entities,
-# using python's html5 entity data.
-# Usage: python3 tools/make_entities_h.py > src/entities.h
-
-import html
-
-entities5 = html.entities.html5
-
-# remove keys without semicolons. For some reason the list
-# has duplicates of a few things, like auml, one with and one
-# without a semicolon.
-entities = sorted([(k[:-1], entities5[k].encode('utf-8')) for k in entities5.keys() if k[-1] == ';'])
-
-# Print out the header:
-print("""#ifndef CMARK_ENTITIES_H
-#define CMARK_ENTITIES_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct cmark_entity_node {
- unsigned char *entity;
- unsigned char bytes[8];
-};
-
-#define CMARK_ENTITY_MIN_LENGTH 2
-#define CMARK_ENTITY_MAX_LENGTH 31""")
-
-print("#define CMARK_NUM_ENTITIES " + str(len(entities)));
-
-print("\nstatic const struct cmark_entity_node cmark_entities[] = {");
-
-for (ent, bs) in entities:
- print('{(unsigned char*)"' + ent + '", {' + ', '.join(map(str, bs)) + ', 0}},')
-
-print("};\n");
-
-print("""
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-""")