Formally# is an online formal language designer. Check it out at formallysharp.azurewebsites.net
To get a feel for how to use it, open the example project, JSON
, and use the buttons to generate a lexer and a parser.
After that, you can start typing in the recognition box. Your input will be syntactically checked on the fly.
If you're here to see how it works and what algorithms are used, please refer to the Shared part of the codebase.
This is a full-stack web application using the SAFE Stack.
Other than the prototypical SAFE components, we also depend on:
- Fable.Remoting for our RPC communication layer
- Feliz for client-side rendering, styled with Feliz.Bulma
- LiteDB for simple data persistency in the cloud
You'll need to install the following pre-requisites in order to build, test and run the application in your local system:
- .NET Core SDK 5.0 or higher
- ASP.NET Core Runtime
- Node LTS, including NPM
Before running the project for the first time (and after updates), you must also restore local dotnet tools:
$ dotnet tool restore
All dev commands are implemented in a console app using FAKE build rules.
Locally runs both server and client in watch mode (i.e. hot-reload enabled):
$ dotnet run
Then, browse to localhost:8080
Concurrently runs server and client tests in watch mode:
$ dotnet run tests
Client test results can be seen at localhost:8008 and server results are printed directly to the console.
Builds the project in release mode, packaging it in the deploy/
folder:
$ dotnet run bundle