From 21f61cdf76e3eef90cc1b56f33ade0eb01d80475 Mon Sep 17 00:00:00 2001 From: sam Date: Sun, 21 Jul 2024 02:04:32 +1200 Subject: [PATCH] first commit --- .gitignore | 3 + .gitmodules | 3 + Makefile | 21 +++ example.lisp | 1 + include/ast.h | 37 ++++ include/codegen.h | 8 + include/regexp.h | 18 ++ include/slibs/slibs.h | 208 +++++++++++++++++++++ include/tcc/libtcc.h | 116 ++++++++++++ include/tokenizer.h | 25 +++ lib/libtcc.a | Bin 0 -> 532608 bytes lib/tcc/include/float.h | 75 ++++++++ lib/tcc/include/stdalign.h | 16 ++ lib/tcc/include/stdarg.h | 14 ++ lib/tcc/include/stdatomic.h | 173 ++++++++++++++++++ lib/tcc/include/stdbool.h | 11 ++ lib/tcc/include/stddef.h | 41 +++++ lib/tcc/include/stdnoreturn.h | 7 + lib/tcc/include/tccdefs.h | 333 ++++++++++++++++++++++++++++++++++ lib/tcc/include/tcclib.h | 80 ++++++++ lib/tcc/include/tgmath.h | 89 +++++++++ lib/tcc/include/varargs.h | 12 ++ lib/tcc/libtcc1.a | Bin 0 -> 50036 bytes runtime/runtime.c | 26 +++ runtime/runtime.h | 12 ++ src/ast.c | 131 +++++++++++++ src/codegen.c | 40 ++++ src/main.c | 41 +++++ src/regexp.c | 69 +++++++ src/tokenizer.c | 77 ++++++++ 30 files changed, 1687 insertions(+) create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 Makefile create mode 100755 example.lisp create mode 100644 include/ast.h create mode 100644 include/codegen.h create mode 100644 include/regexp.h create mode 100644 include/slibs/slibs.h create mode 100644 include/tcc/libtcc.h create mode 100644 include/tokenizer.h create mode 100644 lib/libtcc.a create mode 100644 lib/tcc/include/float.h create mode 100644 lib/tcc/include/stdalign.h create mode 100644 lib/tcc/include/stdarg.h create mode 100644 lib/tcc/include/stdatomic.h create mode 100644 lib/tcc/include/stdbool.h create mode 100644 lib/tcc/include/stddef.h create mode 100644 lib/tcc/include/stdnoreturn.h create mode 100644 lib/tcc/include/tccdefs.h create mode 100644 lib/tcc/include/tcclib.h create mode 100644 lib/tcc/include/tgmath.h create mode 100644 lib/tcc/include/varargs.h create mode 100644 lib/tcc/libtcc1.a create mode 100644 runtime/runtime.c create mode 100644 runtime/runtime.h create mode 100644 src/ast.c create mode 100644 src/codegen.c create mode 100644 src/main.c create mode 100644 src/regexp.c create mode 100644 src/tokenizer.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c468a60 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.o +compiler +example \ No newline at end of file diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..bb4579c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "slibs"] + path = slibs + url = https://git.samahh.dev/sam/slibs diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..33f430a --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +BINARY=compiler + +CC=gcc +CFLAGS=-O3 -Iinclude +LDFLAGS=-Llib -ltcc + +CFILES=$(shell find -L src -type f -name '*.c') +OBJ=$(CFILES:.c=.o) + +$(BINARY): $(OBJ) Makefile + $(CC) $(OBJ) $(LDFLAGS) -o $@ + +%.o: %.c + $(CC) $(CFLAGS) -c $< -o $@ + +run: $(BINARY) + ./$(BINARY) example.lisp example + ./example + +clean: + rm -rf $(OBJ) $(BINARY) example \ No newline at end of file diff --git a/example.lisp b/example.lisp new file mode 100755 index 0000000..f74d298 --- /dev/null +++ b/example.lisp @@ -0,0 +1 @@ +(print_str "guh") \ No newline at end of file diff --git a/include/ast.h b/include/ast.h new file mode 100644 index 0000000..fe75630 --- /dev/null +++ b/include/ast.h @@ -0,0 +1,37 @@ +#include +#include + +#ifndef __AST_H__ +#define __AST_H__ + +extern const char* ASTTypeText[]; + +typedef enum ASTType { + AST_PROGRAM, + AST_CALL_EXPRESSION, + AST_NUMBER_LITERAL, + AST_STRING_LITERAL +} ASTType; + +typedef sl_vec(struct ASTNode*) ASTVec; + +typedef struct ASTNode { + ASTType type; + const char* name; + const char* value; + + ASTVec body; + ASTVec params; +} ASTNode; + +ASTNode* ast_parse(Token** token); +ASTNode* ast_walk(Token** token); +void ast_print(ASTNode* node, int indent); +void ast_step(Token** token); +ASTNode* ast_create_empty(ASTType type); +ASTNode* ast_create_program(ASTVec body); +ASTNode* ast_create_call_expression(const char* name, ASTVec params); +ASTNode* ast_create_number_literal(const char* value); +ASTNode* ast_create_string_literal(const char* value); + +#endif \ No newline at end of file diff --git a/include/codegen.h b/include/codegen.h new file mode 100644 index 0000000..57a5f18 --- /dev/null +++ b/include/codegen.h @@ -0,0 +1,8 @@ +#include + +#ifndef __CODEGEN_H__ +#define __CODEGEN_H__ + +const char* codegen(ASTNode* node); + +#endif \ No newline at end of file diff --git a/include/regexp.h b/include/regexp.h new file mode 100644 index 0000000..4e7f418 --- /dev/null +++ b/include/regexp.h @@ -0,0 +1,18 @@ +#include +#include + +#ifndef __REGEXP_H__ +#define __REGEXP_H__ + +typedef int (*match_func)(regex_t, char, char**); + +regex_t regex_create(const char* pattern, int flags); +int match_char(regex_t regex, char c); +sl_string collect_until(match_func matcher, regex_t regex, char** input); +sl_string collect_until_match(regex_t regex, char** input); +sl_string collect_until_no_match(regex_t regex, char** input); +sl_string collect_until_match_escapable(regex_t regex, char** input); +sl_string collect_until_no_match_escapable(regex_t regex, char** input); +void regex_step(char** input, char* c); + +#endif \ No newline at end of file diff --git a/include/slibs/slibs.h b/include/slibs/slibs.h new file mode 100644 index 0000000..a5f7e98 --- /dev/null +++ b/include/slibs/slibs.h @@ -0,0 +1,208 @@ +#ifndef SLIBS_H +#define SLIBS_H + +#include +#include +#include +#include +#include + +// Miscellaneous + +#define sl_auto(name, x) typeof(x) name = x + +#define sl_new(type, ...) \ + ({ \ + type *ptr = malloc(sizeof(type)); \ + *ptr = (type){__VA_ARGS__}; \ + ptr; \ + }) + +#define sl_init(type, ...) \ + (type) { __VA_ARGS__ } + +#define sl_array_len(arr) sizeof(arr) / sizeof(arr[0]) + +#define sl_fmt_spec(arg) \ + _Generic((arg), \ + int8_t: "%d", \ + int16_t: "%d", \ + int32_t: "%d", \ + int64_t: "%lld", \ + uint8_t: "%u", \ + uint16_t: "%u", \ + uint32_t: "%lu", \ + uint64_t: "%llu", \ + double: "%lf", \ + float: "%f", \ + char: "%c", \ + char *: "%s", \ + void *: "%p", \ + default: "Unknown") + +#define sl_stringify(x) #x + +// Vector + +#define sl_vec(type) \ + struct \ + { \ + type *data; \ + size_t size; \ + size_t capacity; \ + } + +#define sl_vec_grow(vec) \ + { \ + (vec).capacity = (vec).capacity * 2 + 1; \ + void *ptr = realloc((vec).data, (vec).capacity * sizeof(*(vec).data)); \ + if (ptr) \ + (vec).data = ptr; \ + } + +#define sl_vec_push(vec, element) \ + { \ + if ((vec).size >= (vec).capacity) \ + sl_vec_grow(vec); \ + (vec).data[(vec).size++] = (element); \ + } + +#define sl_vec_shift(vec, element) \ + { \ + if ((vec).size >= (vec).capacity) \ + sl_vec_grow(vec); \ + memmove((vec).data + 1, (vec).data, (vec).size * sizeof(*(vec).data)); \ + (vec).data[0] = (element); \ + (vec).size++; \ + } + +#define sl_vec_pop(vec) \ + { \ + if ((vec).size > 0) \ + { \ + (vec).size--; \ + } \ + } + +#define sl_vec_at(vec, index) ((vec).data[index]) + +#define sl_vec_size(vec) ((vec).size) + +#define sl_vec_capacity(vec) ((vec).capacity) + +#define sl_vec_free(vec) free((vec).data) + +#define sl_vec_begin(vec) (vec).data + +#define sl_vec_end(vec) ((vec).data + (vec).size) + +#define sl_vec_it(name, vec) \ + sl_auto((name), sl_vec_begin(vec)); \ + (name) != sl_vec_end(vec); \ + ++(name) + +// String + +typedef sl_vec(char) sl_string; + +#define sl_string(c_str) \ + ({ \ + sl_string str = {0}; \ + for (size_t i = 0; i < strlen((c_str)); i++) \ + sl_vec_push(str, (c_str)[i]); \ + str; \ + }) + +#define sl_tostring(val) \ + ({ \ + sl_auto(len, snprintf(NULL, 0, sl_fmt_spec(val), val) + 1); \ + sl_auto(buf, (char *)malloc(len)); \ + snprintf(buf, len, sl_fmt_spec(val), val); \ + sl_auto(str, sl_string(buf)); \ + free(buf); \ + str; \ + }) + +#define sl_str_free(str) sl_vec_free(str) + +#define sl_c_str(str) \ + ({ \ + sl_vec_push((str), '\0'); \ + (str).size--; \ + (str).data; \ + }) + +void sl_append_c_str(sl_string* sl_str, const char* c_str); + +#ifdef SL_IMPLEMENTATION +void sl_append_c_str(sl_string* sl_str, const char* c_str) { + for(int i = 0; i < strlen(c_str); i++) { + sl_vec_push(*sl_str, c_str[i]); + } +} +#endif + +// Pointers + +#define sl_ptr(type) \ + struct \ + { \ + type *ptr; \ + int ref_count; \ + } + +#define sl_ptr_make(raw_ptr) \ + { \ + raw_ptr, 1 \ + } + +#define sl_ptr_release(smart_ptr) \ + ({ \ + smart_ptr.ref_count--; \ + if (smart_ptr.ref_count <= 0) \ + { \ + free(smart_ptr.ptr); \ + } \ + }) + +#define sl_ptr_get(smart_ptr, raw_ptr_name, scope) \ + ({ \ + assert(smart_ptr.ref_count > 0 && "Smart pointer already released!"); \ + sl_auto(raw_ptr_name, smart_ptr.ptr); \ + smart_ptr.ref_count++; \ + scope; \ + sl_ptr_release(smart_ptr); \ + }); + +#define sl_ptr_scope(smart_ptr, scope) \ + ({ \ + scope; \ + sl_ptr_release(smart_ptr); \ + }); + +void sl_read_file(const char *filename, sl_string *buffer); + +#ifdef SL_IMPLEMENTATION +void sl_read_file(const char *filename, sl_string *buffer) +{ + FILE *file = fopen(filename, "r"); + if (!file) + { + fprintf(stderr, "Error: could not open file %s\n", filename); + exit(1); + } + + fseek(file, 0, SEEK_END); + size_t file_size = ftell(file); + fseek(file, 0, SEEK_SET); + + for (size_t i = 0; i < file_size; i++) + { + sl_vec_push(*buffer, fgetc(file)); + } + + fclose(file); +} +#endif + +#endif // SLIBS_H diff --git a/include/tcc/libtcc.h b/include/tcc/libtcc.h new file mode 100644 index 0000000..5949c80 --- /dev/null +++ b/include/tcc/libtcc.h @@ -0,0 +1,116 @@ +#ifndef LIBTCC_H +#define LIBTCC_H + +#ifndef LIBTCCAPI +# define LIBTCCAPI +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/*****************************/ +/* set custom allocator for all allocations (optional), NULL for default. */ +typedef void *TCCReallocFunc(void *ptr, unsigned long size); +LIBTCCAPI void tcc_set_realloc(TCCReallocFunc *my_realloc); + +/*****************************/ +typedef struct TCCState TCCState; + +/* create a new TCC compilation context */ +LIBTCCAPI TCCState *tcc_new(void); + +/* free a TCC compilation context */ +LIBTCCAPI void tcc_delete(TCCState *s); + +/* set CONFIG_TCCDIR at runtime */ +LIBTCCAPI void tcc_set_lib_path(TCCState *s, const char *path); + +/* set error/warning callback (optional) */ +typedef void TCCErrorFunc(void *opaque, const char *msg); +LIBTCCAPI void tcc_set_error_func(TCCState *s, void *error_opaque, TCCErrorFunc *error_func); + +/* set options as from command line (multiple supported) */ +LIBTCCAPI int tcc_set_options(TCCState *s, const char *str); + +/*****************************/ +/* preprocessor */ + +/* add include path */ +LIBTCCAPI int tcc_add_include_path(TCCState *s, const char *pathname); + +/* add in system include path */ +LIBTCCAPI int tcc_add_sysinclude_path(TCCState *s, const char *pathname); + +/* define preprocessor symbol 'sym'. value can be NULL, sym can be "sym=val" */ +LIBTCCAPI void tcc_define_symbol(TCCState *s, const char *sym, const char *value); + +/* undefine preprocess symbol 'sym' */ +LIBTCCAPI void tcc_undefine_symbol(TCCState *s, const char *sym); + +/*****************************/ +/* compiling */ + +/* add a file (C file, dll, object, library, ld script). Return -1 if error. */ +LIBTCCAPI int tcc_add_file(TCCState *s, const char *filename); + +/* compile a string containing a C source. Return -1 if error. */ +LIBTCCAPI int tcc_compile_string(TCCState *s, const char *buf); + +/* Tip: to have more specific errors/warnings from tcc_compile_string(), + you can prefix the string with "#line \"\"\n" */ + +/*****************************/ +/* linking commands */ + +/* set output type. MUST BE CALLED before any compilation */ +LIBTCCAPI int tcc_set_output_type(TCCState *s, int output_type); +#define TCC_OUTPUT_MEMORY 1 /* output will be run in memory */ +#define TCC_OUTPUT_EXE 2 /* executable file */ +#define TCC_OUTPUT_DLL 4 /* dynamic library */ +#define TCC_OUTPUT_OBJ 3 /* object file */ +#define TCC_OUTPUT_PREPROCESS 5 /* only preprocess */ + +/* equivalent to -Lpath option */ +LIBTCCAPI int tcc_add_library_path(TCCState *s, const char *pathname); + +/* the library name is the same as the argument of the '-l' option */ +LIBTCCAPI int tcc_add_library(TCCState *s, const char *libraryname); + +/* add a symbol to the compiled program */ +LIBTCCAPI int tcc_add_symbol(TCCState *s, const char *name, const void *val); + +/* output an executable, library or object file. DO NOT call + tcc_relocate() before. */ +LIBTCCAPI int tcc_output_file(TCCState *s, const char *filename); + +/* link and run main() function and return its value. DO NOT call + tcc_relocate() before. */ +LIBTCCAPI int tcc_run(TCCState *s, int argc, char **argv); + +/* do all relocations (needed before using tcc_get_symbol()) */ +LIBTCCAPI int tcc_relocate(TCCState *s1); + +/* return symbol value or NULL if not found */ +LIBTCCAPI void *tcc_get_symbol(TCCState *s, const char *name); + +/* list all (global) symbols and their values via 'symbol_cb()' */ +LIBTCCAPI void tcc_list_symbols(TCCState *s, void *ctx, + void (*symbol_cb)(void *ctx, const char *name, const void *val)); + +/* experimental/advanced section (see libtcc_test_mt.c for an example) */ + +/* catch runtime exceptions (optionally limit backtraces at top_func), + when using tcc_set_options("-bt") and when not using tcc_run() */ +LIBTCCAPI void *_tcc_setjmp(TCCState *s1, void *jmp_buf, void *top_func, void *longjmp); +#define tcc_setjmp(s1,jb,f) setjmp(_tcc_setjmp(s1, jb, f, longjmp)) + +/* custom error printer for runtime exceptions. Returning 0 stops backtrace */ +typedef int TCCBtFunc(void *udata, void *pc, const char *file, int line, const char* func, const char *msg); +LIBTCCAPI void tcc_set_backtrace_func(TCCState *s1, void* userdata, TCCBtFunc*); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/include/tokenizer.h b/include/tokenizer.h new file mode 100644 index 0000000..2f99ba6 --- /dev/null +++ b/include/tokenizer.h @@ -0,0 +1,25 @@ +#ifndef __TOKENIZER_H__ +#define __TOKENIZER_H__ + +extern const char* TokenTypeText[]; + +typedef enum TokenType { + TOKEN_LPAREN, + TOKEN_RPAREN, + TOKEN_NUMBER, + TOKEN_NAME, + TOKEN_STRING +} TokenType; + +typedef struct Token { + char* value; + TokenType type; + struct Token* next; +} Token; + +Token* tokenize(char* input); + +Token* token_create(char* value, TokenType type, Token* root); +Token* token_append(Token* root, Token* new_token); + +#endif \ No newline at end of file diff --git a/lib/libtcc.a b/lib/libtcc.a new file mode 100644 index 0000000000000000000000000000000000000000..6598e9c52e813461f52b70ff74f3b0e869e2ae74 GIT binary patch literal 532608 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%0Al3#31pLT{Pcm#RHY?fHM^ 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�U6H zc;AmbprU(4OG5Mez@zXYwgRud4ITyee~rKXuj?HL=MTp|v0*gjDx}j*$f4qQwrMfx zy>pot^y66V^T>KSG9U4&R^h+;0ydZUv5CK=$XO9&3}ed99KH|l&()p%z2GRMCAHT1 zQ|8ZP-OfEZ`anLs$Dm$=b)H|hF-9wTATz^ngr5k8p@TZFXMPd$_$Q7`f7Z%$|8QAr zUAOqGIcznQ9H_9=?myzK| z7V>*^k10z$B)l&Q-_uVpw6?`JUi=2bAFZ02YbN1MBPM%)d>&-|(>%QxdM+j-<$MrR>3#a?VvHax>{TI2h9c#MJXr@~e**XC$~>#8zttE;sy+b=hA9Jyt=F8@w-VxfTDQ}1B0~XWRJA|}1@I+L-_X!zi3MlZLz(*FGQf!b7nm39HHgjDbgw1%w`s>_88w;nt-aF^ z8%I+{{5piD+D64b`$?ml^|1>1j9>RltOK%#^yr^m7Q2^mQ1Xe$9Y$21vev1X`)&tt zNEx-Jid>@B1Eqgab5Ol!$t9=C?;JEI+ohAwxne!}>&aid z{_%^F{#(DToV;@K%E?=_e%nP_;l5int^@1aF4B`y$7+R-USwR5bcIVh@9a`tYZMxC zGj3IB%{dcw&r35)@jqnjv)D_`<|nZ&2H^Pht20Rh?prW5ivgRhNE6w)0@&S7~ z;X5X*#Ps+baSz`5V5qS8{Fk4n~;KRbyntJ~M1 zyueC{7uQCAg{P>wzdTP{d2&@5e0#Sks|~Hwi81DYmpjQzqAmFO9G!TQ7B8Qr1-kRm z)4Pkc2}S7WYi%9uN6P@Ri=u`1+GzNYt`Noff-$tsjHtltQYrr(cz$1SwuR`){Be2t2se0J}pNpLU)9ooOopPEydP} zr=}=YzmnDWoIw}fW9!1(W9CvUFIKX72XTLV3v2vO(^u)kqDhvXZa4nY zE_3c`t#a<5bRs%B5ruz_*F3f8y!TO7@R5a1cIYC;jyfFZOJr;;IUT=taEw0N)Oj1f z{dSzrn|)nW=Pl#17P?Y7Qa z##?mWJJETsLrHLumUnzV>)EI8Rl{p!5PNBfeOM_w#`gwFPS4juQ@=()^g z%$-Y_LvxUe$~%}-t;|PrEb?f})ODiIlQwswQ;cm>bnK#IEn`gnkoGUP+qoA%acO6_ z=pCWi{iLey8tV2#zbWVfg?{VM%f`wRet4^OueDZygIVk=Mdy-8vueK`b?VrTXWC#>iRLoLVp>sQejxXa2)W-3&YHn zSbbqs2lJi3E*;G2^ukJpNYo2AF}H+XOg$cJW9-=A6IXNxbkgolHtA%h=w?@XzEHi` zo*2DnWddzLw>E8f=8CSkIYtL2d!RohO;~)Y#(&-!Xd(nngl!#i2Jrl4b#kZbhCeNK z_)%m^wf6`k6ZdiNLx*wD>3Z4C9>#al{R8%!EiUXq^2Y?aCnldYfmm-7BAjmyE-is`Om9ZJ0}>I&t#eqhy8*2Ou)gvcz-jEO1wm*doT%wfzmh+C1d zdiDKEzar-t>RRMqbxmCO&bu7i;BjJ@N61U+?fhE#z5JEzD}JHf^bZ@8Q(HEEaQEK7XCGUiOxz-_Z#paciUFR# zAM^Y>G0$)2dCK2pUy-iJ4r$?2KzxDj`G_FgZp0fV`Ug6XASE{CHuk;TNJ(sIz4=hAR zLvDo+H@)g|8ZWznxniR6vg|3Vbfaa-UA|++F6|W`X9#tSZwPs`bg|a(8;9tTh_5|H zYh1t{P|i1}@Y~NBo%$|Cn6kMp?Ld<6s^d+xBkLXQYz{MC2h+8|MU2fle!axw+-JuI zA7nh=B$lPbTZ_!HVxNq~$i4fc2yyql@X&nGKeE4H20kQqdisTD&uB*n zH}SMG|3q6iJkf-^X9StQPxN!Fqv>*PN}axwUp3E8eL0ri4uws36qcdtz1R;7){f>o z9X31${3)`Av$p)7H4?vaFx|&K^b3NiEUac}b0P?p2n3 zl<-A?!wVepzD~PRm%zHukzK(4$lP~Jp8VcnzaCphUa?jaTSq!E+oV5dsv}Gv1;%y6 zM2oFUVpRPEn457({2LXpeo3M>|=zcj2nL%s$4B z2{C0~fex6ncOA<;aQ8<|=zeocv;)nIMeb_iZ<4yuHTambrOeq!Mb^KPc&^N8g=gq^ zp2VdN@ytBiChokfA70vxeOL6#@}Bgo_v4{L83TcZGnQ`2o6k51o(*6%T(~t)?Ll1x zjgTkst61Z|qK{IhnLf&Stz5gX7x5B%S<18KN!;6DY~5N?n~BdE$A$_;4=6EF`{893 z)5pwb4V_S#mdrV~V?ve7IloHRCy+OHF7i}6d;BT1ag=y(QuhFQG4f3P)M4jjfxo*> zpXhh9hjX_-(J1GYZuET>oEr;o@L{LnUv12H!z28w$Ir+3t=PBPIzRds_(Ozm>3lpj zFsRmfHD?C=xl$(k82AN}6raHSMa(dJD`v(9i759|QO zVf~su;3PJi!25a(ecZ$K5#rLp+oC-AIPr}ZvUY@Jok-RWh~8Xl8lKCt?u41kqKg)M zXy7q66`ZRw!e>M1Y4d@-op|TM`xdj#%YD9~c;AoXcwZL$SYkDe+>b1qCtGon)i@Z` zcbK(G=`|H!J{=Fta%$$7CawivWZS2#37i+nS&pjWzpV60Qmw&HtX_%TpL>qh0G~EvM;Z2>@?~T%171WdkRn-M zq@Q(h^bwEO5YI&a+8(3daI zj}Y6iI6jev%_8s!tfJeOxfp?8xR{4xXX0iaRxu9^=ApqnWIoNEDEe92O7}Je)7zeC zRC5Ia^!U)D`}9fCIVU=8KeGN@=3EMM&c~b+d!|Zz&i%}sb2;XmV=YQM>KLE)jw8Fi z4Ld>jq|&E%``mr&w)l4DPx4M`jzt&(B={AA2s> zVas1`MCLcu~CGGGg6jAZy`(NTbjX&R* z?14YYn6LoEjY-ATe}OT{68eZA6JuWNn3R6uV*>w+>v#C_zm9%aRL1uEi=)L@x>xiV zxlGaHCg}0G#ti75?>x6E`nG6)nD1Eg9Yw}zc+bdluqTH1#M%l*d5=k3*P8QP^*jG>w4x&B`?bt>L;G&f zFrH{cCpYi9Q|A51Jm$6Nyf19YVcyr-^S;iW_pX>W6^{vDg8fO;_kza4&PHjc@Dx0c z+`reOc+RlevTXwD5^T*>-zsK}Fs7V?w;=Px@)~32pNH2hW&f?#66mVCqCn09w6qn_ z!6fitXzNW{5T2{{744K0-Y>ME=wnaZIuws9Xdo)vseQ(o`0)znek@Gw7Y@Ue100Gz zjpouc8LKZ6u94_P=H|Qveq{KN55Ut(@bqOTcGfnX-VHnoC-l2J2Rvct_y^A!!BewM zzs+&<20}*|K(thjE{%i(96>&oz&I$740)9`w=rbI>~E7rU}v( z-(t=Yn)j_to8X$FtyH>F(YNnM{~meaXXqeO3Z$&*`w*HmU-X@#gP+g4E@1c3SAN}l z&~@CAu-6kf)mqqR_jx3EBO|~Y>lbjky)^VSqVJ91?bB?d<=b@z_H!=IPiJy|ir#oa zALofa&QF)IHtykkP4&->4$n_p9>#?8vhC=vCdfG}-xNuEfHSjp$|_xpoSCU>IU8-q zekq@CzV~si=Ek55Tv;l?5DGd>=?`V?}SC20Xpxe0Pw!E;xjK291;DdtK=H z-PwFI9Y4j&A2sI~W13U&8RR~v{@P!MbB<2n%$fGk>u;BL7Zpme7XI&_#Ro`o%MA`Cg?Lz4OpGIa`qLds%vA^K1c~p=&yRs5Ts&5vFj4 zI4@UEuTS4~f6jj7PJvtC5A&-{*BZY0Y&d5P`mhy04(AwA{?gQ~#!_fi(PRg{5=R*G zHR#p+=&8iEJQJFYr`61XJkze$!eInhMAv887oz8;J{d=KFY~Q)&G&*;GoNep69eK- z=tkEt0UiMY46Ptprw&xmMduDch9r&c}xqNRb7A^$? z=P}?Yt8)$d#wqA;1*S(Czu2-B$yOg~>EDz1B5x(VKcS!PCa$wO-0R9%by{aW(E zcda_+;=J6aJ6qj+zp(0qyEj+u(q9oi>El~9?!))&tvaxJbJbc$tMJg7b_|8me34Tso%UUaEKKY#S7@YC= z?Xy3uD7oq4->a^Aw&Yn3#k#$Ds5WJb|+zjf5cND$OntYHkjlO649FDv{@Zjew zYeOG#i0X(#vi z)~5<&6B!r2?|i?ySL;?S?_mek%>hW!a^~%W%-dl+joc>#SOiZhwvxXtzsqCeDI)%X zd0N_Q)Dw@Nk#Rm!zhvzZoC~h+EYQ-3k(5x^$Z(B>YgL!vdRe(ebMbHu`--akkzf)! z7%3)0tlyX7tDkipRO{}Z6Zb>&l{&)gZ$GULhuEz!Ck5tw_5gLfzl85LD_KwCFfBj^ds%oR^EkF0;r+4i zq(X-+yQa1L0$mb%%i<-RQP*)k9kS1G1SWye<=xTfXaDOPlViq~nSpPB(8Twld6EC3 za#@1>r`CFSgNX;FM^4{U*!634R_!rkFjBk%>EmbFGwowMyHF%Oe z=n+R#j(TQj*#*K^?fvLrKKogruWc8w*T4^4;;^K^D^s;cg73fcbfdg~l=s^m9)FLn z6@84Kw({ZoPxPYC;TI-8!!h{ord;6(=;07NH3ZDRq};IV+SEOX_E&-bCBmn$n>+-6 zpG~=y&ar+vV*0;T#EqM0z=2O5cd=&y7ZtR>oUyxK zVkn%JmUYu^?T9`16kKo1dI8NEyS^g$Sb1h$E5+frdIJa%q7P6mhf{%!eYV7(Yx}?g{*1kx?r)>zB z_c;@EQmkDD?@Rkfp@WN{-PpRzOu0k$U{?G@DJO6>+3*Rh%6!wC*8hIAB*Y_|o*2z_01BYJ)mzROlOTq0N z^w;=7Ivu7DpY$^prWv0M74q$K(>69zVA;j?O|a}@``yEKv02!-Dn2H2U}F0d=-#Y# zO|5;>r#?ppwt1OR+q_KXmLFSLAGUeu4YA3Kx6PXjo+GS#V*C0Wc6p}lD|^gJ+7R1U zzSU;V>pIpaFTCH%4@vmw4VzN{090f zgg43iUed&(?Z-jc zAIiCoz$j~{v>`DSW8>(^c#53a15cC~1D~r69%(Cr z%q49R+cTl9Q};R1zBE~V`3-%MI@;NHJqSKjzbt+~GClq0?ti>C>mQXOF40XO0D9y8Sbb!Crg) zmNE4`EMqXk90RFGX!+TK#IYP17G-Z_){_lwp!+c4vFE*udEa4Zg)+7V^T)vN&dswb z_6UaVZs|AUl)2_s-ZFWD_~}()b6iFH{

