CS 45 — Lab 0: Shell Refresher


Lab 0 Goals:

  • Revisit CS 31 shell lab.

Overview

Lab 1 of CS 45 will build upon the CS 31 shell assignment. I would strongly suggest that you (re)familiarize yourself with the requirements and behavior of that lab. You may find it helpful to reimplement part of that lab, for two reasons:

  1. You might not have programmed in C for a while, and

  2. You’re probably a better programmer now than when you took CS 31.

I would particularly suggest that you try to clean up (or reimplement) your parser, as that’s the component we’ll be extending first. If your parser is busted, nothing else will work, and you may not even be able to test other functionality.

If you’d like to start from (or just look over) the original starter code from CS 31, it’s available on GitHub.

This version has a few extra #includes that will be necessary for CS 45 features, and it also renames 31 to 45 in the file names. I don’t really care if you rename your shell from CS 31 to CS 45, but you will need the #includes!

Requirements

  • Prior to lab 1, you should have a shell implementation that meets the requirements of the CS 31 assignment. If you didn’t take CS 31 or otherwise never did the shell lab for some reason, please contact me ASAP!

Submitting

You don’t need to submit anything for this lab. Just make sure you have a CS 31-style shell ready.