summaryrefslogtreecommitdiff
path: root/tree.h
diff options
context:
space:
mode:
authorBenjamin Chausse <benjamin@chausse.xyz>2021-01-03 02:07:50 -0500
committerBenjamin Chausse <benjamin@chausse.xyz>2021-01-03 02:07:50 -0500
commit3bc7d8d894fc6c50636dfb9f3c04e72cce02cb28 (patch)
tree0c6bfcfe405123ebd688cf49533ed3063c904f27 /tree.h
parente686830c06560f69489c6a9edae909da9e42f4df (diff)
Moving developpement to a C implementation
Diffstat (limited to 'tree.h')
-rw-r--r--tree.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/tree.h b/tree.h
new file mode 100644
index 0000000..d945053
--- /dev/null
+++ b/tree.h
@@ -0,0 +1,31 @@
+typedef struct treeNode {
+ char pattern; // Character to match
+ int pos; // Position (index) relative to the first treeNode to match
+ int identity; // What happens when this treeNode is the last to be matched
+ // 0: Invalid match: Match pattern is most likely incomplete (or escaped)
+ // 1: bold delimiter
+ // 2: italics delimiter
+ // 3: bold&italics delimiter
+ // 4: inline code delimiter
+ // 5: code block delimiter
+ // 6: header 1 (h1) delimiter
+ // 7: header 2 (h2) delimiter
+ // 8: header delimiter
+ // 9: yaml intro delimiter
+ // 10: title
+ // 11: author
+ // 12: automatic date (date will be formatted for groff on compile time)
+ // 13: manual date
+ // 14: indent text
+ int childsize;
+ struct treeNode *child[]; // Pointer array to other child nodes
+} node ;
+
+node root {
+ ' ', 0, 0, 4,
+ { node = {
+ '*', 0, 2, 4,
+ {}
+ };
+ }
+}