Simple LL(1) parsing demo