blob: 53b01b9a540073ed52cea8ebf1f8ea840c707d60 (
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
42
43
44
|
#include "stdlib.h"
#include "const.h"
#include "io.h"
#include "arena.h"
#include "scan.h"
#include "hash.h"
#include "opcodes.h"
#include "optable.h"
#include "parse.h"
int main( int argc, char *argv[] )
{
char *src;
Scanner scanner;
Parser parser;
if( argc != 3 ) {
print( "USAGE: miniasm <module.asm> <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, 0 );
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 );
}
|