Giter VIP home page Giter VIP logo

formula's Introduction

formula 2.0

Formal Specifications for Verification and Synthesis

Building FORMULA

In order to build FORMULA you must acquire and build dependencies. These dependencies are not part of the FORMULA project, though the FORMULA build scripts offer assistance in downloading and compiling other Codeplex dependencies.

Non-Codeplex Dependencies

You must acquire and install these yourself.

  1. Microsoft .NET 4.5 (http://www.microsoft.com/en-us/download/details.aspx?id=30653)
  2. Visual Studio 2012 or 2013 (The free "Express" version is acceptable http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-desktop) 3a. Python 2.7.5 - to build dependencies (http://www.python.org/download/releases/2.7.5/) 3b. "python" must be in PATH
  3. OPTIONAL: Visual Studio SDK to enable VS-integrated code generation. Not available for VS Express.

Codeplex Dependencies

The FORMULA build scripts will try to automatically download these dependencies from Codeplex. Or you may compile the dependencies manually and place them in the required locations.

  1. Gardens Point Scanner Generator (http://gplex.codeplex.com/)
  2. Gardens Point Parser Generator (http://gppg.codeplex.com/)
  3. Z3 SMT Solver (http://z3.codeplex.com/)

To automatically download and compile any missing Codeplex dependencies open a command prompt (cmd.exe):

cd Somewhere\Formula\Bld
built.bat

As long as dependency artifacts are detected, then build.bat will not try to rebuild them. If you delete external dependencies from Somewhere\Formula\Ext, then this will be detected and rebuild will occur. You can also force all dependencies to be re-acquired and rebuilt by:

cd Somewhere\Formula\Bld
built.bat -e

To manually download and compile dependencies open a command prompt:

cd Somewhere\Formula\Bld
built.bat -l

The "-l" option lists the URLs to download the required sources and lists where the compiled artifacts must be placed in order for FORMULA to find them.

Compiling FORMULA

Release version - open a command prompt:

cd Somewhere\Formula\Bld
built.bat

Debug version - open a command prompt:

cd Somewhere\Formula\Bld
built.bat -d

Outputs of the build are placed in Somewhere\Formula\Bld\Drops

Running regression tests

cd Somewhere\Formula\Tst
test.bat

As a side effect, FORMULA will be rebuilt with build.bat -d and regressions will be run against the x86 debug version placed in the Bld\Drops folder.

formula's People

Contributors

ejacksonmsr avatar lovettchris avatar microsoft-github-policy-service[bot] avatar thisiscam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

formula's Issues

Using MIT license in fork

The current license for Formula is the Microsoft Public License [0]. We maintain a fork [1] in which we would like to use an MIT license. If we remove all gplex and gppg dependencies (which are there solely for legacy testing), can we use an MIT license in our forked repo?

It seems that Z3 went through a similar change (its original license when it was released on GitHub in 2012 was a "Microsoft Research License Agreement Non-Commercial Use Only," and in 2016 it moved to an MIT license [2]).

[0] https://github.com/microsoft/formula/blob/master/Doc/Licenses/license_formula.txt
[1] https://github.com/VUISIS/formula
[2] https://github.com/Z3Prover/z3/commits/master/LICENSE.txt

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.