A technology to build your own technologies.
Orkestra is a C# Framework to create compilers and build complex project strcutures with a command line interface for them.
dotnet new console # Create project
dotnet add package Orkestra # Install Orkestra
using Orkestra;
Tech.Run(args);
public class MyFirstCompiler : Compiler
{
Key HELLO = "hello";
Key COMPILERS = "compilers";
Rule program;
public MyFirstCompiler()
{
// Accept 'hello' or 'hello compilers'
program = start(
[ HELLO ],
[ HELLO, COMPILERS ]
);
}
}
Success on test1.code:
hello compilers
Success on test2.code:
hello
And a error in test3.code:
compilers
See the console:
>> dotnet run run # First run is for C# second run is the parameter for the application
Build started...
Compiling 1 files...
Syntax error in C:\path\test3.code next to 'compilers' on line 1.
- Auto key finder on rules.
- Improve Compiler Load and key/rule search process.
- Fast Compiler easy sintax added.
- Default CLI, Project and Compiler for small projects.
- New application configuration and start workflow.
- Use Cache system by default.
- Add Smart Autocomplete in extension generation.
- Improve error messages when using LR1 algorithm.
- Replace the snippet contribute by autocomplete.
- Improve key definition using intermediary objects. Now ruleA | ruleB, keyA | keyB is allowed.
- Improve auto convertion between rules and list expressions.
- one and some rule functions in Compiler class.
- Add Smart Snipets in extension generation.
- InstallExtension will not generate .vsix by default.
- GenerateExtension will generate .vsix now.
- Consider processings in extension generation.
- Add comments in extension generation.
- Bug fixes when create a language with low keywords.