I'm not an ANTLR expert, but it seems that if you've got fixed width data like this, then it's best to use regular string processing on the data first, to extract and convert the dynamic delimiters to static ones, and after that pass the processed result into ANTLR to do the rest with?