|
Luma 0.1.0
A low-level compiled alternative to C, C++, and more!
|
#include "../ast/ast_utils.h"#include "../auto_docs/doc_generator.h"#include "../c_libs/error/error.h"#include "../llvm/llvm.h"#include "../parser/parser.h"#include "../typechecker/type.h"#include "help.h"#include "std_path.h"#include <errno.h>#include <signal.h>#include <stdbool.h>#include <stdio.h>#include <sys/stat.h>#include <sys/types.h>#include <unistd.h>
Macros | |
| #define | MKDIR(path) mkdir(path, 0755) |
| #define | create_directory(path) (mkdir((path), 0755) == 0 || errno == EEXIST) |
Functions | |
| void | handle_segfault (int sig) |
| void | handle_illegal_instruction (int sig) |
| void | save_module_output_files (CodeGenContext *ctx, const char *output_dir) |
| const char * | resolve_import_path (const char *path, ArenaAllocator *allocator) |
| bool | generate_llvm_code_modules (AstNode *root, BuildConfig config, ArenaAllocator *allocator, int *step, CompileTimer *timer) |
| bool | ensure_directory_exists (const char *path) |
| bool | ensure_parent_directory (const char *filepath) |
| void | collect_link_flags (CodeGenContext *ctx, char *lib_flags, size_t lib_flags_size) |
| bool | link_object_files (const char *output_dir, const char *executable_name, int opt_level, bool is_debug, CodeGenContext *ctx) |
| Stmt * | parse_file_to_module (const char *path, size_t position, ArenaAllocator *allocator, BuildConfig *config) |
| AstNode * | lex_and_parse_file (const char *path, ArenaAllocator *allocator, BuildConfig *config) |
| bool | run_build (BuildConfig config, ArenaAllocator *allocator) |
| #define create_directory | ( | path | ) | (mkdir((path), 0755) == 0 || errno == EEXIST) |
| #define MKDIR | ( | path | ) | mkdir(path, 0755) |
| void collect_link_flags | ( | CodeGenContext * | ctx, |
| char * | lib_flags, | ||
| size_t | lib_flags_size | ||
| ) |
| bool ensure_directory_exists | ( | const char * | path | ) |
| bool ensure_parent_directory | ( | const char * | filepath | ) |
| bool generate_llvm_code_modules | ( | AstNode * | root, |
| BuildConfig | config, | ||
| ArenaAllocator * | allocator, | ||
| int * | step, | ||
| CompileTimer * | timer | ||
| ) |
| void handle_illegal_instruction | ( | int | sig | ) |
| void handle_segfault | ( | int | sig | ) |
| AstNode * lex_and_parse_file | ( | const char * | path, |
| ArenaAllocator * | allocator, | ||
| BuildConfig * | config | ||
| ) |
| bool link_object_files | ( | const char * | output_dir, |
| const char * | executable_name, | ||
| int | opt_level, | ||
| bool | is_debug, | ||
| CodeGenContext * | ctx | ||
| ) |
| Stmt * parse_file_to_module | ( | const char * | path, |
| size_t | position, | ||
| ArenaAllocator * | allocator, | ||
| BuildConfig * | config | ||
| ) |
| const char * resolve_import_path | ( | const char * | path, |
| ArenaAllocator * | allocator | ||
| ) |
| bool run_build | ( | BuildConfig | config, |
| ArenaAllocator * | allocator | ||
| ) |
| void save_module_output_files | ( | CodeGenContext * | ctx, |
| const char * | output_dir | ||
| ) |