diff options
Diffstat (limited to 'output.c')
-rw-r--r-- | output.c | 39 |
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); +} |