raaahhhhhh
This commit is contained in:
5
Makefile
5
Makefile
@ -3,7 +3,8 @@ CC := gcc
|
||||
FLEX := flex
|
||||
BISON = bison
|
||||
|
||||
CFLAGS := -ggdb
|
||||
CFLAGS := -ggdb -g -O0 #-fsanitize=address
|
||||
# LDFLAGS := -fsanitize=address
|
||||
BISONFLAGS := -d -Wcounterexamples
|
||||
|
||||
LEX := src/lexicalStructure.lex
|
||||
@ -24,7 +25,7 @@ TESTS-S4 := $(wildcard tests/sprint4/test/*.alpha)
|
||||
all: compiler
|
||||
|
||||
compiler: clean tmp $(OBJS)
|
||||
$(CC) $(CFLAGS) -o $(EXE) $(OBJS)
|
||||
$(CC) $(CFLAGS) -o $(EXE) $(OBJS) $(LDFLAGS)
|
||||
|
||||
clean:
|
||||
rm -f $(EXE)
|
||||
|
@ -633,7 +633,7 @@ simple_statement:
|
||||
| RETURN expression {
|
||||
$$ = getTypeEntry((TableNode*)$2);
|
||||
emit_return(tn_or_const(NODE,(TableNode*)$2));}
|
||||
|simple_statement error {yyerrok; printdebug("error in simple statement");}
|
||||
|simple_statement error {yyerrok; yyclearin; printdebug("error in simple statement");}
|
||||
|
||||
|
||||
;
|
||||
|
@ -349,6 +349,11 @@ int label_gen(){
|
||||
}
|
||||
|
||||
void emit_as_file(FILE * out_file, Instruction * i){
|
||||
if (out_file == NULL){
|
||||
fprintf(stderr, "Error: output file is NULL\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if(i == NULL){
|
||||
return;
|
||||
}
|
||||
|
@ -192,7 +192,7 @@ int new_file(char *arg, char *alpha) {
|
||||
|
||||
mkdir("./out", 0777);
|
||||
|
||||
char *new_basename = calloc(strlen(basename) + 5, sizeof(char));
|
||||
char *new_basename = calloc(strlen(basename) + 7, sizeof(char));
|
||||
strcpy(new_basename, "./out/");
|
||||
strcat(new_basename, basename);
|
||||
basename = new_basename;
|
||||
|
6
tests/sprint1/test/sp1_simple_alpha.alpha
Normal file
6
tests/sprint1/test/sp1_simple_alpha.alpha
Normal file
@ -0,0 +1,6 @@
|
||||
type main: string -> integer
|
||||
function entry: main
|
||||
|
||||
entry(arg) := {
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user