Hello. Let's consider the attached file. It splits a file at words "WHERE", reverses the order of the pieces, and concat them back. Trying to print the result, I got an error: : $cat test.ml : let _ = print_string "1\n"; flush stdout : WHERE : let _ = print_string "2\n"; flush stdout : $camlp4o ./syntax1.cmo pr_o.cmo test.ml : let _ = print_string "1\n"; flush stdout : WHERE : let _ = print_string "2\n"; flush stdoutUncaught exception: End_of_file But, the code works: : $ocamlc -pp "camlp4o ./syntax1.cmo" test.ml : $./a.out : 2 : 1 More complex code works as well, but the printing always fails. I suspect this is due to 'loc' values are not accendind. The error is displayed at ocaml-3.06 as well as ocaml-3.04 Max.