Giter Site home page Giter Site logo

pracownia22-2's Introduction

Środowisko lokalne

> apt-get install m4 opam spim
> opam init
> opam update
> opam switch 4.13.1
> eval `opam config env`
> tools/opam-pin.sh # przypina wersje bibliotek
> opam install ocamlgraph dune cmdliner menhir ocamlformat

Dostępne narzędzia

  • make install - zrobi symlink ./zi
  • make test - odpala testy z pluginem mod_student.cma
  • make test_without_plugin - odpala testy bez pluginu mod_student.cma
  • tools/format.sh - automatyczne formatowanie wszystkich plików źródłowych
  • tools/check-format.sh - sprawdza czy pliki źródłowe są sformatowane

Praca z Github Classroom

Pracują Państwo na gałęzi master, natomiast gałąź feedback pozwala na porównanie Państwa rozwiązania ze stanem początkowym. Dodatkowo otwarty jest pull-request na którym mogą Państwo zadawać pytania odnośnie Państwa kodu.

Po wypchnięciu commita uruchamia się automatyczna sprawdzaczka która wykonuje następujące kroki:

  • Sprawdza formatowanie kodu źródłowego
  • Kompiluje kompilator
  • Uruchamia wszystkie testy

Każdy z tych kroków musi się udać aby sprawdzaczka uznała, że Państwa rozwiązanie jest poprawne.

Wtyczka zisdk/mod_uwr.cma

Wtyczka ta zawiera skompilowane już moduły wykorzystywane przez kompilator. Korzysta ona z biblioteki ocamlgraph w wersji przedstawionej w tabeli w następnej sekcji. Aby Państwa kod działał lokalnie, muszą Państwo używać biblioteki w tej samej wersji, co jest zapewnione poprzez przypięcie wersji przez skrypt tools/opam-pin.sh.

Wersje bibliotek w środowisku testowym (nieaktualne, bo nie mamy środowiska testowego)

ocaml 4.13.1
cmdliner 1.1.1
dune 3.4.1
menhir 20220210
ocamlgraph 2.0.0
ocamlformat 0.24.1

Formatowanie plików

Korzystamy z narzędzia ocamlformat.

Modyfikowanie plików

Prosimy o modyfikowanie jedynie:

  • source/mod_student/typechecker.ml

Dopuszczalna jest także modyfikacja pliku source/mod_student/plugin.ml powodująca użycie własnego leksera i parsera. W przypadku zmian w pozostałych plikach Państwa rozwiązanie nie będzie akceptowane.

Testy

Testy na których sprawdzane są Państwa rozwiązania znajdują się w katalogu tests. Jeśli mają Państwo pomysły na dodatkowe przypadki testowe prosimy o otwieranie pull-requestów do repozytorium z szablonem a nie do Państwa prywatnego repozytorium.

Błędy

W przypadku błędów zarówno w kodzie biblioteki, zachowaniu naszej wtyczki, jak i testach, prosimy o otwieranie issue w repozytorium z szablonem.

pracownia22-2's People

Contributors

wcharatonik-ii avatar florian3k avatar

Forkers

florian3k

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.