homework for the course:  PL101: Create Your Own Programming Language