gitignore
simple example of interpreter and visitor design patterns