raaahhhhhh
This commit is contained in:
5
Makefile
5
Makefile
@ -3,7 +3,8 @@ CC := gcc
|
|||||||
FLEX := flex
|
FLEX := flex
|
||||||
BISON = bison
|
BISON = bison
|
||||||
|
|
||||||
CFLAGS := -ggdb
|
CFLAGS := -ggdb -g -O0 #-fsanitize=address
|
||||||
|
# LDFLAGS := -fsanitize=address
|
||||||
BISONFLAGS := -d -Wcounterexamples
|
BISONFLAGS := -d -Wcounterexamples
|
||||||
|
|
||||||
LEX := src/lexicalStructure.lex
|
LEX := src/lexicalStructure.lex
|
||||||
@ -24,7 +25,7 @@ TESTS-S4 := $(wildcard tests/sprint4/test/*.alpha)
|
|||||||
all: compiler
|
all: compiler
|
||||||
|
|
||||||
compiler: clean tmp $(OBJS)
|
compiler: clean tmp $(OBJS)
|
||||||
$(CC) $(CFLAGS) -o $(EXE) $(OBJS)
|
$(CC) $(CFLAGS) -o $(EXE) $(OBJS) $(LDFLAGS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(EXE)
|
rm -f $(EXE)
|
||||||
|
@ -633,7 +633,7 @@ simple_statement:
|
|||||||
| RETURN expression {
|
| RETURN expression {
|
||||||
$$ = getTypeEntry((TableNode*)$2);
|
$$ = getTypeEntry((TableNode*)$2);
|
||||||
emit_return(tn_or_const(NODE,(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){
|
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){
|
if(i == NULL){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -192,7 +192,7 @@ int new_file(char *arg, char *alpha) {
|
|||||||
|
|
||||||
mkdir("./out", 0777);
|
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/");
|
strcpy(new_basename, "./out/");
|
||||||
strcat(new_basename, basename);
|
strcat(new_basename, basename);
|
||||||
basename = new_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