renamed compile() to codegen() and created new compile() that transforms a Source to an Executable directily

This commit is contained in:
cozis
2022-08-13 15:42:34 +02:00
parent ed62aa8a58
commit 1ee68745a6
6 changed files with 865 additions and 859 deletions
+8 -34
View File
@@ -1,38 +1,12 @@
/* +--------------------------------------------------------------------------+
** | _ _ _ |
** | | \ | | (_) |
** | | \| | ___ _ __ _ |
** | | . ` |/ _ \| |/ _` | |
** | | |\ | (_) | | (_| | |
** | |_| \_|\___/| |\__,_| |
** | _/ | |
** | |__/ |
** +--------------------------------------------------------------------------+
** | Copyright (c) 2022 Francesco Cozzuto <francesco.cozzuto@gmail.com> |
** +--------------------------------------------------------------------------+
** | This file is part of The Noja Interpreter. |
** | |
** | The Noja Interpreter is free software: you can redistribute it and/or |
** | modify it under the terms of the GNU General Public License as published |
** | by the Free Software Foundation, either version 3 of the License, or (at |
** | your option) any later version. |
** | |
** | The Noja Interpreter is distributed in the hope that it will be useful, |
** | but WITHOUT ANY WARRANTY; without even the implied warranty of |
** | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
** | Public License for more details. |
** | |
** | You should have received a copy of the GNU General Public License along |
** | with The Noja Interpreter. If not, see <http://www.gnu.org/licenses/>. |
** +--------------------------------------------------------------------------+
*/
#ifndef COMPILE_H
#define COMPILE_H
#include "../utils/error.h"
#include "../utils/bpalloc.h"
#include "../utils/source.h"
#include "../common/executable.h"
#include "AST.h"
Executable *compile(AST *ast, BPAlloc *alloc, Error *error);
#endif
typedef enum {
CompilationErrorType_SYNTAX,
CompilationErrorType_SEMANTIC,
CompilationErrorType_INTERNAL,
} CompilationErrorType;
Executable *compile(Source *src, Error *error, CompilationErrorType *errtyp);
#endif /* COMPILE_H */