1. Program Correctness (75%): The programs do everything that the lab requires. If you have a question about how a program handles a certain input, check the executables that have been provided.

    1. balance (75 points) deduct 25 points if stacks are not used
      • correctly computes the number of matching (), [], and {}'s if input is balanced (18 points)
      • correctly detects and prints the unmatched left symbols and their line numbers if there are unmatched left symbols (18 points)
      • correctly detects and prints an unmatched right symbol and its line number (18 points)
      • correctly detects and prints a mismatch between a left symbol and right symbol and prints their line numbers (18 points)
      • error checks (3 points)

  2. Commenting (15%): See the commenting information on the course's web page for advice on how to comment your programs,

  3. Program Style (10%): Are the programs well-organized and do they solve the problem in the most straightforward, efficient way possible?