summaryrefslogtreecommitdiff
path: root/output.c
diff options
context:
space:
mode:
Diffstat (limited to 'output.c')
-rw-r--r--output.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/output.c b/output.c
new file mode 100644
index 0000000..6f9b53b
--- /dev/null
+++ b/output.c
@@ -0,0 +1,39 @@
+#include <stdio.h>
+
+#include "tokens.h"
+
+extern token tokens[1024];
+extern int tokcount;
+
+void printashtml(token t) {
+ char *start, *end;
+ switch (t.type) {
+ case HEADING: start = "<h1>"; end = "</h1>\n"; break;
+ case DATE: start = "<h2>"; end = "</h2>\n"; break;
+ case TODO: start = "<h3>"; end = "</h3>\n"; break;
+ case BULLET: start = "<p>"; end = "</p>\n"; break;
+ }
+ printf("%s%s%s", start, t.data, end);
+}
+
+void printasgn(token t) {
+ char *start, *end;
+ switch (t.type) {
+ case HEADING: start = "* "; end = " *"; break;
+ case DATE: start = " ["; end = "]"; break;
+ case TODO: start = " {"; end = "}\n"; break;
+ case BULLET: start = "- "; end = "\n"; break;
+ }
+ printf("%s%s%s", start, t.data, end);
+}
+
+void printasgroff(token t) {
+ char *start, *end;
+ switch (t.type) {
+ case HEADING: start = ".NH\n"; end = "\n"; break;
+ case DATE: start = ".LP\n"; end = "\n"; break;
+ case TODO: start = ".LP\n"; end = "\n"; break;
+ case BULLET: start = ".PP\n"; end = "\n"; break;
+ }
+ printf("%s%s%s", start, t.data, end);
+}