summaryrefslogtreecommitdiff
path: root/output.c
blob: 6f9b53bd1f92ec2687fe174b93766bcaf2e2312d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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);
}