aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
blob: 45de94e22f0d258a3a985c3d6e25181042231e82 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>

#include <parse.h>
#include <term.h>
#include <reducer.h>

int main(void)
{
	struct term *term =
		parse("([((1 0) 0)] ([[([0] 0)]] [([(0 0)] [(0 0)])]))");
	// 1-2-6-1-1-4-9-3-1-2-6-2-5-7-1-2-6-3-4-5-11-5-10-9-4-8-10
	print_term(term);
	printf("\nReduced:\n");
	struct term *reduced = reduce(term);
	print_term(reduced);
	printf("\n");
	free_term(term);
	free_term(reduced);
	return 0;
}