-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgasm.c
31 lines (30 loc) · 1.14 KB
/
gasm.c
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
#include "include/libgyb.h"
#include "include/libgyb.c"
#include "const/license.h"
#include "const/strings.h"
#include "src/gasm.h"
#include "src/load.c"
#include "src/assemble.c"
#include "src/lexer.h"
#include "src/lexer.c"
#include "src/parser.c"
#include "src/emit.c"
int main (int argc, char **argv) {
if (argc == 1) { printf(noargs); exit(1); }
if (argc == 2) {
if ( argv[1][0]=='-' ) {
switch(argv[1][1]) {
case 'h': printf(help); exit(0);
case 'v': printf(version); exit(0);
case 'l': printLicense(); exit(0);
case 'c': printf(contributors); exit(0);
default: printf(badargs); exit(1);
}}
if ( strncmp(argv[1], cmd_help, sizeof(cmd_help))==0 ) { printf(help); exit(0); }
if ( strncmp(argv[1], cmd_version, sizeof(cmd_version))==0 ) { printf(version); exit(0); }
if ( strncmp(argv[1], cmd_license, sizeof(cmd_license))==0 ) { printLicense(); exit(0); }
if ( strncmp(argv[1], cmd_contributors, sizeof(cmd_version))==0 ) { printf(contributors); exit(0); }
printf(badargs); exit(1);
}
assemble(argv[1], argc-2, argv + 2);
}