<feed xmlns='http://www.w3.org/2005/Atom'>
<title>assembler/src/locators, branch v2.1.0</title>
<subtitle>Rust library for parsing assembly languages</subtitle>
<id>https://code.benbridle.com/assembler/atom?h=v2.1.0</id>
<link rel='self' href='https://code.benbridle.com/assembler/atom?h=v2.1.0'/>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/assembler/'/>
<updated>2025-03-11T03:18:01Z</updated>
<entry>
<title>Implement source chains</title>
<updated>2025-03-11T03:18:01Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-03-11T03:18:01Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/assembler/commit/?id=a9e9dd452e23fa2e816df926a56c1f743eb32488'/>
<id>urn:sha1:a9e9dd452e23fa2e816df926a56c1f743eb32488</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Implement Borrow and BorrowMut for Tracked</title>
<updated>2025-03-09T05:20:06Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-03-09T05:20:06Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/assembler/commit/?id=5e332adb606074da1976c8ce6e32b94ba222bc82'/>
<id>urn:sha1:5e332adb606074da1976c8ce6e32b94ba222bc82</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement Hash for Tracked</title>
<updated>2025-03-08T03:44:41Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-03-08T03:44:41Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/assembler/commit/?id=a319d78739b2efccd9f0688c6c0f070ed085f8a1'/>
<id>urn:sha1:a319d78739b2efccd9f0688c6c0f070ed085f8a1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add Tracked type</title>
<updated>2025-03-03T04:03:15Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-03-03T04:03:15Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/assembler/commit/?id=9e238ddaaa503210b8e079429a978edeccdef99c'/>
<id>urn:sha1:9e238ddaaa503210b8e079429a978edeccdef99c</id>
<content type='text'>
The Tracked type allows tagging an arbitrary type with a SourceSpan.
</content>
</entry>
<entry>
<title>Rename Position type to SourcePosition</title>
<updated>2025-02-08T21:20:32Z</updated>
<author>
<name>Ben Bridle</name>
<email>bridle.benjamin@gmail.com</email>
</author>
<published>2025-02-08T21:20:32Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/assembler/commit/?id=ed80c0abcdfc62d3d2f83ba53682693cb014c83d'/>
<id>urn:sha1:ed80c0abcdfc62d3d2f83ba53682693cb014c83d</id>
<content type='text'>
This better matches the naming convention of the other source locator
types, and better differentiates a SourcePosition from other kinds of
position.
</content>
</entry>
<entry>
<title>Implement source unit compilation, symbol resolution, error reporting</title>
<updated>2025-02-05T00:03:36Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-02-04T23:58:02Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/assembler/commit/?id=80da2af821385b2fc89091e9ac37a047349da4bd'/>
<id>urn:sha1:80da2af821385b2fc89091e9ac37a047349da4bd</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Implement a generic source code tokeniser</title>
<updated>2025-02-03T19:44:26Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-02-03T19:44:26Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/assembler/commit/?id=8d11be64f6c1747e7c4049105a6dd4ea9ab0d27f'/>
<id>urn:sha1:8d11be64f6c1747e7c4049105a6dd4ea9ab0d27f</id>
<content type='text'>
This is a struct that provides various methods for consuming characters
from a character stream and for tracking the provenance of each parsed
token.
</content>
</entry>
<entry>
<title>Rename locator sub-modules</title>
<updated>2025-02-03T19:39:24Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-02-03T19:38:56Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/assembler/commit/?id=8ccb5b96f51bcf8e1a1c3e81d1305ff08825f9b1'/>
<id>urn:sha1:8ccb5b96f51bcf8e1a1c3e81d1305ff08825f9b1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Initial commit</title>
<updated>2025-02-02T05:29:54Z</updated>
<author>
<name>Ben Bridle</name>
<email>ben@derelict.engineering</email>
</author>
<published>2025-02-02T05:29:43Z</published>
<link rel='alternate' type='text/html' href='https://code.benbridle.com/assembler/commit/?id=9f01e0717123785ad0350c68922ee5e85ea4a08e'/>
<id>urn:sha1:9f01e0717123785ad0350c68922ee5e85ea4a08e</id>
<content type='text'>
</content>
</entry>
</feed>
