pratt parser example, now with token class generator