B.I.L.L.:  a simple Pascal-like interpreter  broken  down  into small  easy  pieces (tokenizer, parser,  symbol  table, etc...)