A global source file table that assigns an opaque ID to each processed source file. This helps keeping the source location lean and allow for simple querying of information.
A single location within a source file, expressed as a byte offset.
A manager for source files and their assigned IDs.
A span of locations within a source file, expressed as a half-open interval
A wrapper that associates a span with a value.
Get the global source manager.
An iterator that yields the characters from an input file together with the byte positions within the stream.