Skip to content

vaclav/Physics

Repository files navigation

Physics

Physical simulation description language built with MPS, allowing to describe objects and forces applied to them.

Physics is based on iets3.opensource, an open source implementation of generic language features (expressions, types, functions...) independent of any target language.

Install

Requirements

There is no specific software requirements to use this project (MPS aside).

However, having the following software may make things smoother as for the build script:

  • Java 11 : used for compilation within gradle scripts (it needs JAVA_HOME environement variable to be set)
  • Git : cloning this repository (if you no not downloading it as a zip)
  • MPS generic distribution : used for building the standalone ide (the build script can also download it)

Note: Java 11 is required because MPS use it, using another version generated artifacts do not work. A Java 11 distribution is sometimes packaged with MPS, so specifying mpsDir can avoid extra download.

Installation

  1. Download or clone the project

    git clone https://github.com/vaclav/Physics
    cd ./Physics
  2. Fetch dependencies

    ./gradlew resolveArtifacts generateLibrariesXml -PmpsDir="<path to mps>"

    For windows: use ./gradlew.bat

  3. Open the project and rebuild (restart if you opened it before the end of the above commands)

  4. Enjoy !

Advanced usage of the build script

You can find a detailed page on which task to use for which purpose on the wiki.

Another wiki page explain a bit more how the dependencies are retrieved and applied on the project.

Documentation

You can find some detailed documentation on how to use or improve the language on the wiki page of this repository.

Common errors and solutions can be found in the troubleshooting page.

Contribute

A list of features to add or issues to fix is located in the TODO.md file. You may also check the github issues of this repository.

Authors

This project was realised by Clément de La Bourdonnaye with the help of Vaclav Pech. For any questions on the language, you can send an email to [email protected].