badr4y / PFX

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AUTHORS
-------

- NAME1
- NAME2
…

===============

Description of the project
--------------------------

This μ-project is a very simple compiler…

===============

Sources
-------

Git repository: https://redmine-df.telecom-bretagne.eu/git/PROJECTNAME

(obviously, you _will_ use a version control system such as Git, IMT
Atlantique provides a project management platform: use it!)

Release : tag 1.0 or commit acdeacdacdacdacd

===============

How to…
-------

…retrieve the sources?

  git clone https://redmine-df.telecom-bretagne.eu/git/PROJECTNAME

…compile?

  dune …

…execute and test?

  dune utop and then use the libraries
  (from project root) dune exec expr/main.exe -- expr/basic/tests/an_example.expr
  dune exec ./pfxVM.exe -- TESTFILE.pfx -a 12 -a 52


===============

Structure of the project
------------------------

The project is organized as following:

Explain here the organization of your project, what is the use of each file or
group of files, etc.

You may also show the file tree as the following example:

project
├── README
├── dune-project
├── expr: the expr compiler
│   ├── README
│   ├── basic
│   │   ├── ast.ml
│   │   ├── ast.mli
│   │   ├── dune
│   │   ├── eval.ml
│   │   ├── eval.mli
│   │   ├── lexer.mll
│   │   ├── parser.mly
│   │   ├── tests: for tests
│   │   │   └── an_example.expr
│   │   ├── toPfx.ml             <- To edit
│   │   └── toPfx.mli
│   ├── common
│   │   ├── binOp.ml
│   │   ├── binOp.mli
│   │   └── dune
│   ├── compiler.ml: main file for the expr compiler
│   ├── dune
│   ├── fun: the expr parser for section 7
│   │   ├── ast.ml
│   │   ├── ast.mli
│   │   ├── lexer.mll
│   │   └── parser.mly
│   └── main.ml
├── pfx: the pfx VM
│   ├── basic
│   │   ├── ast.ml               <- To edit
│   │   ├── ast.mli
│   │   ├── dune
│   │   ├── eval.ml              <- To edit
│   │   ├── eval.mli
│   │   ├── lexer.mll            <- To edit
│   │   ├── parser.mly           <- To edit
│   │   └── tests: for tests
│   │       └── ok_prog.pfx
│   └── pfxVM.ml: main file for the pfx VM
└── utils
    ├── dune
    ├── location.ml: module offering a data type for a location in a file
    └── location.mli
===============

Progress
--------

- We stopped at question 10.1 (proof of derivation)
- There is still a bug in question 8.3 (new version of generate function)
- …

===============

Know bugs and issues
--------------------

- We were not able to manage xxx…
- Compiler fails when xxx…
- …

===============

Helpful resources
-----------------

- we used Stack Overflow to solve the problem of xxx :
  https://stackoverflow/xxxxxxi
  https://stackoverflow/yyyyyy
- someone on GitHub provided an interesting example very similar to the answer of the question x.y : https://github.com/xxxx
- …

===============

Difficulties
------------

- team programming: having to use a VCS such as git and avoiding conflicts
- thinking functional
- changing habits by using an unknown language
- Not a single difficulty: the project was so easy that my 8-old brother did it
  completely; the Ocaml language is so nice I enjoyed the project, …
- …

About


Languages

Language:OCaml 100.0%