a try with ocamllex
more implementations and a better way to accumulate strings