This μ-project is a very simple compiler implemented in OCaml. It can read source files written both in Expr of Pfx. The compiler compiles from Expr to Pfx and executes the Pfx instructions in a small virtual machine.
Please refer to the pdf report at the root of the project which indexes the answers.
- There is still a bug in question 10.3 : we couldnt find how to decrement the index of a variable in the environment.
===============
Know bugs and issues
--------------------
- This is linked with the bug described earlier
- There is still a bug in question 10.3 : we couldnt find how to properly decrement the index of a variable in the environment (useful after applying a Binop or having an App(Fun(_,_),_) as argument in antoher App(Fun(_,_),_)).
===============
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
- …
- we used Stack Ocaml documentation to solve the problem of the environment for variables :
https://ocaml.org/learn/tutorials/pointers.html
https://ocaml.org/api/List.html
===============
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, …
- …
- We never got completly stuck in a problem, even if we were slowed down by some questions (math questions and question 10).