From ea97370f973374f863e4296c2bb872be8b5235a3 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 12 Aug 2019 09:48:55 +0200 Subject: Before interpreter. Cleanup build script. Begin writing code analyzer tool to find common mistakes --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index f4f228c..fc7d054 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,12 @@ Every stage of the compiler is multithreaded and data copy is kept to a minimal, is done without storing tokens in a list. Almost all allocation is done using an arena allocator that is only cleaned up once (when the compiler is finished), and the data is allocated sequentially. # TODO -Build with -nostdlib and replace use of libc with syscalls (on linux). +Build with -nostdlib and replace use of libc with syscalls (on linux).\ Don't parse files unless the variable they are assigned to (with @import) is used. This is useful when only using small parts of a library. -Align machine code to word boundary for the start of functions. No need to pad with NOP, as functions return before the padding. +This could be done checking if an AST expression is referenced before evaluating it. There would then need to be a compile option +that compiles everything even if not referenced, since another user of the program/library may use the functions that are not used in your program +and they might have compile-issues.\ +Align machine code to word boundary for the start of functions. No need to pad with NOP, as functions return before the padding.\ Use const to cleanup ANSI C style variable declarations, since const allows you to declare and assign variables on the same line. # Documents Documents are located under doc. The file doc/Documentation.md is generated from source files by running doc/doc_extract.py -- cgit v1.2.3