Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jewels86/lazulite
A modular, extensible framework that empowers developers to build advanced programming languages.
https://github.com/jewels86/lazulite
c-sharp dotnet framework language language-framework library package
Last synced: 21 days ago
JSON representation
A modular, extensible framework that empowers developers to build advanced programming languages.
- Host: GitHub
- URL: https://github.com/jewels86/lazulite
- Owner: jewels86
- License: mit
- Created: 2024-12-29T05:26:00.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2025-01-05T06:46:44.000Z (23 days ago)
- Last Synced: 2025-01-05T07:34:21.366Z (23 days ago)
- Topics: c-sharp, dotnet, framework, language, language-framework, library, package
- Language: C#
- Homepage:
- Size: 79.1 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Lazulite
A modular, extensible framework that empowers developers to build advanced programming languages.## Overview
Lazulite is a C#-powered framework for creating compilers for custom languages.## Development Progress
Lazulite is currently in development. Contributions are always welcome! See the todos for more info.Currently, the following features are implemented:
- Tokenizer
- Parser (not finished)### Test Language
The test langauge is a C-like langauge with the same syntax as C. The following code is an example of the test language:
```c
#includeint main(int argc, char** argv) {
printf("Hello, World!\n");int a = 5;
int b = 10;
int c = a + b;printf("The sum of %d and %d is %d\n", a, b, c);
for (int i = 0; i < 10; i++) {
printf("i = %d\n", i);
}return 0;
}
```## Todos
- Add scannerless parser
- Create the IR system
- Create optimization systems
- Create code generation systems
- LLVM support
- Custom VM support
- Common IR for language integration support
- Interpreter support
- Lazulite Parsing Notation support