Prysma is a high-performance system programming language, compiled to the LLVM 18 infrastructure. The project prioritizes deterministic resource control and a robust modular architecture.
- Backend: Intermediate Representation (IR) generation via LLVM 18 in SSA (Single Static Assignment) form.
- Object Model: Native implementation of classes, inheritance, and dynamic polymorphism via VTable.
- Memory Management: Manual heap control via the
newanddeleteoperators. Internal allocation optimized by Bump Pointer Allocator (Arena). - Parallelism: Multi-file compilation orchestration via
llvm::ThreadPool. - Static Analysis: Strong typing system with secure auto-casting and circular inclusion dependency detection.
The processing pipeline follows a strict linear structure:
- Frontend: Lexical analysis (Lexer) and recursive descent parsing.
- Intermediate Representation: Construction of an Abstract Syntax Tree (AST) based on the Composite design pattern.
- Code Generation: Translation of the AST into LLVM IR via the Visitor design pattern.
- Backend: Optimizations and native binary generation by the LLVM infrastructure.
fn int32 main() {
dec string message = "Prysma system operational";
call print(ref message);
return 0;
}- Currently in the experimental phase. This part is incomplete and may exhibit instabilities.
In accordance with the project's modular structure, all technical documentation and configuration procedures are isolated in the /Docs directory.
- Configuration and Installation: Docs/EN/Installation/SETUP_UBUNTU.md
- Architecture Analysis: Docs/EN/ARCHITECTURE.md
- Robustness and Security Analysis: Docs/EN/ROBUSTNESS.md
- Language Specifications: Docs/EN/PRYSMA.md
- Technical Analysis Report: Docs/EN/Analysis/TECHNOLOGICAL_CHOICES.md
This project is distributed under the GPL v3 license. Consult the LICENSE file for legal details.
For the list of contributors and authors, see AUTHORS.md.