summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Tidy codeBen Bridle2025-02-09
|
* 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.
* Log when a source file is merged into the resolverBen Bridle2025-02-08
|
* 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
|
* Display name of symbol instead of full token in error messagesBen Bridle2025-02-08
| | | | | | | | When reporting an undefined symbol, the full token string of the symbol was being displayed. This was fine for Bedrock, which had at most one symbol per token, but for Torque you can have multiple symbols extracted from the same source string. The symbol name is displayed instead.
* Update version to 1.1.0v1.1.0Ben Bridle2025-02-05
|
* 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.
* 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
|
* Update version to 1.0.0v1.0.0Ben Bridle2025-02-02
|
* Initial commitBen Bridle2025-02-02