-
Notifications
You must be signed in to change notification settings - Fork 52
Roadmap (To Do)
Bas van den Berg edited this page May 24, 2020
·
22 revisions
Overview shortlist of todo items:
Language:
- better cast syntax
cast<u32>(number)
is just ugly - [tbd] generics: under discussion (see Forum)
- [tbd]
restrict
keyword (http://www.c2lang.org/forum/index.php?topic=91.0) - [tbd] assert() like functionality
- enum: change enum_max/min to MyEnum.max and MyEnum.min (http://www.c2lang.org/forum/index.php?topic=116.0)
- [tbd] enum: add attribute to enable automatic MyEnum.tostring() function generation.
- [tbd] add defer functionality
- force union initializations to always use designated initializers. Also document
- [tbd] allow overriding struct init's? (see http://www.c2lang.org/forum/index.php?topic=143.0)
- implement bitfields
C2C:
- [bug] fix parser language constructs that still cause a crash
- [backend] generate IR code for more AST elements (IR backend)
- style the code using clang-format (style TBD)
- [bug] C generator doesn't filter duplicate includes when using single-file output
- [analyser] When assigning function pointers, the function proto is not checked yet
- [analyser] add option Not to warn about unused constants
- [analyser] check
printf()
arguments. Need attribute syntax change to pass 2 arguments - AST: store value of compile-time constants in AST. Optionally over/re-write AST.
Tooling:
- implement LSP (Language Server Protocol) for C2
- tab completion on targets in recipe / cmdline args (bash script)
- create graphical refactor tool (c2reto) (IN PROGRESS)
- create c2format - clang-format/astyle for C2.
- create c2grep - grep only files in recipe (like ack-grep)