This assignment will be closed on December 22, 2025 (23:59:59).
You must be authenticated to submit your files

CSC 3F002 EP – Project

The assignment can be found in a PDF on Moodle.

The final deliverable for this project is a fully functional compiler for the extended BX language.

You may implement the compiler in Python or in any other programming language of your choice.

Your submission must include a one-page README that briefly explains your design choices and directs the reader to the relevant parts of your implementation.

If the compiler is written in Python:
If the compiler is written in another programming language:

If you want the generated assembly to be compiled on the submission server, place a file named ARCH at the root of your source directory. This file should contain either x86_64-linux-gnu (for Linux x86_64) or aarch64-linux-gnu (for Linux Aarch64). Note that Linux Aarch64 differs from Darwin Aarch64 in that symbol names (functions and global variables) do not require a leading underscore.

If you specify x86_64-linux-gnu, your program will be executed on the submission grader, and its output will be visible in the grader log.

You may also include a runtime library by adding a file named bxruntime.c at the root of the source tree. This runtime will be compiled and linked with your program automatically.

Collaboration Policy

You must work alone on the implementation. Thinking collectively and discussing ideas or strategies is allowed, but sharing code is strictly forbidden. Two submissions containing identical or nearly identical code will be treated as a violation of academic integrity.

Deadline

The final version of your project must be submitted no later than December 22, 2025.

Upload form is only available when connected