jaktnat | experimental port of the SerenityOS Jakt programming
kandi X-RAY | jaktnat Summary
kandi X-RAY | jaktnat Summary
jaktnat is a C# library. jaktnat has no bugs, it has no vulnerabilities, it has a Strong Copyleft License and it has low support. You can download it from GitHub.
Jaktnät aims to implement as much of the Jakt programming language as possible, on the .NET runtime. Unlike Jakt, which transpiles to C++, it is a compiler that produces .NET assemblies executable via the dotnet CLI. However, it cheats a bit by transpiling its Abstract Syntax Tree (AST) into a C# AST via Roslyn, and then uses Roslyn to compile the .NET assembly. You can view or output the transpiled C# instead of compiling it into an assembly via the jaktnat transpile command. The first version of the backend used Mono.Cecil to emit IL into the assembly, but this is unnecessarily complex if accepting C# language constraints is viable. I was able to move much faster using Roslyn instead, so I've relegated the Mono.Cecil backend to an obsolete experiment with only minimal language support currently. I may revisit that backend in the future. Note that Mono.Cecil was chosen over System.Reflection.Emit due to its ability to produce an assembly on disk, which is not possible in Emit as of .NET 6. Jaktnät uses ANTLR as a parser/lexer generator. You can see the grammar in the Jaktnat.g4 file. The ANTLR NuGet package automatically builds the lexer and parser and other related files based on this grammar file when the Jaktnat.Compiler project is built.
Jaktnät aims to implement as much of the Jakt programming language as possible, on the .NET runtime. Unlike Jakt, which transpiles to C++, it is a compiler that produces .NET assemblies executable via the dotnet CLI. However, it cheats a bit by transpiling its Abstract Syntax Tree (AST) into a C# AST via Roslyn, and then uses Roslyn to compile the .NET assembly. You can view or output the transpiled C# instead of compiling it into an assembly via the jaktnat transpile command. The first version of the backend used Mono.Cecil to emit IL into the assembly, but this is unnecessarily complex if accepting C# language constraints is viable. I was able to move much faster using Roslyn instead, so I've relegated the Mono.Cecil backend to an obsolete experiment with only minimal language support currently. I may revisit that backend in the future. Note that Mono.Cecil was chosen over System.Reflection.Emit due to its ability to produce an assembly on disk, which is not possible in Emit as of .NET 6. Jaktnät uses ANTLR as a parser/lexer generator. You can see the grammar in the Jaktnat.g4 file. The ANTLR NuGet package automatically builds the lexer and parser and other related files based on this grammar file when the Jaktnat.Compiler project is built.
Support
Quality
Security
License
Reuse
Support
jaktnat has a low active ecosystem.
It has 2 star(s) with 1 fork(s). There are 2 watchers for this library.
It had no major release in the last 6 months.
jaktnat has no issues reported. There are no pull requests.
It has a neutral sentiment in the developer community.
The latest version of jaktnat is current.
Quality
jaktnat has no bugs reported.
Security
jaktnat has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
License
jaktnat is licensed under the GPL-3.0 License. This license is Strong Copyleft.
Strong Copyleft licenses enforce sharing, and you can use them when creating open source projects.
Reuse
jaktnat releases are not available. You will need to build from source code and install.
Installation instructions are not available. Examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of jaktnat
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of jaktnat
jaktnat Key Features
No Key Features are available at this moment for jaktnat.
jaktnat Examples and Code Snippets
No Code Snippets are available at this moment for jaktnat.
Community Discussions
No Community Discussions are available at this moment for jaktnat.Refer to stack overflow page for discussions.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install jaktnat
You can download it from GitHub.
Support
As this is just a port of Jakt, currently the syntax is largely the same. Therefore, you can get syntax highlighting in your favorite editor (VS Code, Vim, etc.) by following the instructions in the README of the editor-specific folder in the upstream Jakt repo: https://github.com/SerenityOS/jakt/tree/main/editors.
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page