Bonus Marks


  • › Run the previous chapter’s code through gdb and crash it. See what happens.
  • › How do you give an enum a name?
  • › What are union data types and how do they work?
  • › What are the advantages over using a union instead of struct?
  • › Can you use a union in the definition of lval?
  • › Extend parsing and evaluation to support the remainder operator %.
  • › Extend parsing and evaluation to support decimal types using a double field.