summaryrefslogtreecommitdiff
path: root/src/source_unit.rs
Commit message (Collapse)AuthorAge
* Definitions can only come from the same or a parent namespaceBen Bridle2025-02-10
| | | | | This commit fixes an error where a reference was being resolved by a definition in a child namespace.
* Support namespaces when resolving symbolsBen Bridle2025-02-08
| | | | | | A definition can resolve a reference in the same or a deeper namespace, allowing for proper scoping and shadowing. Multiple definitions in the same namespace cannot share a name.
* Fix displayed path when discovering librariesBen Bridle2025-02-08
| | | | | The path displayed for each discovered library was the path of the parent directory, not the path of the library file.
* Implement basic namespace support for SymbolsBen Bridle2025-02-08
|
* Implement Copy, Clone, Debug for some typesBen Bridle2025-02-08
|
* Add logging to gather functionsBen Bridle2025-02-05
| | | | | When gathering source files from paths, log each path traversed or parsed.
* Allow loading a source unit from a path with any extensionBen Bridle2025-02-05
| | | | | | | | Previously, the extension of a source file had to match the provided extension. This was unnecessarily limited, and prevented arbitrary text files from being passed as source files. If no extension is provided, any file can be loaded as a source file.
* 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.