shingarov / Pharo-ArchC

Generate binutils from formal spec
MIT License
4 stars 1 forks source link

Support alternative `BitVector` implementations #21

Closed janvrany closed 1 year ago

janvrany commented 1 year ago

This PR reduces coupling between ArchC and MachineArithmetic in order to allow users to use alternative implementations of BitVector. This PR contains:

By default, ArchC still uses BitVector provided by MachineArithmetic.

janvrany commented 1 year ago

FYI @melkyades , @KenDickey

melkyades commented 1 year ago

Nice! I was reading Click's thesis the other day and thinking "I will have to implement bit vectors eventually". There's also a need for BitVector-based sets, they should be implemented on top of this, thanks for sharing!

janvrany commented 1 year ago

@melkyades I did it in a way that you may use the one I started implementing here. I do provide a separate baseline to allow loading just bitvector without pulling in whole ArchC.

janvrany commented 1 year ago

After an internal discussion, we decided to keep this work in separate branch at least for a while. So I'm closing this PR and will eventually open a new one. The code now lives in branch alternative-bitvector-implementation in my fork (https://github.com/janvrany/Pharo-ArchC/tree/alternative-bitvector-implementation)