Skip to content
/ formula Public
forked from microsoft/formula

FORMULA 2.0: Formal Specifications for Verification and Synthesis

License

Notifications You must be signed in to change notification settings

VUISIS/formula

 
 

Repository files navigation

FORMULA 2.0 - Formal Specifications for Verification and Synthesis

build

Building and running FORMULA

Dotnet Tool Install

To install Formula 2.0 as a dotnet tool, run

For x64

$ dotnet tool install --global VUISIS.Formula.x64 

For arm64

$ dotnet tool install --global VUISIS.Formula.ARM64 

Tool Command

Note: For Linux and MacOS, you may need to add the dotnet tools path to the system path.
$ formula

With Nix flakes (macOS/Linux)

To build and run the command line interpreter with Nix flakes, run

$ nix run github:VUISIS/formula-dotnet

With .NET on x64 or Apple Silicon ARM64

To build the command line interpreter, run the following commands from Src/CommandLine.

$ dotnet build CommandLine.sln /p:Configuration=Debug|Release /p:Platform=x64|ARM64

For Windows x64
$ dotnet ./bin/<Configuration>/Windows/x64/<DotnetSDK>/VUISIS.Formula.x64.dll

For Linux x64
$ dotnet ./bin/<Configuration>/Linux/x64/<DotnetSDK>/VUISIS.Formula.x64.dll

For MacOS x64
$ dotnet ./bin/<Configuration>/MacOS/x64/<DotnetSDK>/VUISIS.Formula.x64.dll

For MacOS ARM64
$ dotnet ./bin/<Configuration>/MacOS/ARM64/<DotnetSDK>/VUISIS.Formula.ARM64.dll

To run unit tests with Formula, run the following command from Src/Tests.

Building Nuget Package & Installing Tool Locally

To build the formula nuget package, run from the folder Src/CommandLine dotnet pack. Run dotnet tool to install the program and add the folder containing the nupkg with --add-source.

$ dotnet pack /p:Configuration=Debug|Release /p:Platform=x64|ARM64
$ dotnet tool install --add-source ../../nupkg -g VUISIS.Formula.<x64|ARM64>
$ dotnet test Tests.csproj /p:Configuration=Debug|Release /p:Platform=x64|ARM64

For specific tests
$ dotnet test Tests.csproj /p:Configuration=Debug|Release /p:Platform=x64|ARM64 --filter "FullyQualifiedName=<NAMESPACE>.<CLASS>.<METHOD>"

You can exit the command line interpreter with the "exit" command.

About

FORMULA 2.0: Formal Specifications for Verification and Synthesis

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 95.8%
  • Roff 2.8%
  • Nix 0.4%
  • Yacc 0.3%
  • ANTLR 0.2%
  • TeX 0.2%
  • Other 0.3%