BlockstreamResearch / simfony

Rust-like high-level language that compiles down to Simplicity bytecode. Work in progress.
26 stars 9 forks source link

Update parse tree #77

Closed uncomputable closed 2 months ago

uncomputable commented 2 months ago

Prepare the parse tree for fuzzing, which will come in a follow-up PR.

Move string types into a separate module. Implement PartialEq + Eq + std::hash::Hash for Simfony tree structures such that Span is ignored. Implement Display for the parse tree in an iterative fashion. Fix bugs that were discovered while fuzzing.

Lots of moves lines of code and mechanical changes.

apoelstra commented 2 months ago

In e34e58ee076ae8efcdc5eed45d48e9a9e422f0af:

nit: the commit message says you implement Display with a post-order iterator, but of course you actually use a pre-order iterator.