summaryrefslogtreecommitdiff
path: root/src/locators
Commit message (Collapse)AuthorAge
* Large restructureBen Bridle2025-03-18
| | | | | Files were moved to be better organised, error messages were changed to be more general, and a Compiler type was added to the library.
* Implement source chainsBen Bridle2025-03-11
| | | | | | | | | | A SourceSpan can now contain a child SourceSpan, ad infinitum, in order to represent a chain of locations. The report_source_issue function has been changed to print the entire chain, instead of just one SourceSpan. The report_source_issue function has also been changed to correctly print SourceSpans that extend across multiple source lines.
* Implement Borrow and BorrowMut for TrackedBen Bridle2025-03-09
|
* Implement Hash for TrackedBen Bridle2025-03-08
|
* Add Tracked typeBen Bridle2025-03-03
| | | | The Tracked type allows tagging an arbitrary type with a SourceSpan.
* Rename Position type to SourcePositionBen Bridle2025-02-09
| | | | | | This better matches the naming convention of the other source locator types, and better differentiates a SourcePosition from other kinds of position.
* Implement source unit compilation, symbol resolution, error reportingBen Bridle2025-02-05
| | | | | | | | | | This library can now carry out all stages of assembly from collecting source fragments to resolving symbols to pruning unused libraries to generating a single compiled source file. Pretty-printing of state has also been implemented in this library. The source tree hierarchy, symbol resolution errors, and file read errors can all be printed in a tidy format.
* Implement a generic source code tokeniserBen Bridle2025-02-04
| | | | | | This is a struct that provides various methods for consuming characters from a character stream and for tracking the provenance of each parsed token.
* Rename locator sub-modulesBen Bridle2025-02-04
|
* Initial commitBen Bridle2025-02-02