Skip to content

University course about the principles of compilation, building a compiler for the language scheme using ocamle.

Notifications You must be signed in to change notification settings

ItayAbuhazera/Compilation

Repository files navigation

Compiler Construction Project

Overview

This project, part of a Compiler Construction course, involves developing a compiler in OCaml and x86 assembly language. It's structured into three main assignments, each focusing on different compiler development aspects.

Assignments

Assignment 1

  • Objective: Implement specific sections in compiler.ml marked with raise (X_not_yet_implemented "hw 1").
  • Language: OCaml
  • Environment: Platform-independent

Assignment 2

  • Objective: Similar to Assignment 1, complete sections in compiler.ml indicated by raise (X_not_yet_implemented "hw 2").
  • Language: OCaml
  • Environment: Platform-independent

Final Project

  • Objective: Write x86 assembly code for Linux, finishing parts in compiler.ml tagged as raise (X_not_yet_implemented "final project").
  • Language: OCaml and x86 Assembly
  • Environment: Linux-specific
  • Tools: Includes compile_scheme_string, compile_scheme_file, and compile_and_run_scheme_string for testing and debugging.

General Guidelines

  • Work individually or in pairs.
  • Avoid plagiarism.
  • Commit to thorough testing and debugging.
  • Maintain clean and efficient code.

Testing

  • Regular testing is essential for effective debugging.
  • Utilize provided tools for testing assembly code.

Contribution

  • Ensure a clear understanding of each task.
  • Commit regularly and document changes effectively.

Refer to the detailed assignment document for in-depth instructions and requirements.

About

University course about the principles of compilation, building a compiler for the language scheme using ocamle.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published