a tiny(I mean it) LL(1) thingy