X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=TODO;h=7dc89a48b5e3e4ea835b2946a0846f828bfa1130;hp=9ed0e5e54469f70f980c827c2c52e37dfa6e9923;hb=44bd65fe60fb83fa4c3bbb0d4c679d2b70a096df;hpb=7e4b0ccdd2123647b6fff8065c0abc61be3fb44d diff --git a/TODO b/TODO index 9ed0e5e..7dc89a4 100644 --- a/TODO +++ b/TODO @@ -1,9 +1,25 @@ -* move numbers to the lexer * avoid allocs inside structures by reallocating the whole structure * let the various list types be hashtables where appropriate * check out jit-dynamic * fix arginfo with nullable types -* pemalloc -* unions -* callbacks and function pointers -* full struct typedefs \ No newline at end of file +* think about a better system for EXTVARs, separate \set and \get functions are clunky +* fix right recursion of let_exp and set_exp +* improve varargs support, currently it's impossible to map e.g. curl_easy_setopt +* impl_var.name: remove leading '$' +* really solve the array/pointer problem + +* variadic macros +* predefined macros + * __COUNTER__ counter starting from 0, incremented each time expanded + * __BASE_FILE__ current PSI file + * __INCLUDE_LEVEL__ include level + * __TIMESTAMP__ lmod of current source file +* builtins +* int128 +* very small real numbers +* cache tokens of files and copy tokens if used for further processing + +* optimized inlines like htonl +* real integral type of enums + +* #pragma PSI lib "foo" instead of lib "foo";