Reading: Skim Chapter 1 of the text. This chapter gives you an overview of the standard compiler pipeline and talks about the application of compiler technology in general.
In this assignment you will get set up for building the Augusta project. Augusta is a small language based on Ada. It will serve throughout the course as a source of examples and exercises.
Proceed as follows:
Create an account on GitHub if you don't have one already. I recommend that you create a username that you wouldn't mind showing in a professional context (e.g., to potential employers). GitHub is widely used, and you can think of it as a portfolio of your work. You might also consider editing the settings on your account to include your real name and a suitable avatar. That would make your account look more legitimate.
Install a Git client on your development system if you don't have one installed already. For Windows, I recommend either the Git command line client or GitHub desktop. If you are using a Unix-like system (macOS or Linux), you can install the command line client from your distribution's package repository (try Homebrew on macOS).
Go to the Augusta project's page on GitHub. At this point you have two choices: you could clone the project directly, or you could create your own fork. To clone the project directly to your system, click on the green "Code" button to see the clone URL. Copy that to your Git client to pull a copy of the repository to your machine. For example:
$ git clone https://github.com/pchapin/augusta.git Augusta
Creating your own fork is appropriate if you foresee contributing back to the Augusta project via pull requests. It is more complicated, however, and not required for this course. You can always change your mind later.
Review the top-level README in the repository to understand the nature of the project and how to get set up to compile its artifacts. You can find the README in the root folder of the repository you just cloned to your system, or you can read it online.
Following the instructions in the README, do the following:
You do not need to do anything with LLVM at this time.
There is nothing to submit for this assignment.
Last Revised: 2025-01-23
© Copyright 2025 by Peter Chapin <peter.chapin@vermontstate.edu>