The SWI-Prolog library for accessing structured files