An interpreter for a small grammar written in C