rust packrat parser experiment