Silverfly 1.2.0
dotnet add package Silverfly --version 1.2.0
NuGet\Install-Package Silverfly -Version 1.2.0
<PackageReference Include="Silverfly" Version="1.2.0" />
paket add Silverfly --version 1.2.0
#r "nuget: Silverfly, 1.2.0"
// Install Silverfly as a Cake Addin #addin nuget:?package=Silverfly&version=1.2.0 // Install Silverfly as a Cake Tool #tool nuget:?package=Silverfly&version=1.2.0
Silverfly
Silverfly is a versatile parsing framework that provides extensive support for building custom parsers with ease. It supports Pratt parsing, a powerful method for parsing expressions and statements in a flexible manner.
Features
- Flexible Parsing: Supports Pratt parsing for complex expression handling.
- Extensible: Easily extend the parser and lexer with custom rules.
- Documentation: Comprehensive instructions available in the wiki.
Installation
To install Silverfly, you can use NuGet:
dotnet add package Silverfly
Usage
using Silverfly;
namespace Sample;
public class Program
{
public static void Main(string[] args)
{
while (true)
{
Console.Write("> ");
var input = Console.ReadLine();
var parsed = new ExpressionGrammar().Parse(input);
var evaluated = parsed.Tree.Accept(new EvaluationVisitor());
Console.WriteLine("> " + evaluated);
}
}
}
For more detailed instructions and advanced usage, please refer to the Wiki. A great example can be found here
Silverfly uses the brilliant library from MrKWatkins to build an AST.
Contributing
We welcome contributions! Please see our contributing guidelines for more details on how to get involved.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. |
-
net9.0
- MrKWatkins.Ast (>= 0.9.123)
- System.Collections.Immutable (>= 9.0.0)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Silverfly:
Package | Downloads |
---|---|
Furesoft.Core
Package Description |
|
Silverfly.Testing
A little framework to build parsers |
|
Silverfly.Repl
A little framework to build parsers |
|
Silverfly.Sample.Func
A full blown example of Silverfly |
|
Silverfly.Backend
Helpers to convert from Silverfly to a Distil backend |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.2.0 | 97 | 12/14/2024 |
1.0.80 | 120 | 11/10/2024 |
1.0.79 | 114 | 11/10/2024 |
1.0.78 | 111 | 11/7/2024 |
1.0.77 | 108 | 11/1/2024 |
1.0.76 | 97 | 11/1/2024 |
1.0.75 | 101 | 11/1/2024 |
1.0.74 | 199 | 10/19/2024 |
1.0.73 | 104 | 10/12/2024 |
1.0.72 | 110 | 10/12/2024 |
1.0.71 | 101 | 10/12/2024 |
1.0.70 | 156 | 10/3/2024 |
1.0.69 | 114 | 9/27/2024 |
1.0.68 | 149 | 8/27/2024 |
1.0.67 | 130 | 8/7/2024 |
1.0.66 | 127 | 7/24/2024 |
1.0.65 | 111 | 7/10/2024 |
1.0.64 | 113 | 7/6/2024 |
1.0.63 | 112 | 7/6/2024 |
1.0.62 | 111 | 6/30/2024 |
1.0.61 | 127 | 6/30/2024 |