forked from cosmonaut/wraith-lang
rename compiler to codegen + handle file not found
parent
49183bf1d3
commit
9a97b73c7c
|
@ -40,11 +40,11 @@ add_executable(
|
|||
lib/dropt/dropt_handlers.c
|
||||
# Source
|
||||
src/ast.h
|
||||
src/compiler.h
|
||||
src/codegen.h
|
||||
src/parser.h
|
||||
src/stack.h
|
||||
src/ast.c
|
||||
src/compiler.c
|
||||
src/codegen.c
|
||||
src/parser.c
|
||||
src/stack.c
|
||||
src/main.c
|
||||
|
|
|
@ -813,7 +813,7 @@ static void Compile(LLVMModuleRef module, LLVMContextRef context, Node *node)
|
|||
}
|
||||
}
|
||||
|
||||
int Build(Node *node, uint32_t optimizationLevel)
|
||||
int Codegen(Node *node, uint32_t optimizationLevel)
|
||||
{
|
||||
scope = CreateScope();
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
#ifndef WRAITH_CODEGEN_H
|
||||
#define WRAITH_CODEGEN_H
|
||||
|
||||
#include "ast.h"
|
||||
|
||||
int Codegen(Node *node, uint32_t optimizationLevel);
|
||||
|
||||
#endif /* WRAITH_CODEGEN_H */
|
|
@ -1,8 +0,0 @@
|
|||
#ifndef WRAITH_COMPILER_H
|
||||
#define WRAITH_COMPILER_H
|
||||
|
||||
#include "ast.h"
|
||||
|
||||
int Build(Node *node, uint32_t optimizationLevel);
|
||||
|
||||
#endif /* WRAITH_COMPILER_H */
|
|
@ -2,7 +2,7 @@
|
|||
#include "../lib/dropt/dropt.h"
|
||||
|
||||
#include "parser.h"
|
||||
#include "compiler.h"
|
||||
#include "codegen.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
@ -64,7 +64,7 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
else
|
||||
{
|
||||
exitCode = Build(rootNode, optimizationLevel);
|
||||
exitCode = Codegen(rootNode, optimizationLevel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
14
src/parser.c
14
src/parser.c
|
@ -14,9 +14,17 @@ int Parse(char *inputFilename, Node **pRootNode, uint8_t parseVerbose)
|
|||
yydebug = parseVerbose;
|
||||
|
||||
FILE *fp = fopen(inputFilename, "r");
|
||||
yyin = fp;
|
||||
result = yyparse(fp, stack, pRootNode);
|
||||
fclose(fp);
|
||||
if (fp != NULL)
|
||||
{
|
||||
yyin = fp;
|
||||
result = yyparse(fp, stack, pRootNode);
|
||||
fclose(fp);
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "File not found.\n");
|
||||
return 3;
|
||||
}
|
||||
|
||||
/* TODO: free stack */
|
||||
/* TODO: free AST on error */
|
||||
|
|
Loading…
Reference in New Issue