diff options
Diffstat (limited to 'toc.c')
-rw-r--r-- | toc.c | 31 |
1 files changed, 0 insertions, 31 deletions
@@ -4,37 +4,6 @@ You should have received a copy of the GNU General Public License along with toc. If not, see <https://www.gnu.org/licenses/>. */ -/* - NOTE: - Structure of the toc compiler: - tokenizer => parser => typing (types.c) => cgen - (lexing) - - toc tries to continue even after the first error. - If one stage fails, the following ones do not - start. - - toc's memory management works using an allocator which never frees anything. - This is because most of toc's data is kept around until the end of the program anyways. - Use the allocator for "permanent" allocations, and err_malloc/calloc/realloc for temporary - allocations (to avoid having it take up space for a long time). - - Because of this, memory leaks can happen if the compilation fails at any point, but they - should not happen if the compilation succeeds. Usually if there's an error - which causes a memory leak, it will be very small. - - Functions which can fail (i.e. print an error message and stop) return a Status, - which is a bool, but GCC warns about not using the return value. - - The fixed-width types U8/16/32/64 and I8/16/32/64 have been defined. - data_structures.c contains a dynamic array implementation which is very useful. - Many of the members of the types below are dynamic arrays. - - It is assumed that the number of identifiers in a declaration, or parameters to a function - will fit in an int, since a function with (at least) 32768 parameters is ridiculous. -*/ - - /* Includes all of toc's files */ #include <assert.h> #include <ctype.h> |