mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 12:01:16 +00:00
Updated readme.
This commit is contained in:
53
README.md
53
README.md
@@ -18,6 +18,57 @@ C3 tries to be an alternative in the the C/C++ niche: fast and close to the meta
|
||||
|
||||
Most work is still being done in the design draft here: https://c3lang.github.io/c3docs/. If you have suggestions, send a mail to [christoffer@aegik.com](mailto:christoffer@aegik.com), [file an issue](https://github.com/c3lang/c3c/issues) or discuss C3 on the r/ProgrammingLanguages Discord server: https://discord.gg/cfu4wdk
|
||||
|
||||
There are some small work being done on the parser here, but most of the structure is still missing.
|
||||
There are some small work being done on the parser here, but most of the structure is still missing:
|
||||
|
||||
#### What's missing in the parser
|
||||
|
||||
- Const declarations inside of functions.
|
||||
- `asm` sections.
|
||||
- `$switch` compile time statement.
|
||||
- `$each` compile time statement.
|
||||
- Macro parameter lists to imports.
|
||||
- `attribute` declarations.
|
||||
- extending `generics` declaration.
|
||||
- auxiliary data for enums.
|
||||
- incremental arrays
|
||||
|
||||
#### What's missing in the semantic analyser
|
||||
|
||||
- No handling imports.
|
||||
- Function signatures incomplete.
|
||||
- Function typedef not done.
|
||||
- `asm` not done.
|
||||
- `catch`, `throws` and `try` statements.
|
||||
- `generic` not analysed.
|
||||
- `attribute` not analysed.
|
||||
- `$switch` and `$each` not handled.
|
||||
- Enums not correctly handled.
|
||||
- Errors not correctly handles.
|
||||
- Type resolution not complete for all types.
|
||||
- `type` not handled.
|
||||
- `?:` not handled.
|
||||
- Identifier analysis incomplete.
|
||||
- Macro call not handled completely.
|
||||
- Function calls not handled completely.
|
||||
- Struct initializers not complete.
|
||||
- No analysis of `[]` nor `.someMember`.
|
||||
- Missing analysis of assign expressions.
|
||||
- Not all casts implemented.
|
||||
- Varargs.
|
||||
|
||||
#### What's missing overall
|
||||
|
||||
- Exactly how the module system should work together with the import is still
|
||||
under discussion.
|
||||
- Exactly how the library imports should work is not 100% decided.
|
||||
- The compiler currently only works in single file mode.
|
||||
- Integration with C.
|
||||
|
||||
#### What's working?
|
||||
|
||||
- The compiler can compile simple programs, but integration with C is mostly
|
||||
missing, which means that little can be *displayed* outwards.
|
||||
- Lexing and parsing works (except for the exceptions noted above).
|
||||
|
||||
|
||||
If you wish to contribute with ideas, please file issues on the c3docs: https://github.com/c3lang/c3docs instead of the compiler.
|
||||
|
||||
Reference in New Issue
Block a user