This is a skeleton for CS 111 Lab 1. Jason Jiang 604409327 Ji Min Kim 804255847 We implemented the program using tokens in order to keep track of each command character in a more organized fashion. An overview of our code is as follows Read in the input from the console and parse through it intially to remove all comments from the input Next tokenize the input string in order to make a linked list of tokens (linked tokens) that all have a trait (eg AND, WORD) which allows them to be easily processed later in the code Once the linked tokens are made, we iterate through those in order to make commands using an algorithm provided by the TA. With the commands successfuly made we then process those into a tree. We link these trees together to make a command stream With a command stream made, we then iterate through the command stream to print out the contents of the tree. ======================= Design Lab 1b ======================= We added a feature to the first debugging option (-v) that gives programmer an option to go through each command print out one by one instead of printing out everything at once. The original feature of -v prints out all the characters of the input script file that is being used for the specific program. Our improved feature will ask the programmer two things: 1) Go through every command individually 2) Execute the normal debugging function of sh -v (script_file) For the second debugging option (-x), we added a function that asks programmer to choose between two options: 1) Print out only the outputs that should be shown on command line when running the script file 2) Execute the normal debugging function of sh -x (script_file)