Skip to content

VU-Programming/copp-skeleton

Repository files navigation

Github

Do not post solution of this assignment online! This is considered plagiarism by the exam board (this holds for all courses at the VU unless specified otherwise). If you fork this repository, make it private!!

IJVM emulator assignment skeleton (Vrije Universiteit Amsterdam)

See https://vu-oofp.gitlab.io/website/ for the course content and more info.

Compiling

Requires make and Clang

Run make ijvm to build the ijvm binary

Running a binary

Run an IJVM program using ./ijvm binary. For example ./ijvm files/advanced/Tanenbaum.ijvm.

Adding header files

Add your header files to the folder include.

Testing

To run a specific test run make run_testX (e.g. make run_test1).

  • To run all basic tests, do make testbasic.
  • To run all advanced tests, do make testadvanced.
  • Check for memory leaks using make testleaks
  • Check for memory errors/ undeifned behavior make testsanitizers
  • To compile with pedantic flags: make pedantic

You can debug the tests by running running the binaries generated by make build_tests through GDB.

Handing in

Generate a zip of your project using the make zip command. Make sure to double check that all your required files are included in the tarball.

Tools

You can install the goJASM assembler by executing make tools. This will download a goJASM executable in the tools directory.