Deamer Project is a Cross-Platform Language and Ecosystem Generation Toolchain.
Inside Deamer you find Tooling, Extensions, and DSLs allowing you to deeply express your language. Deamer understands what you express using its Language Definition System, this allows Deamer to generate and maintain Great Compilers and Ecosystems for your language.
Deamer Ecosystem Generation gives a lot of possibilities for your Language Ecosystem, examples:
- Syntax Highlighter Generation for various IDEs and Text Editors
- Language Documentation Generation
- Generation of UML Class Diagram Reverse Engineering Tooling
- And more
For Examples and Tutorials go to the Example Repo: "https://github.com/Deruago/DeamerExamples"
For documentation about the project see the Documentation Repo: "https://github.com/Deruago/DeamerDocumentation";
Clone the Repo and Run the Installer, for linux:
git clone --recursive https://github.com/Deruago/theDeamerProject.git
cd theDeamerProject
sudo python3 ./installer.py
For Windows:
git clone --recursive https://github.com/Deruago/theDeamerProject.git
cd theDeamerProject
python3 ./installer.py
More information about installation can be found at: "How To Install Deamer?".
To start up generating compilers and ecosystems, it is highly recommended to visit the example repo: https://github.com/Deruago/DeamerExamples.
Official Discord Server: https://discord.gg/YUwW2UdgM4
If you have questions about Deamer, feel free to join the server and ask them!
- Compilers can be generated that may utilize different parsers:
- Dparse
- LALR
- LR
- GLR
- GLALR
- Recursive Descent
- Antlr4
- ALL(*)
- Bison
- LALR
- LR
- GLR
- Dparse
- AST and CST construction
- Semantic modeling
- File/Module Import
- Trivial value representation
- Concept modeling
- Comments
- OOP Syntactic concepts
- Ecosystem tooling
Run the git clone
command on this repo:
git clone --recursive https://github.com/Deruago/theDeamerProject.git
The above will retrieve the Deamer source code and its dependencies, so that you can easily install it.
Make sure you have the following installed:
- CMake
- Python
- C++ Compiler (Compatible with C++17)
To quickly get started with Deamer Project. Run the Installer. The installer automates the installing of all projects in Deamer.
To run the installer simply do (for linux):
sudo python3 ./installer.py
And for Windows users run the python installer as adminstrator:
python3 .\installer.py
The installer will only install the neccessary development tools for languages, this excludes optional extensions such as DST. In order to install the full project add the flag -complete
:
sudo python3 ./installer.py -complete
If you want to install it without the helpers, you can do so by going to each project and following its install instructions.
Subproject | Type | Short Description |
---|---|---|
Deamer (CC) | Required | Infrastructure for compiler and ecosystem generation |
DLDL | Required | Front-end of Deamer CC. |
DREGX | Required | Regex fuzzer for Deamer CC. |
Deamer External | Required | External library used by output generated by Deamer CC. |
Deamer Algorithm | Required | Algorithm library used by both output and Deamer CC. |
DST | Optional | DSL for interpreting deamer string templates |
If you want to contribute to Deamer you can do so in many ways:
- Extending the Language Definition System, by adding or expanding Language Property Definitions (LPDs)
- Reporting bugs or issues in any project in the Deamer toolchain
- Expanding the documentation of Deamer
- Fixing issues
- Adding new features
If you want to add new features, please contact me through discord.