Closed Larsouille25 closed 5 months ago
For the code generation and compilation (LLVM related crates), in the Zom compiler. We could replace it with the C++ library, because it's the official way to use LLVM, there is some issues in this project that is related to LLVM not working : #24, #20, #23, #21. If we replace it with an a C++ package, we could just follow the doc and not wasting its time to found the function in Inkwell, etc ..
N°1
Write a serializer that serialize the result of the type checking (or the end of the compilation pipeline that doesn't need LLVM). And the C++ program will be executed in a child process, with the serialized input, and we deserialize and return the output desired by the compiler.
N°2
Write a C++ lib that uses LLVM and emit the desired output by the compiler, and his functions is called by the the Zom compiler with the Rust FFI
to C++.
Done.
Here is the list of things related to the language, that is needed to be implemented for the
v0.1.0
milestone. And with there own RFC, -> #22return
statement-> not sure what they will be, an issue will be created when i knowfor
loopwhile
loop-> use less, it just add a new keyword, useloop
loopwhile (true) { .. }
instead.continue
statement-> expressionbreak
statement-> expression{ expr, expr, expr, ... }
defer
statements -> will be done in another version. Their is things more important for now$ident(...)
to$expr(...)
..*
deref operator and right unary operationa.b