D8M>e4{x1z$JsO9$8RVVUMTj-Rrn0K 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 +#include +#include + +#define __ATOMIC_RELAXED 0 +#define __ATOMIC_CONSUME 1 +#define __ATOMIC_ACQUIRE 2 +#define __ATOMIC_RELEASE 3 +#define __ATOMIC_ACQ_REL 4 +#define __ATOMIC_SEQ_CST 5 + +/* Memory ordering */ +typedef enum { + memory_order_relaxed = __ATOMIC_RELAXED, + memory_order_consume = __ATOMIC_CONSUME, + memory_order_acquire = __ATOMIC_ACQUIRE, + memory_order_release = __ATOMIC_RELEASE, + memory_order_acq_rel = __ATOMIC_ACQ_REL, + memory_order_seq_cst = __ATOMIC_SEQ_CST, +} memory_order; + +/* Atomic typedefs */ +typedef _Atomic(_Bool) atomic_bool; +typedef _Atomic(char) atomic_char; +typedef _Atomic(signed char) atomic_schar; +typedef _Atomic(unsigned char) atomic_uchar; +typedef _Atomic(short) atomic_short; +typedef _Atomic(unsigned short) atomic_ushort; +typedef _Atomic(int) atomic_int; +typedef _Atomic(unsigned int) atomic_uint; +typedef _Atomic(long) atomic_long; +typedef _Atomic(unsigned long) atomic_ulong; +typedef _Atomic(long long) atomic_llong; +typedef _Atomic(unsigned long long) atomic_ullong; +typedef _Atomic(uint_least16_t) atomic_char16_t; +typedef _Atomic(uint_least32_t) atomic_char32_t; +typedef _Atomic(wchar_t) atomic_wchar_t; +typedef _Atomic(int_least8_t) atomic_int_least8_t; +typedef _Atomic(uint_least8_t) atomic_uint_least8_t; +typedef _Atomic(int_least16_t) atomic_int_least16_t; +typedef _Atomic(uint_least16_t) atomic_uint_least16_t; +typedef _Atomic(int_least32_t) atomic_int_least32_t; +typedef _Atomic(uint_least32_t) atomic_uint_least32_t; +typedef _Atomic(int_least64_t) atomic_int_least64_t; +typedef _Atomic(uint_least64_t) atomic_uint_least64_t; +typedef _Atomic(int_fast8_t) atomic_int_fast8_t; +typedef _Atomic(uint_fast8_t) atomic_uint_fast8_t; +typedef _Atomic(int_fast16_t) atomic_int_fast16_t; +typedef _Atomic(uint_fast16_t) atomic_uint_fast16_t; +typedef _Atomic(int_fast32_t) atomic_int_fast32_t; +typedef _Atomic(uint_fast32_t) atomic_uint_fast32_t; +typedef _Atomic(int_fast64_t) atomic_int_fast64_t; +typedef _Atomic(uint_fast64_t) atomic_uint_fast64_t; +typedef _Atomic(intptr_t) atomic_intptr_t; +typedef _Atomic(uintptr_t) atomic_uintptr_t; +typedef _Atomic(size_t) atomic_size_t; +typedef _Atomic(ptrdiff_t) atomic_ptrdiff_t; +typedef _Atomic(intmax_t) atomic_intmax_t; +typedef _Atomic(uintmax_t) atomic_uintmax_t; + +/* Atomic flag */ +typedef struct { + atomic_bool value; +} atomic_flag; + +#define ATOMIC_FLAG_INIT {0} +#define ATOMIC_VAR_INIT(value) (value) + +#define atomic_flag_test_and_set_explicit(object, order) \ + __atomic_test_and_set((void *)(&((object)->value)), order) +#define atomic_flag_test_and_set(object) \ + atomic_flag_test_and_set_explicit(object, __ATOMIC_SEQ_CST) + +#define atomic_flag_clear_explicit(object, order) \ + __atomic_clear((bool *)(&((object)->value)), order) +#define atomic_flag_clear(object) \ + atomic_flag_clear_explicit(object, __ATOMIC_SEQ_CST) + +/* Generic routines */ +#define atomic_init(object, desired) \ + atomic_store_explicit(object, desired, __ATOMIC_RELAXED) + +#define atomic_store_explicit(object, desired, order) \ + ({ __typeof__ (object) ptr = (object); \ + __typeof__ (*ptr) tmp = (desired); \ + __atomic_store (ptr, &tmp, (order)); \ + }) +#define atomic_store(object, desired) \ + atomic_store_explicit (object, desired, __ATOMIC_SEQ_CST) + +#define atomic_load_explicit(object, order) \ + ({ __typeof__ (object) ptr = (object); \ + __typeof__ (*ptr) tmp; \ + __atomic_load (ptr, &tmp, (order)); \ + tmp; \ + }) +#define atomic_load(object) atomic_load_explicit (object, __ATOMIC_SEQ_CST) + +#define atomic_exchange_explicit(object, desired, order) \ + ({ __typeof__ (object) ptr = (object); \ + __typeof__ (*ptr) val = (desired); \ + __typeof__ (*ptr) tmp; \ + __atomic_exchange (ptr, &val, &tmp, (order)); \ + tmp; \ + }) +#define atomic_exchange(object, desired) \ + atomic_exchange_explicit (object, desired, __ATOMIC_SEQ_CST) + +#define atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure) \ + ({ __typeof__ (object) ptr = (object); \ + __typeof__ (*ptr) tmp = desired; \ + __atomic_compare_exchange(ptr, expected, &tmp, 0, success, failure); \ + }) +#define atomic_compare_exchange_strong(object, expected, desired) \ + atomic_compare_exchange_strong_explicit (object, expected, desired, \ + __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) + +#define atomic_compare_exchange_weak_explicit(object, expected, desired, success, failure) \ + ({ __typeof__ (object) ptr = (object); \ + __typeof__ (*ptr) tmp = desired; \ + __atomic_compare_exchange(ptr, expected, &tmp, 1, success, failure); \ + }) +#define atomic_compare_exchange_weak(object, expected, desired) \ + atomic_compare_exchange_weak_explicit (object, expected, desired, \ + __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST) + +#define atomic_fetch_add(object, operand) \ + __atomic_fetch_add(object, operand, __ATOMIC_SEQ_CST) +#define atomic_fetch_add_explicit __atomic_fetch_add + +#define atomic_fetch_sub(object, operand) \ + __atomic_fetch_sub(object, operand, __ATOMIC_SEQ_CST) +#define atomic_fetch_sub_explicit __atomic_fetch_sub + +#define atomic_fetch_or(object, operand) \ + __atomic_fetch_or(object, operand, __ATOMIC_SEQ_CST) +#define atomic_fetch_or_explicit __atomic_fetch_or + +#define atomic_fetch_xor(object, operand) \ + __atomic_fetch_xor(object, operand, __ATOMIC_SEQ_CST) +#define atomic_fetch_xor_explicit __atomic_fetch_xor + +#define atomic_fetch_and(object, operand) \ + __atomic_fetch_and(object, operand, __ATOMIC_SEQ_CST) +#define atomic_fetch_and_explicit __atomic_fetch_and + +extern void atomic_thread_fence (memory_order); +extern void __atomic_thread_fence (memory_order); +#define atomic_thread_fence(order) __atomic_thread_fence (order) +extern void atomic_signal_fence (memory_order); +extern void __atomic_signal_fence (memory_order); +#define atomic_signal_fence(order) __atomic_signal_fence (order) +extern bool __atomic_is_lock_free(size_t size, void *ptr); +#define atomic_is_lock_free(OBJ) __atomic_is_lock_free (sizeof (*(OBJ)), (OBJ)) + +extern bool __atomic_test_and_set (void *, memory_order); +extern void __atomic_clear (bool *, memory_order); + +#endif /* _STDATOMIC_H */ diff --git a/lib/tcc/include/stdbool.h b/lib/tcc/include/stdbool.h new file mode 100644 index 0000000..d2ee446 --- /dev/null +++ b/lib/tcc/include/stdbool.h @@ -0,0 +1,11 @@ +#ifndef _STDBOOL_H +#define _STDBOOL_H + +/* ISOC99 boolean */ + +#define bool _Bool +#define true 1 +#define false 0 +#define __bool_true_false_are_defined 1 + +#endif /* _STDBOOL_H */ diff --git a/lib/tcc/include/stddef.h b/lib/tcc/include/stddef.h new file mode 100644 index 0000000..da9b9e0 --- /dev/null +++ b/lib/tcc/include/stddef.h @@ -0,0 +1,41 @@ +#ifndef _STDDEF_H +#define _STDDEF_H + +typedef __SIZE_TYPE__ size_t; +typedef __PTRDIFF_TYPE__ ssize_t; +typedef __WCHAR_TYPE__ wchar_t; +typedef __PTRDIFF_TYPE__ ptrdiff_t; +typedef __PTRDIFF_TYPE__ intptr_t; +typedef __SIZE_TYPE__ uintptr_t; + +#if __STDC_VERSION__ >= 201112L +typedef union { long long __ll; long double __ld; } max_align_t; +#endif + +#ifndef NULL +#define NULL ((void*)0) +#endif + +#undef offsetof +#define offsetof(type, field) ((size_t)&((type *)0)->field) + +#if defined __i386__ || defined __x86_64__ +void *alloca(size_t size); +#endif + +#endif + +/* Older glibc require a wint_t from (when requested + by __need_wint_t, as otherwise stddef.h isn't allowed to + define this type). Note that this must be outside the normal + _STDDEF_H guard, so that it works even when we've included the file + already (without requiring wint_t). Some other libs define _WINT_T + if they've already provided that type, so we can use that as guard. + TCC defines __WINT_TYPE__ for us. */ +#if defined (__need_wint_t) +#ifndef _WINT_T +#define _WINT_T +typedef __WINT_TYPE__ wint_t; +#endif +#undef __need_wint_t +#endif diff --git a/lib/tcc/include/stdnoreturn.h b/lib/tcc/include/stdnoreturn.h new file mode 100644 index 0000000..4d580ea --- /dev/null +++ b/lib/tcc/include/stdnoreturn.h @@ -0,0 +1,7 @@ +#ifndef _STDNORETURN_H +#define _STDNORETURN_H + +/* ISOC11 noreturn */ +#define noreturn _Noreturn + +#endif /* _STDNORETURN_H */ diff --git a/lib/tcc/include/tccdefs.h b/lib/tcc/include/tccdefs.h new file mode 100644 index 0000000..8ec6464 --- /dev/null +++ b/lib/tcc/include/tccdefs.h @@ -0,0 +1,333 @@ +/* tccdefs.h + + Nothing is defined before this file except target machine, target os + and the few things related to option settings in tccpp.c:tcc_predefs(). + + This file is either included at runtime as is, or converted and + included as C-strings at compile-time (depending on CONFIG_TCC_PREDEFS). + + Note that line indent matters: + + - in lines starting at column 1, platform macros are replaced by + corresponding TCC target compile-time macros. See conftest.c for + the list of platform macros supported in lines starting at column 1. + + - only lines indented >= 4 are actually included into the executable, + check tccdefs_.h. +*/ + +#if __SIZEOF_POINTER__ == 4 + /* 32bit systems. */ +#if defined __OpenBSD__ + #define __SIZE_TYPE__ unsigned long + #define __PTRDIFF_TYPE__ long +#else + #define __SIZE_TYPE__ unsigned int + #define __PTRDIFF_TYPE__ int +#endif + #define __ILP32__ 1 + #define __INT64_TYPE__ long long +#elif __SIZEOF_LONG__ == 4 + /* 64bit Windows. */ + #define __SIZE_TYPE__ unsigned long long + #define __PTRDIFF_TYPE__ long long + #define __LLP64__ 1 + #define __INT64_TYPE__ long long +#else + /* Other 64bit systems. */ + #define __SIZE_TYPE__ unsigned long + #define __PTRDIFF_TYPE__ long + #define __LP64__ 1 +# if defined __linux__ + #define __INT64_TYPE__ long +# else /* APPLE, BSD */ + #define __INT64_TYPE__ long long +# endif +#endif + #define __SIZEOF_INT__ 4 + #define __INT_MAX__ 0x7fffffff +#if __SIZEOF_LONG__ == 4 + #define __LONG_MAX__ 0x7fffffffL +#else + #define __LONG_MAX__ 0x7fffffffffffffffL +#endif + #define __SIZEOF_LONG_LONG__ 8 + #define __LONG_LONG_MAX__ 0x7fffffffffffffffLL + #define __CHAR_BIT__ 8 + #define __ORDER_LITTLE_ENDIAN__ 1234 + #define __ORDER_BIG_ENDIAN__ 4321 + #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#if defined _WIN32 + #define __WCHAR_TYPE__ unsigned short + #define __WINT_TYPE__ unsigned short +#elif defined __linux__ + #define __WCHAR_TYPE__ int + #define __WINT_TYPE__ unsigned int +#else + #define __WCHAR_TYPE__ int + #define __WINT_TYPE__ int +#endif + + #if __STDC_VERSION__ >= 201112L + # define __STDC_NO_ATOMICS__ 1 + # define __STDC_NO_COMPLEX__ 1 + # define __STDC_NO_THREADS__ 1 +#if !defined _WIN32 + # define __STDC_UTF_16__ 1 + # define __STDC_UTF_32__ 1 +#endif + #endif + +#if defined _WIN32 + #define __declspec(x) __attribute__((x)) + #define __cdecl + +#elif defined __FreeBSD__ + #define __GNUC__ 9 + #define __GNUC_MINOR__ 3 + #define __GNUC_PATCHLEVEL__ 0 + #define __GNUC_STDC_INLINE__ 1 + #define __NO_TLS 1 + #define __RUNETYPE_INTERNAL 1 +# if __SIZEOF_POINTER__ == 8 + /* FIXME, __int128_t is used by setjump */ + #define __int128_t struct { unsigned char _dummy[16] __attribute((aligned(16))); } + #define __SIZEOF_SIZE_T__ 8 + #define __SIZEOF_PTRDIFF_T__ 8 +#else + #define __SIZEOF_SIZE_T__ 4 + #define __SIZEOF_PTRDIFF_T__ 4 +# endif + +#elif defined __FreeBSD_kernel__ + +#elif defined __NetBSD__ + #define __GNUC__ 4 + #define __GNUC_MINOR__ 1 + #define __GNUC_PATCHLEVEL__ 0 + #define _Pragma(x) + #define __ELF__ 1 +#if defined __aarch64__ + #define _LOCORE /* avoids usage of __asm */ +#endif + +#elif defined __OpenBSD__ + #define __GNUC__ 4 + #define _ANSI_LIBRARY 1 + +#elif defined __APPLE__ + /* emulate APPLE-GCC to make libc's headerfiles compile: */ + #define __GNUC__ 4 /* darwin emits warning on GCC<4 */ + #define __APPLE_CC__ 1 /* for */ + #define __LITTLE_ENDIAN__ 1 + #define _DONT_USE_CTYPE_INLINE_ 1 + /* avoids usage of GCC/clang specific builtins in libc-headerfiles: */ + #define __FINITE_MATH_ONLY__ 1 + #define _FORTIFY_SOURCE 0 + //#define __has_builtin(x) 0 + +#elif defined __ANDROID__ + #define BIONIC_IOCTL_NO_SIGNEDNESS_OVERLOAD + +#else + /* Linux */ + +#endif + + /* Some derived integer types needed to get stdint.h to compile correctly on some platforms */ +#ifndef __NetBSD__ + #define __UINTPTR_TYPE__ unsigned __PTRDIFF_TYPE__ + #define __INTPTR_TYPE__ __PTRDIFF_TYPE__ +#endif + #define __INT32_TYPE__ int + +#if !defined _WIN32 + /* glibc defines. We do not support __USER_NAME_PREFIX__ */ + #define __REDIRECT(name, proto, alias) name proto __asm__ (#alias) + #define __REDIRECT_NTH(name, proto, alias) name proto __asm__ (#alias) __THROW + #define __REDIRECT_NTHNL(name, proto, alias) name proto __asm__ (#alias) __THROWNL +#endif + + /* not implemented */ + #define __PRETTY_FUNCTION__ __FUNCTION__ + #define __has_builtin(x) 0 + #define __has_feature(x) 0 + /* C23 Keywords */ + #define _Nonnull + #define _Nullable + #define _Nullable_result + #define _Null_unspecified + + /* skip __builtin... with -E */ + #ifndef __TCC_PP__ + + #define __builtin_offsetof(type, field) ((__SIZE_TYPE__)&((type*)0)->field) + #define __builtin_extract_return_addr(x) x +#if !defined __linux__ && !defined _WIN32 + /* used by math.h */ + #define __builtin_huge_val() 1e500 + #define __builtin_huge_valf() 1e50f + #define __builtin_huge_vall() 1e5000L +# if defined __APPLE__ + #define __builtin_nanf(ignored_string) (0.0F/0.0F) + /* used by floats.h to implement FLT_ROUNDS C99 macro. 1 == to nearest */ + #define __builtin_flt_rounds() 1 + /* used by _fd_def.h */ + #define __builtin_bzero(p, ignored_size) bzero(p, sizeof(*(p))) +# else + #define __builtin_nanf(ignored_string) (0.0F/0.0F) +# endif +#endif + + /* __builtin_va_list */ +#if defined __x86_64__ +#if !defined _WIN32 + /* GCC compatible definition of va_list. */ + /* This should be in sync with the declaration in our lib/libtcc1.c */ + typedef struct { + unsigned gp_offset, fp_offset; + union { + unsigned overflow_offset; + char *overflow_arg_area; + }; + char *reg_save_area; + } __builtin_va_list[1]; + + void *__va_arg(__builtin_va_list ap, int arg_type, int size, int align); + #define __builtin_va_start(ap, last) \ + (*(ap) = *(__builtin_va_list)((char*)__builtin_frame_address(0) - 24)) + #define __builtin_va_arg(ap, t) \ + (*(t *)(__va_arg(ap, __builtin_va_arg_types(t), sizeof(t), __alignof__(t)))) + #define __builtin_va_copy(dest, src) (*(dest) = *(src)) + +#else /* _WIN64 */ + typedef char *__builtin_va_list; + #define __builtin_va_arg(ap, t) ((sizeof(t) > 8 || (sizeof(t) & (sizeof(t) - 1))) \ + ? **(t **)((ap += 8) - 8) : *(t *)((ap += 8) - 8)) +#endif + +#elif defined __arm__ + typedef char *__builtin_va_list; + #define _tcc_alignof(type) ((int)&((struct {char c;type x;} *)0)->x) + #define _tcc_align(addr,type) (((unsigned)addr + _tcc_alignof(type) - 1) \ + & ~(_tcc_alignof(type) - 1)) + #define __builtin_va_start(ap,last) (ap = ((char *)&(last)) + ((sizeof(last)+3)&~3)) + #define __builtin_va_arg(ap,type) (ap = (void *) ((_tcc_align(ap,type)+sizeof(type)+3) \ + &~3), *(type *)(ap - ((sizeof(type)+3)&~3))) + +#elif defined __aarch64__ +#if defined __APPLE__ + typedef struct { + void *__stack; + } __builtin_va_list; + +#else + typedef struct { + void *__stack, *__gr_top, *__vr_top; + int __gr_offs, __vr_offs; + } __builtin_va_list; + +#endif +#elif defined __riscv + typedef char *__builtin_va_list; + #define __va_reg_size (__riscv_xlen >> 3) + #define _tcc_align(addr,type) (((unsigned long)addr + __alignof__(type) - 1) \ + & -(__alignof__(type))) + #define __builtin_va_arg(ap,type) (*(sizeof(type) > (2*__va_reg_size) ? *(type **)((ap += __va_reg_size) - __va_reg_size) : (ap = (va_list)(_tcc_align(ap,type) + (sizeof(type)+__va_reg_size - 1)& -__va_reg_size), (type *)(ap - ((sizeof(type)+ __va_reg_size - 1)& -__va_reg_size))))) + +#else /* __i386__ */ + typedef char *__builtin_va_list; + #define __builtin_va_start(ap,last) (ap = ((char *)&(last)) + ((sizeof(last)+3)&~3)) + #define __builtin_va_arg(ap,t) (*(t*)((ap+=(sizeof(t)+3)&~3)-((sizeof(t)+3)&~3))) + +#endif + #define __builtin_va_end(ap) (void)(ap) + #ifndef __builtin_va_copy + # define __builtin_va_copy(dest, src) (dest) = (src) + #endif + + /* TCC BBUILTIN AND BOUNDS ALIASES */ + #ifdef __leading_underscore + # define __RENAME(X) __asm__("_"X) + #else + # define __RENAME(X) __asm__(X) + #endif + + #ifdef __TCC_BCHECK__ + # define __BUILTINBC(ret,name,params) ret __builtin_##name params __RENAME("__bound_"#name); + # define __BOUND(ret,name,params) ret name params __RENAME("__bound_"#name); + #else + # define __BUILTINBC(ret,name,params) ret __builtin_##name params __RENAME(#name); + # define __BOUND(ret,name,params) + #endif +#ifdef _WIN32 + #define __BOTH __BOUND + #define __BUILTIN(ret,name,params) +#else + #define __BOTH(ret,name,params) __BUILTINBC(ret,name,params)__BOUND(ret,name,params) + #define __BUILTIN(ret,name,params) ret __builtin_##name params __RENAME(#name); +#endif + + __BOTH(void*, memcpy, (void *, const void*, __SIZE_TYPE__)) + __BOTH(void*, memmove, (void *, const void*, __SIZE_TYPE__)) + __BOTH(void*, memset, (void *, int, __SIZE_TYPE__)) + __BOTH(int, memcmp, (const void *, const void*, __SIZE_TYPE__)) + __BOTH(__SIZE_TYPE__, strlen, (const char *)) + __BOTH(char*, strcpy, (char *, const char *)) + __BOTH(char*, strncpy, (char *, const char*, __SIZE_TYPE__)) + __BOTH(int, strcmp, (const char*, const char*)) + __BOTH(int, strncmp, (const char*, const char*, __SIZE_TYPE__)) + __BOTH(char*, strcat, (char*, const char*)) + __BOTH(char*, strncat, (char*, const char*, __SIZE_TYPE__)) + __BOTH(char*, strchr, (const char*, int)) + __BOTH(char*, strrchr, (const char*, int)) + __BOTH(char*, strdup, (const char*)) +#if defined __ARM_EABI__ + __BOUND(void*,__aeabi_memcpy,(void*,const void*,__SIZE_TYPE__)) + __BOUND(void*,__aeabi_memmove,(void*,const void*,__SIZE_TYPE__)) + __BOUND(void*,__aeabi_memmove4,(void*,const void*,__SIZE_TYPE__)) + __BOUND(void*,__aeabi_memmove8,(void*,const void*,__SIZE_TYPE__)) + __BOUND(void*,__aeabi_memset,(void*,int,__SIZE_TYPE__)) +#endif + +#if defined __linux__ || defined __APPLE__ // HAVE MALLOC_REDIR + #define __MAYBE_REDIR __BUILTIN +#else + #define __MAYBE_REDIR __BOTH +#endif + __MAYBE_REDIR(void*, malloc, (__SIZE_TYPE__)) + __MAYBE_REDIR(void*, realloc, (void *, __SIZE_TYPE__)) + __MAYBE_REDIR(void*, calloc, (__SIZE_TYPE__, __SIZE_TYPE__)) + __MAYBE_REDIR(void*, memalign, (__SIZE_TYPE__, __SIZE_TYPE__)) + __MAYBE_REDIR(void, free, (void*)) +#if defined __i386__ || defined __x86_64__ + __BOTH(void*, alloca, (__SIZE_TYPE__)) +#else + __BUILTIN(void*, alloca, (__SIZE_TYPE__)) +#endif + __BUILTIN(void, abort, (void)) + __BOUND(void, longjmp, ()) +#if !defined _WIN32 + __BOUND(void*, mmap, ()) + __BOUND(int, munmap, ()) +#endif + #undef __BUILTINBC + #undef __BUILTIN + #undef __BOUND + #undef __BOTH + #undef __MAYBE_REDIR + #undef __RENAME + + #define __BUILTIN_EXTERN(name,u) \ + int __builtin_##name(u int); \ + int __builtin_##name##l(u long); \ + int __builtin_##name##ll(u long long); + __BUILTIN_EXTERN(ffs,) + __BUILTIN_EXTERN(clz, unsigned) + __BUILTIN_EXTERN(ctz, unsigned) + __BUILTIN_EXTERN(clrsb,) + __BUILTIN_EXTERN(popcount, unsigned) + __BUILTIN_EXTERN(parity, unsigned) + #undef __BUILTIN_EXTERN + + #endif /* ndef __TCC_PP__ */ diff --git a/lib/tcc/include/tcclib.h b/lib/tcc/include/tcclib.h new file mode 100644 index 0000000..8d59e4c --- /dev/null +++ b/lib/tcc/include/tcclib.h @@ -0,0 +1,80 @@ +/* Simple libc header for TCC + * + * Add any function you want from the libc there. This file is here + * only for your convenience so that you do not need to put the whole + * glibc include files on your floppy disk + */ +#ifndef _TCCLIB_H +#define _TCCLIB_H + +#include +#include + +/* stdlib.h */ +void *calloc(size_t nmemb, size_t size); +void *malloc(size_t size); +void free(void *ptr); +void *realloc(void *ptr, size_t size); +int atoi(const char *nptr); +long int strtol(const char *nptr, char **endptr, int base); +unsigned long int strtoul(const char *nptr, char **endptr, int base); +void exit(int); + +/* stdio.h */ +typedef struct __FILE FILE; +#define EOF (-1) +extern FILE *stdin; +extern FILE *stdout; +extern FILE *stderr; +FILE *fopen(const char *path, const char *mode); +FILE *fdopen(int fildes, const char *mode); +FILE *freopen(const char *path, const char *mode, FILE *stream); +int fclose(FILE *stream); +size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); +size_t fwrite(void *ptr, size_t size, size_t nmemb, FILE *stream); +int fgetc(FILE *stream); +char *fgets(char *s, int size, FILE *stream); +int getc(FILE *stream); +int getchar(void); +char *gets(char *s); +int ungetc(int c, FILE *stream); +int fflush(FILE *stream); +int putchar (int c); + +int printf(const char *format, ...); +int fprintf(FILE *stream, const char *format, ...); +int sprintf(char *str, const char *format, ...); +int snprintf(char *str, size_t size, const char *format, ...); +int asprintf(char **strp, const char *format, ...); +int dprintf(int fd, const char *format, ...); +int vprintf(const char *format, va_list ap); +int vfprintf(FILE *stream, const char *format, va_list ap); +int vsprintf(char *str, const char *format, va_list ap); +int vsnprintf(char *str, size_t size, const char *format, va_list ap); +int vasprintf(char **strp, const char *format, va_list ap); +int vdprintf(int fd, const char *format, va_list ap); + +void perror(const char *s); + +/* string.h */ +char *strcat(char *dest, const char *src); +char *strchr(const char *s, int c); +char *strrchr(const char *s, int c); +char *strcpy(char *dest, const char *src); +void *memcpy(void *dest, const void *src, size_t n); +void *memmove(void *dest, const void *src, size_t n); +void *memset(void *s, int c, size_t n); +char *strdup(const char *s); +size_t strlen(const char *s); + +/* dlfcn.h */ +#define RTLD_LAZY 0x001 +#define RTLD_NOW 0x002 +#define RTLD_GLOBAL 0x100 + +void *dlopen(const char *filename, int flag); +const char *dlerror(void); +void *dlsym(void *handle, char *symbol); +int dlclose(void *handle); + +#endif /* _TCCLIB_H */ diff --git a/lib/tcc/include/tgmath.h b/lib/tcc/include/tgmath.h new file mode 100644 index 0000000..5d3e357 --- /dev/null +++ b/lib/tcc/include/tgmath.h @@ -0,0 +1,89 @@ +/* + * ISO C Standard: 7.22 Type-generic math + */ + +#ifndef _TGMATH_H +#define _TGMATH_H + +#include + +#ifndef __cplusplus +#define __tgmath_real(x, F) \ + _Generic ((x), float: F##f, long double: F##l, default: F)(x) +#define __tgmath_real_2_1(x, y, F) \ + _Generic ((x), float: F##f, long double: F##l, default: F)(x, y) +#define __tgmath_real_2(x, y, F) \ + _Generic ((x)+(y), float: F##f, long double: F##l, default: F)(x, y) +#define __tgmath_real_3_2(x, y, z, F) \ + _Generic ((x)+(y), float: F##f, long double: F##l, default: F)(x, y, z) +#define __tgmath_real_3(x, y, z, F) \ + _Generic ((x)+(y)+(z), float: F##f, long double: F##l, default: F)(x, y, z) + +/* Functions defined in both and (7.22p4) */ +#define acos(z) __tgmath_real(z, acos) +#define asin(z) __tgmath_real(z, asin) +#define atan(z) __tgmath_real(z, atan) +#define acosh(z) __tgmath_real(z, acosh) +#define asinh(z) __tgmath_real(z, asinh) +#define atanh(z) __tgmath_real(z, atanh) +#define cos(z) __tgmath_real(z, cos) +#define sin(z) __tgmath_real(z, sin) +#define tan(z) __tgmath_real(z, tan) +#define cosh(z) __tgmath_real(z, cosh) +#define sinh(z) __tgmath_real(z, sinh) +#define tanh(z) __tgmath_real(z, tanh) +#define exp(z) __tgmath_real(z, exp) +#define log(z) __tgmath_real(z, log) +#define pow(z1,z2) __tgmath_real_2(z1, z2, pow) +#define sqrt(z) __tgmath_real(z, sqrt) +#define fabs(z) __tgmath_real(z, fabs) + +/* Functions defined in only (7.22p5) */ +#define atan2(x,y) __tgmath_real_2(x, y, atan2) +#define cbrt(x) __tgmath_real(x, cbrt) +#define ceil(x) __tgmath_real(x, ceil) +#define copysign(x,y) __tgmath_real_2(x, y, copysign) +#define erf(x) __tgmath_real(x, erf) +#define erfc(x) __tgmath_real(x, erfc) +#define exp2(x) __tgmath_real(x, exp2) +#define expm1(x) __tgmath_real(x, expm1) +#define fdim(x,y) __tgmath_real_2(x, y, fdim) +#define floor(x) __tgmath_real(x, floor) +#define fma(x,y,z) __tgmath_real_3(x, y, z, fma) +#define fmax(x,y) __tgmath_real_2(x, y, fmax) +#define fmin(x,y) __tgmath_real_2(x, y, fmin) +#define fmod(x,y) __tgmath_real_2(x, y, fmod) +#define frexp(x,y) __tgmath_real_2_1(x, y, frexp) +#define hypot(x,y) __tgmath_real_2(x, y, hypot) +#define ilogb(x) __tgmath_real(x, ilogb) +#define ldexp(x,y) __tgmath_real_2_1(x, y, ldexp) +#define lgamma(x) __tgmath_real(x, lgamma) +#define llrint(x) __tgmath_real(x, llrint) +#define llround(x) __tgmath_real(x, llround) +#define log10(x) __tgmath_real(x, log10) +#define log1p(x) __tgmath_real(x, log1p) +#define log2(x) __tgmath_real(x, log2) +#define logb(x) __tgmath_real(x, logb) +#define lrint(x) __tgmath_real(x, lrint) +#define lround(x) __tgmath_real(x, lround) +#define nearbyint(x) __tgmath_real(x, nearbyint) +#define nextafter(x,y) __tgmath_real_2(x, y, nextafter) +#define nexttoward(x,y) __tgmath_real_2(x, y, nexttoward) +#define remainder(x,y) __tgmath_real_2(x, y, remainder) +#define remquo(x,y,z) __tgmath_real_3_2(x, y, z, remquo) +#define rint(x) __tgmath_real(x, rint) +#define round(x) __tgmath_real(x, round) +#define scalbln(x,y) __tgmath_real_2_1(x, y, scalbln) +#define scalbn(x,y) __tgmath_real_2_1(x, y, scalbn) +#define tgamma(x) __tgmath_real(x, tgamma) +#define trunc(x) __tgmath_real(x, trunc) + +/* Functions defined in only (7.22p6) +#define carg(z) __tgmath_cplx_only(z, carg) +#define cimag(z) __tgmath_cplx_only(z, cimag) +#define conj(z) __tgmath_cplx_only(z, conj) +#define cproj(z) __tgmath_cplx_only(z, cproj) +#define creal(z) __tgmath_cplx_only(z, creal) +*/ +#endif /* __cplusplus */ +#endif /* _TGMATH_H */ diff --git a/lib/tcc/include/varargs.h b/lib/tcc/include/varargs.h new file mode 100644 index 0000000..d614366 --- /dev/null +++ b/lib/tcc/include/varargs.h @@ -0,0 +1,12 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _VARARGS_H +#define _VARARGS_H + +#error "TinyCC no longer implements ." +#error "Revise your code to use ." + +#endif diff --git a/lib/tcc/libtcc1.a b/lib/tcc/libtcc1.a new file mode 100644 index 0000000000000000000000000000000000000000..2fbf9581bfb0d370db461a17d57aa6a2b9d67855 GIT binary patch literal 50036 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 F{~sLbrm6q{ literal 0 HcmV?d00001 diff --git a/runtime/runtime.c b/runtime/runtime.c new file mode 100644 index 0000000..1d09ce5 --- /dev/null +++ b/runtime/runtime.c @@ -0,0 +1,26 @@ +#include "runtime.h" +#include + +int add(int a, int b) { + return a + b; +} + +int subtract(int a, int b) { + return a - b; +} + +int divide(int a, int b) { + return a / b; +} + +int multiply(int a, int b) { + return a * b; +} + +void print_str(const char* s) { + printf("%s\n", s); +} + +void print_num(int n) { + printf("%d\n", n); +} \ No newline at end of file diff --git a/runtime/runtime.h b/runtime/runtime.h new file mode 100644 index 0000000..8f0445b --- /dev/null +++ b/runtime/runtime.h @@ -0,0 +1,12 @@ +#ifndef __RUNTIME_H__ +#define __RUNTIME_H__ + +int add(int a, int b); +int subtract(int a, int b); +int divide(int a, int b); +int multiply(int a, int b); + +void print_str(const char* s); +void print_num(int n); + +#endif \ No newline at end of file diff --git a/src/ast.c b/src/ast.c new file mode 100644 index 0000000..96e9b1e --- /dev/null +++ b/src/ast.c @@ -0,0 +1,131 @@ +#include + +const char* ASTTypeText[] = { + "Program", + "CallExpression", + "NumberLiteral", + "StringLiteral" +}; + +ASTNode* ast_parse(Token** token) { + ASTVec body = { 0 }; + + while((*token) != NULL) { + sl_vec_push(body, ast_walk(token)); + } + + return ast_create_program(body); +} + +ASTNode* ast_walk(Token** token) { + if((*token)->type == TOKEN_NUMBER) { + ASTNode* number = ast_create_number_literal((*token)->value); + ast_step(token); + return number; + } + + if((*token)->type == TOKEN_STRING) { + ASTNode* string = ast_create_string_literal((*token)->value); + ast_step(token); + return string; + } + + if((*token)->type == TOKEN_LPAREN) { // Call expression + ast_step(token); + const char* name = (*token)->value; + ASTVec params = { 0 }; + + ast_step(token); + + while((*token)->type != TOKEN_RPAREN) { + sl_vec_push(params, ast_walk(token)); + } + + ast_step(token); + + return ast_create_call_expression(name, params); + } + + return NULL; +} + +void ast_step(Token** token) { + (*token) = (*token)->next; +} + +char* gen_ident(int indent) { + char* text = malloc(sizeof(char) * (indent + 1)); + memset(text, ' ', indent); + text[indent] = '\0'; + return text; +} + +void ast_print(ASTNode* node, int indent) { + switch(node->type) { + case AST_PROGRAM: + printf("%s%s\n%sBody:\n", + gen_ident(indent), ASTTypeText[node->type], + gen_ident(indent + 2)); + + indent += 2; + for(sl_vec_it(n, node->body)) { + ast_print(*n, indent + 2); + } + break; + + case AST_CALL_EXPRESSION: + printf("%s%s\n%sName: %s\n%sParams:\n", + gen_ident(indent), ASTTypeText[node->type], + gen_ident(indent + 2), node->name, + gen_ident(indent + 2)); + + indent += 2; + for(sl_vec_it(n, node->params)) { + ast_print(*n, indent + 2); + } + break; + + case AST_NUMBER_LITERAL: + printf("%s%s\n%sValue: %s\n", + gen_ident(indent), ASTTypeText[node->type], + gen_ident(indent + 2), node->value); + break; + + case AST_STRING_LITERAL: + printf("%s%s\n%sValue: %s\n", + gen_ident(indent), ASTTypeText[node->type], + gen_ident(indent + 2), node->value); + break; + } +} + +ASTNode* ast_create_empty(ASTType type) { + ASTNode* new_node = malloc(sizeof(ASTNode)); + new_node->type = type; + return new_node; +} + +ASTNode* ast_create_program(ASTVec body) { + ASTNode* node = ast_create_empty(AST_PROGRAM); + node->body = body; + return node; +} + +ASTNode* ast_create_call_expression(const char* name, ASTVec params) { + ASTNode* node = ast_create_empty(AST_CALL_EXPRESSION); + node->name = name; + node->params = params; + return node; +} + +ASTNode* ast_create_number_literal(const char* value) { + ASTNode* node = ast_create_empty(AST_NUMBER_LITERAL); + node->value = value; + return node; +} + +ASTNode* ast_create_string_literal(const char* value) { + ASTNode* node = ast_create_empty(AST_STRING_LITERAL); + node->value = value; + return node; +} \ No newline at end of file diff --git a/src/codegen.c b/src/codegen.c new file mode 100644 index 0000000..2d7e91a --- /dev/null +++ b/src/codegen.c @@ -0,0 +1,40 @@ +#include +#include + +const char* codegen(ASTNode* node) { + if(node->type == AST_PROGRAM) { + sl_string code = sl_string("#include \n\nint main() {\n"); + for(sl_vec_it(n, node->body)) { + sl_append_c_str(&code, codegen(*n)); + sl_append_c_str(&code, ";\n"); + } + sl_append_c_str(&code, "}"); + return sl_c_str(code); + } + + if(node->type == AST_CALL_EXPRESSION) { + sl_string code = sl_string(node->name); + sl_append_c_str(&code, "("); + for(size_t i = 0; i < node->params.size; i++) { + sl_append_c_str(&code, codegen(node->params.data[i])); + if(i < node->params.size - 1) { + sl_append_c_str(&code, ", "); + } + } + sl_append_c_str(&code, ")"); + return sl_c_str(code); + } + + if(node->type == AST_NUMBER_LITERAL) { + return node->value; + } + + if(node->type == AST_STRING_LITERAL) { + sl_string code = sl_string("\""); + sl_append_c_str(&code, node->value); + sl_append_c_str(&code, "\""); + return sl_c_str(code); + } + + return ""; +} \ No newline at end of file diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..45b3215 --- /dev/null +++ b/src/main.c @@ -0,0 +1,41 @@ +#define SL_IMPLEMENTATION +#include +#include +#include +#include +#include + +int main(int argc, char* argv[]) { + assert(argc > 2); + + sl_string buffer = { 0 }; + sl_read_file(argv[1], &buffer); + + Token* root = tokenize(sl_c_str(buffer)); + printf("Tokens:\n"); + Token* curr = root; + while(curr != NULL) { + printf("%s: %s\n", TokenTypeText[curr->type], curr->value); + curr = curr->next; + } + printf("\n"); + + printf("AST:\n"); + ASTNode* program = ast_parse(&root); + ast_print(program, 0); + printf("\n"); + + printf("Codegen:\n"); + const char* code = codegen(program); + printf("%s\n\n", code); + + TCCState* state = tcc_new(); + assert(tcc_set_output_type(state, TCC_OUTPUT_EXE) == 0); + tcc_set_lib_path(state, "lib/tcc"); + assert(tcc_add_include_path(state, "runtime") == 0); + assert(tcc_add_file(state, "runtime/runtime.c") == 0); + assert(tcc_compile_string(state, code) == 0); + assert(tcc_output_file(state, argv[2]) == 0); + + printf("Binary produced: %s\n", argv[2]); +} \ No newline at end of file diff --git a/src/regexp.c b/src/regexp.c new file mode 100644 index 0000000..26cb6f7 --- /dev/null +++ b/src/regexp.c @@ -0,0 +1,69 @@ +#include +#include +#include + +void regex_step(char** input, char* c) { + (*input)++; + *c = **input; +} + +regex_t regex_create(const char* pattern, int flags) { + regex_t regex; + int ret = regcomp(®ex, pattern, flags); + if(ret) { + char msgbuf[100]; + regerror(ret, ®ex, msgbuf, sizeof(msgbuf)); + fprintf(stderr, "Regex compilation failed: %s\n", msgbuf); + exit(-1); + } + + return regex; +} + +int match_char(regex_t regex, char c) { + return regnexec(®ex, &c, 1, 0, NULL, 0) != REG_NOMATCH; +} + +sl_string collect_until(match_func matcher, regex_t regex, char** input) { + sl_string collected = {0}; + char c = **input; + + while (matcher(regex, c, input)) { + sl_vec_push(collected, c); + regex_step(input, &c); + } + + return collected; +} + +int not_match_char(regex_t regex, char c, char** _) { + return !match_char(regex, c); +} + +int match_char_matcher(regex_t regex, char c, char** _) { + return match_char(regex, c); +} + +int not_match_char_escapable(regex_t regex, char c, char** input) { + return !match_char(regex, c) || *((*input) - 1) == '\\'; +} + +int match_char_escapable(regex_t regex, char c, char** input) { + return match_char(regex, c) || *(*input) == '\\'; +} + +sl_string collect_until_match(regex_t regex, char** input) { + return collect_until(not_match_char, regex, input); +} + +sl_string collect_until_no_match(regex_t regex, char** input) { + return collect_until(match_char_matcher, regex, input); +} + +sl_string collect_until_match_escapable(regex_t regex, char** input) { + return collect_until(not_match_char_escapable, regex, input); +} + +sl_string collect_until_no_match_escapable(regex_t regex, char** input) { + return collect_until(match_char_escapable, regex, input); +} \ No newline at end of file diff --git a/src/tokenizer.c b/src/tokenizer.c new file mode 100644 index 0000000..68a4a44 --- /dev/null +++ b/src/tokenizer.c @@ -0,0 +1,77 @@ +#include +#include +#include +#include +#include +#include +#include + +const char* TokenTypeText[] = { + "l_paren", + "r_paren", + "number", + "name", + "string" +}; + +Token* tokenize(char* input) { + regex_t name = regex_create("[a-z_]", REG_ICASE); + regex_t number = regex_create("[0-9]", 0); + regex_t string = regex_create("\"", 0); + regex_t whitespace = regex_create("[ \n]", 0); + Token* root = NULL; + sl_string collected = {0}; + + char c = *input; + while (c != '\0') { + if (match_char(name, c)) { + collected = collect_until_no_match(name, &input); + root = token_create(sl_c_str(collected), TOKEN_NAME, root); + } else if (match_char(number, c)) { + collected = collect_until_no_match(number, &input); + root = token_create(sl_c_str(collected), TOKEN_NUMBER, root); + } else if (c == '(') { + root = token_create("(", TOKEN_LPAREN, root); + input++; + } else if (c == ')') { + root = token_create(")", TOKEN_RPAREN, root); + input++; + } else if (match_char(whitespace, c)) { + input++; + } else if (match_char(string, c)) { + regex_step(&input, &c); + collected = collect_until_match_escapable(string, &input); + root = token_create(sl_c_str(collected), TOKEN_STRING, root); + input++; + } else { + printf("%c: no match\n", c); + exit(-1); + } + + c = *input; + } + + regfree(&name); + regfree(&number); + regfree(&string); + regfree(&whitespace); + return root; +} + +Token* token_create(char* value, TokenType type, Token* root) { + Token* new_token = malloc(sizeof(Token)); + new_token->value = value; + new_token->type = type; + + return token_append(root, new_token);; +} + +Token* token_append(Token* root, Token* new_token) { + if (!root) return new_token; + Token* current = root; + while (current->next) { + current = current->next; + } + current->next = new_token; + return root; +} \ No newline at end of file