summaryrefslogtreecommitdiff
path: root/minic/main.c
blob: a902b2ebbc5fcda6bda96e1db20a960d3b947340 (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
40
41
#include "stdlib.h"
#include "arena.h"
#include "symbol.h"
#include "scan.h"
#include "parse.h"
#include "io.h"

int main( int argc, char *argv[] )
{
	char *src;
	Scanner scanner;
	Parser parser;

	if( argc != 3 ) {
		print( "USAGE: minic <module.c> <module.bin>" );
		return 1;
	}

	src = readallfile( argv[1] );
	if( !src ) {
		print( "UNABLE TO READ SOURCE FILE" );
		return 1;
	}

	scanner_init( &scanner, src );
	parser_init( &parser, &scanner );

	scanner_debug( &scanner, 1 );
	parser_debug( &parser, 1 );

	parser_parse( &parser );

/*	writefile( argv[2], parser.code, DEFAULT_MEMORY_SIZE ); */

	parser_done( &parser );
	scanner_done( &scanner );
		
	deallocate( (void **)&src );
	
	exit( 0 );
}