Updated readme.

This commit is contained in:
Christoffer Lerno
2019-09-12 10:58:54 +02:00
parent e04213d420
commit fcd883e038

View File

@@ -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.